eino

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

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 开发框架 🍴 复刻 1164 🐛 待处理 324 👀 关注 77
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 13586
维护状态 活跃
是否开源 开源
定价模式 🏷️完全免费 开源框架,Apache-2.0 许可证,完全免费,无付费版本。

项目预览

eino 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类开发框架
开发团队cloudwego
定价模式🏷️完全免费
价格说明开源框架,Apache-2.0 许可证,完全免费,无付费版本。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议Apache-2.0
主要语言Go
技术栈/模型ai,ai-application,ai-framework,langchain,langchain-for-go,langchaingo,llm-application
GitHub 星标★ 13586
上线时间2024-12-04 00:00:00
代码更新2026-11-05
仓库体积15.4 MB
本站数据更新2026-11-09
维护状态活跃
收录时间2026-08-10
浏览次数8

项目介绍

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

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-10 · 当前星标 ★ 13586

技术标签

使用教程

⚠ 本教程由 AI 依据该项目 README 整理;原始文档不完整,部分步骤为通用流程推断,实际安装请以项目官方文档为准。

难度:进阶 约 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

上一篇:deepagents

下一篇:LLPhant

同类项目推荐

magpie 开源

菜单栏一键换模型,Codex 也能跑 DeepSeek

Every agent's model. One place. Codex on DeepSeek, Claude Code on Kimi, from the men···

★ 32219 2026-10-16
claude-desktop-cn 开源

让 Claude 桌面端说中文,本地代码管理更顺手

中文 Claude Desktop / Claude Code 桌面客户端:中文界面、本地 Code 工作区、GitHub 导入···

★ 270 2026-08-09
flow 开源

让 Claude 记住你的项目,告别每次从零开始

Turn isolated Claude sessions into a continuous working relationship

★ 99 2026-08-09
agentsilex 开源

300行代码,让你完全掌控AI智能体,无黑盒魔法

A transparent, minimal, and hackable agent framework. ~300 lines of readable code. F···

★ 458 2026-08-09
langchain-rust 开源

用 Rust 写 LLM 应用,类型安全、性能好、部署轻

️LangChain for Rust, the easiest way to write LLM-based programs in Rust

★ 1362 2026-09-12
panes 开源

几步搞定弹窗卡片面板,任意框架通用

Create dynamic modals, cards, panes for your applications in few steps. Any framewor···

★ 729 2026-08-09
cookiecutter-fastapi 开源

一条命令生成带 ML、CI/CD 的 FastAPI 项目骨架

Cookiecutter template for FastAPI projects using: Machine Learning, uv, Github Actio···

★ 709 2026-08-09
aikit 开源

不绑 SDK 的 AI 聊天 UI 库,换模型前端不用重写

A comprehensive, SDK-agnostic UI library built on Atomic Design principles. Create b···

★ 171 2026-10-08