用途:Eino 是 Go 语言构建 LLM 应用的框架。本指南用于回答 Eino 的总体问题、入门与概念导航,并在问题具体时路由到 /eino-component(组件)、/eino-compose(编排)、/eino-agent(智能体)等子技能。
主要能力与结构: 一、组件层:为 AI 能力提供标准化接口,每种接口有多种可互换实现。包含 ChatModel(LLM 推理,生成/流式,接口 model.BaseChatModel、model.ToolCallingChatModel)、Tool(tool.InvokableTool、tool.EnhancedInvokableTool)、Embedding(embedding.Embedder)、Retriever(retriever.Retriever)、Indexer(indexer.Indexer)、ChatTemplate(prompt.ChatTemplate)、Document Loader/Transformer、Callback Handler(callbacks.Handler)。实现位于 eino-ext,覆盖 OpenAI、Claude、Gemini、Ark、Ollama、Milvus、Redis、Elasticsearch 等。 二、编排层(Compose):三种 API,均编译为 Runnable[I, O],具备 Invoke、Stream、Collect、Transform 四种执行模式。Graph 用于有向图并支持环(如 ReAct 等含分支、循环的复杂流程);Chain 用于线性顺序管道(如模板→模型);Workflow 为带字段级映射的 DAG,用于并行分支与结构体字段路由。编排层自动处理类型检查、节点间流转换、并发、回调注入与选项分发。 三、ADK(智能体开发套件):封装模型-工具-循环模式,含 ChatModelAgent(ReAct 式智能体)、DeepAgent(预置,带文件系统后端、工具搜索、摘要)、Runner(执行智能体、管理检查点、发出事件流)、中间件、Interrupt/Resume 人工介入、AgentTool(把智能体包装为可被其他智能体调用的工具)。 四、Schema:跨层共享类型,包括 schema.Message、schema.Document、schema.ToolInfo、schema.StreamReader[T]。使用流时始终 defer stream.Close()。
仓库与包:核心为 github.com/cloudwego/eino(接口、schema、编排引擎、ADK、回调);实现为 github.com/cloudwego/eino-ext(模型提供方、向量存储、工具、回调处理器),其中 adk/backend/local 提供 DeepAgent 的本地文件系统后端。
选择方式:单次模型调用直接用 ChatModel;带工具的多轮智能体用 ChatModelAgent + Runner;生产级带文件系统与工具搜索的智能体用 DeepAgent;线性管道用 Chain;含分支或循环的复杂流程用 Graph;带字段映射的并行分支用 Workflow;RAG 用 Indexer + Retriever + Embedding;需人工审批用 Interrupt/Resume + Runner;可观测与追踪用回调处理器。
参考文件:reference/schema.md(核心数据类型)、reference/runnable.md(Runnable 接口与四种执行模式、运行时选项)、reference/quick-start.md(ChatModel、Agent+Runner、Chain 三个完整示例)。
使用要求与限制:代码示例应使用 github.com/cloudwego/eino 与 github.com/cloudwego/eino-ext 的真实导入路径;生成组件实现代码前先阅读对应提供方的参考文件,不要假设构造函数或配置命名约定;智能体场景优先使用 ADK 而非手工用 compose 图搭 ReAct;交互式多轮应用可推荐 TurnLoop。本条目具体命令、收费、价格与平台信息暂未提供。