项目已停止活跃开发,新项目作者建议改用 Phero;运行示例需自行设置 OPENAI_API_KEY 环境变量;需先初始化 Go module 再执行 go mod tidy 拉取依赖

lingoose
henomisMIT更新放缓用 Go 语言构建 AI/LLM 应用的框架,提供 prompt 管理、向量索引、pipeline 编排和 OpenAI、Pinecone 等集成,省去自己拼装各组件的工作。
🪿 LinGoose is a Go framework for building awesome AI/LLM applications.
mkdir example && cd example && go mod init example
go mod tidy
export OPENAI_API_KEY=your-api-key
go run .README 未说明,框架本身调用远程 LLM API,无需本地 GPU 或显存
Go 语言构建 AI/LLM 应用的模块化框架,按需引入模块并自由替换实现
用 Go 语言构建 AI/LLM 应用的框架,提供 prompt 管理、向量索引、pipeline 编排和 OpenAI、Pinecone 等集成,省去自己拼装各组件的工作。
核心能力
- 模块化设计,只导入应用所需模块
- 对功能做抽象,可自选或自建实现
- 提供 thread 与 message 抽象组织对话上下文
- 内置 OpenAI LLM 实现,可直接生成回复
- 覆盖从零搭建 AI/LLM 应用的完整方案
容易踩的坑
- v0.3.0最新正式版2024-11-02 · 2024-11-02 17:42 UTC
What's Changed
- v0.3.0 by @henomis in https://github.com/henomis/lingoose/pull/221
- Fix the vector embedding for Pgvector by @ollyw in https://github.com/henomis/lingoose/pull/219
- fix typo by @henomis in https://github.com/henomis/lingoose/pull/222
New Contributors
- @ollyw made their first contribution in https://github.com/henomis/lingoose/pull/219
Full Changelog: https://github.com/henomis/lingoose/compare/v0.2.0...v0.3.0
- v0.2.1-alpha.2pre-release2024-09-10 · 2024-09-10 16:50 UTC
查看更新说明
What's Changed
- Add openai response type by @henomis in https://github.com/henomis/lingoose/pull/199
Full Changelog: https://github.com/henomis/lingoose/compare/v0.2.0-alpha.1...v0.2.1-alpha.2
- v0.2.1-alpha.1pre-release2024-06-28 · 2024-06-28 14:00 UTC
这个版本没有写更新说明。
- v0.2.02024-05-20 · 2024-05-20 06:36 UTC
查看更新说明
What's Changed
- fix: groq api key env var by @henomis in https://github.com/henomis/lingoose/pull/188
- Fix function calling for streaming by @akshaylb in https://github.com/henomis/lingoose/pull/169
- Add observer by @henomis in https://github.com/henomis/lingoose/pull/190
- Add observer to all the llms by @henomis in https://github.com/henomis/lingoose/pull/191
- Update openai models by @henomis in https://github.com/henomis/lingoose/pull/192
- update readme adding blog posts by @henomis in https://github.com/henomis/lingoose/pull/193
- Refactor observer by @henomis in https://github.com/henomis/lingoose/pull/194
- Implement embeddings observer by @henomis in https://github.com/henomis/lingoose/pull/195
- Implement assistant and rag observer span by @henomis in https://github.com/henomis/lingoose/pull/196
- Store observer in context by @henomis in https://github.com/henomis/lingoose/pull/197
- Update dall-e openai support by @henomis in https://github.com/henomis/lingoose/pull/198
- Add openai response type by @henomis in https://github.com/henomis/lingoose/pull/199
New Contributors
- @akshaylb made their first contribution in https://github.com/henomis/lingoose/pull/169
Full Changelog: https://github.com/henomis/lingoose/compare/v0.1.2...v0.2.0
- v0.2.0-alpha.1pre-release2024-05-18 · 2024-05-18 17:06 UTC
查看更新说明
What's Changed
- fix: groq api key env var by @henomis in https://github.com/henomis/lingoose/pull/188
- Fix function calling for streaming by @akshaylb in https://github.com/henomis/lingoose/pull/169
- Add observer by @henomis in https://github.com/henomis/lingoose/pull/190
- Add observer to all the llms by @henomis in https://github.com/henomis/lingoose/pull/191
- Update openai models by @henomis in https://github.com/henomis/lingoose/pull/192
- update readme adding blog posts by @henomis in https://github.com/henomis/lingoose/pull/193
- Refactor observer by @henomis in https://github.com/henomis/lingoose/pull/194
- Implement embeddings observer by @henomis in https://github.com/henomis/lingoose/pull/195
- Implement assistant and rag observer span by @henomis in https://github.com/henomis/lingoose/pull/196
- Store observer in context by @henomis in https://github.com/henomis/lingoose/pull/197
- Update dall-e openai support by @henomis in https://github.com/henomis/lingoose/pull/198
New Contributors
- @akshaylb made their first contribution in https://github.com/henomis/lingoose/pull/169
Full Changelog: https://github.com/henomis/lingoose/compare/v0.1.2...v0.2.0-alpha.1
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
[!IMPORTANT] Hey there, LinGoose friend 🪿
First of all, thank you for being here. LinGoose has been a fun journey and I am proud of what it became.
The honest news: LinGoose is no longer under active development. Life got busy, the AI world moved fast, and I found myself wanting to build something new rather than patch something old.
That something new is Phero 🐜, a Go framework built from the ground up for multi-agent AI systems. Same values, better foundation, a lot more ambition.
LinGoose is not going anywhere. It will stay here, stable and available. But if you are starting something new, come join the ant colony.

🪿 LinGoose

What is LinGoose?
LinGoose is a Go framework for building awesome AI/LLM applications.
- LinGoose is modular — You can import only the modules you need to build your application.
- LinGoose is an abstraction of features — You can choose your preferred implementation of a feature and/or create your own.
- LinGoose is a complete solution — You can use LinGoose to build your AI/LLM application from the ground up.
Did you know? A goose 🪿 fills its car 🚗 with goose-line ⛽!
🚀 Support the project by starring ⭐ the repository on GitHub and sharing it with your friends!
Quick start
mkdir example
cd example
go mod init example
- Create your first LinGoose application
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)
}
- Install the Go dependencies
go mod tidy
- Start the example application
export OPENAI_API_KEY=your-api-key
go run .
A goose fills its car with goose-line!
Reporting Issues
If you think you've found a bug, or something isn't behaving the way you think it should, please raise an issue on GitHub.
Contributing
We welcome contributions, Read our Contribution Guidelines to learn more about contributing to LinGoose
Blog posts and articles
- Anthropic's Claude Integration with Go and Lingoose
- Empowering Go: unveiling the synergy of AI and Q&A pipelines
- Leveraging Go and Redis for Efficient Retrieval Augmented Generation
Connect with the author
Join the community
License
© Simone Vellei, 2023~time.Now()
Released under the MIT License