LinGoose简介
LinGoose是一个用Go语言构建AI和大型语言模型(LLM)应用的开源框架。它具有以下特点:
- 模块化设计,可按需导入所需模块
- 对各种功能进行抽象,可选择不同实现或自定义
- 提供完整解决方案,可从头开始构建AI/LLM应用
LinGoose的目标是简化AI应用开发流程,让开发者可以专注于业务逻辑。
快速开始
- 初始化Go模块:
mkdir example
cd example
go mod init example
- 创建第一个LinGoose应用:
package main
import (
"context"
"fmt"
"github.com/henomis/lingoose/llm/openai"
"github.com/henomis/lingoose/thread"
)
func main() {
myThread := thread.New().AddMessage(
thread.NewUserMessage().AddContent(
thread.NewTextContent("Tell me a joke about geese"),
),
)
err := openai.New().Generate(context.Background(), myThread)
if err != nil {
panic(err)
}
fmt.Println(myThread)
}
- 安装依赖:
go mod tidy
- 运行示例:
export OPENAI_API_KEY=your-api-key
go run .
学习资源
官方文档
核心概念
- Thread(线程)
- LLM(大语言模型)
- Embedding(嵌入)
- Loader(加载器)
- Index(索引)
- Cache(缓存)
- Observer(观察者)
- RAG(检索增强生成)
- Assistant(助手)
- Linglet(迷你应用)
代码示例
博客文章
社区资源
贡献指南
如果您想为LinGoose做出贡献,请阅读贡献指南了解更多详情。
LinGoose欢迎各种形式的贡献,无论是代码、文档还是创意。加入这个充满活力的开源社区,一起推动AI应用开发的未来!
希望这份学习资料汇总能帮助您快速上手LinGoose,开启AI应用开发的精彩旅程。如有任何问题,欢迎在GitHub上提出issue或加入Discord社区讨论。祝您使用愉快! 🚀