eino

用 Go 构建 LLM 应用,像搭积木一样编排 AI 工作流。

Eino 是专为 Go 语言打造的 LLM/AI 应用开发框架,旨在成为 Go 生态中的 LangChain 替代品。它解决了 Go 开发者构建复杂 AI 应用时缺乏成熟编排工具的问题,提供组件化、可扩展的架构,支持模型、检索、工具、记忆等核心抽象,并内置了流程编排、状态管理和流式处理能力。Eino 强调类型安全、性能优化和原生 Go 体验,让开发者能够以声明式方式组合 AI 工作流,快速构建 RAG、Agent 等应用。其核心能力包括:统一的组件接口、灵活的图编排引擎、内置的流式处理和并发原语,以及丰富的官方扩展。

开源 free 开发框架
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 13137
维护状态 活跃
是否开源 是
定价模式 free

项目数据

分类开发框架
开发团队cloudwego
所属国家
定价模式free
价格说明开源框架,Apache-2.0 许可证,完全免费,无付费版本。
访问状态
是否开源是
开源协议Apache-2.0
主要语言Go
技术栈/模型ai,ai-application,ai-framework,langchain,langchain-for-go,langchaingo,llm-application
GitHub 星标★ 13137
30天Star增速
HF 下载量
上线时间2024-12-04 00:00:00
最近更新2026-09-22 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-10
浏览次数6

使用教程

难度:进阶 约 15 分钟 部署方式:库/依赖 6 步

⚠ 该项目 README 未提供完整安装说明,以下步骤为通用流程,请以官方文档为准。

环境要求

  • 本机已安装 Go 工具链(README 未注明最低版本)
  • 能访问 GitHub / Go 模块代理以下载依赖
  • 使用 OpenAI 模型时需要一个可用的 OpenAI API Key
  • 具备基本的 Go 语言与模块(go mod)使用经验

安装与启动步骤

  1. 1准备 Go 环境

    确认本机 go 命令可用,并配置好 GOPROXY;README 未给出具体的版本要求。

    go version
  2. 2初始化 Go 模块

    新建一个空目录并在其中初始化 Go 模块,作为 Eino 示例工程。

    mkdir eino-demo && cd eino-demo
    go mod init eino-demo
  3. 3引入 Eino 依赖

    把 cloudwego/eino 加入模块依赖;README 未直接给出该命令,此处按 Go 模块惯例推断。

    go get github.com/cloudwego/eino
  4. 4配置模型密钥

    把 OpenAI 密钥写入环境变量 OPENAI_API_KEY,示例代码通过该变量读取。

    export OPENAI_API_KEY=sk-xxxxxxxx
  5. 5编写示例代码

    在 main.go 中写入 README 的 ChatModelAgent 示例逻辑,import 需自行补全。

    chatModel, _ := openai.NewChatModel(ctx, &openai.ChatModelConfig{
        Model:  "gpt-4o",
        APIKey: os.Getenv("OPENAI_API_KEY"),
    })
    
    agent, _ := adk.NewChatModelAgent(ctx, &adk.ChatModelAgentConfig{
        Model: chatModel,
    })
    
    runner := adk.NewRunner(ctx, adk.RunnerConfig{Agent: agent})
    iter := runner.Query(ctx, "Hello, who are you?")
    for {
        event, ok := iter.Next()
        if !ok {
            break
        }
        fmt.Println(event.Message.Content)
    }
  6. 6运行程序

    执行 main.go,观察 agent 输出的回复内容。

    go run main.go

关键配置

配置项必填说明示例
OPENAI_API_KEY是OpenAI 密钥,示例代码通过环境变量读取sk-xxxxxxxx
Model是传给 ChatModelConfig 的模型名称gpt-4o

如何确认成功

程序运行后终端持续打印 agent 返回的消息内容(Message.Content),即表示模型与 Runner 已正常工作。

常见问题

Q:只能使用 OpenAI 的模型吗?

A:不是。README 指出组件层除 OpenAI 外还有 Ollama 等官方实现,可替换 ChatModel 后复用同样的 Agent 与 Runner 逻辑,具体见 eino-ext 仓库。

Q:不配置 API Key 会怎样?

A:示例代码通过 os.Getenv("OPENAI_API_KEY") 读取密钥,该变量为空时调用模型会失败,因此使用 OpenAI 模型前必须配置真实密钥。

Q:README 里没有安装步骤怎么办?

A:README 只给了 Quick Start 代码,没有安装命令。可先按 Go 模块方式引入依赖,再参考官网文档与 eino-examples 中的可运行示例补全工程。

Q:工具(Tool)能力怎么加?

A:README 提到可以在配置 ChatModel 之后加入工具以赋予 agent 能力,但截取内容未给出具体代码,需查看官网文档或 eino-examples 的对应示例。

注意事项

  • README 未提供完整安装说明与 Go 版本要求,本教程中的 go mod / go get 命令是按 Go 模块惯例推断的,请以官网文档为准。
  • README 示例代码没有 import 与 package 声明,实际编写 main.go 时需自行补全所需包路径。
  • 更多 Agent、工具与编排的完整可运行代码见 README 中链接的 eino-examples 仓库。

核心亮点

  • 原生 Go 实现,性能高,类型安全,无运行时依赖
  • 提供图编排引擎,支持复杂流程的声明式组合
  • 组件化设计,模型、检索、工具等可插拔替换

不足之处

  • 生态相对年轻,第三方集成数量不如 LangChain
  • 文档和社区资源仍在完善中

适用场景

  • 在 Go 微服务中集成 RAG 问答能力
  • 构建企业级 AI Agent 工作流编排
  • 需要高性能、低延迟的 LLM 应用后端

替代项目

LangChain、LlamaIndex、Haystack

项目介绍

eino 是开发框架领域的开源项目,由 cloudwego 开发,2024 年首次发布。

在全站 13,014 个收录项目中,它的 GitHub 星标数(13,137)位列前 4%,在开发框架分类的 795 个项目里位列前 4%。

近 44 天,它的 GitHub 星标从 12,654 增加到 13,137,净增 483。

项目目前处于活跃维护状态,最近一次代码更新于 2026-09-22。Apache-2.0 许可证,完全免费,无付费版本。

它主要面向的使用场景是:在Go微服务中集成RAG问答能力。同类可对比的替代方案包括 LangChain、LlamaIndex、Haystack。

上一篇:deepagents

下一篇:LLPhant

同类项目推荐

langchain 开源

组装 AI 应用的乐高积木,从想法到上线不换工具

The agent engineering platform.

★ 146874 2026-08-09
transformers 开源

全球最大的模型仓库全家桶,想用的模型一把抓

Transformers: the model-definition framework for state-of-the-art machine learning m···

★ 166529 2026-08-09
pi 开源

一套 TypeScript 工具包,快速搭出能写代码的 AI agent

AI agent toolkit: unified LLM API, agent loop, TUI, coding agent CLI

★ 108504 2026-09-12