# Tutorial 10: 生态与生产实践 ## 仓库与生态 - **Eino Core**([github.com/cloudwego/eino](https://github.com/cloudwego/eino)):类型、组件接口、编排、ADK、预置 Flow。 - **EinoExt**([github.com/cloudwego/eino-ext](https://github.com/cloudwego/eino-ext)):各组件的**具体实现**与生态集成。 - **EinoExamples**([github.com/cloudwego/eino-examples](https://github.com/cloudwego/eino-examples)):示例应用与最佳实践。 参考:[Eino User Manual](https://www.cloudwego.io/docs/eino/)、[Eino Ecosystem Integration](https://www.cloudwego.io/docs/eino/)。 ## 典型集成(EinoExt) 以下均在 Eino 文档的 **Ecosystem Integration** 中有对应条目,实现位于 eino-ext: | 类别 | 示例 | |------|------| | **Embedding** | ARK、OpenAI、DashScope、Ollama、Qianfan、TencentCloud | | **ChatModel** | OpenAI、Claude、Gemini、DeepSeek、Qwen、Ollama、Qianfan、ARK、AgenticModel | | **Tool** | MCP、DuckDuckGo/Google/Bing 搜索、Wikipedia、HTTP、Commandline、Browseruse、sequentialthinking | | **Callback** | CozeLoop、Langfuse、APMPlus | | **Indexer / Retriever** | Elasticsearch 7/8/9、Milvus v1/v2、OpenSearch、Redis、Volc VikingDB、Dify、Volc Knowledge | | **Document** | Loader(S3、本地、URL)、Parser(HTML、PDF)、Splitter(Recursive、Semantic、Markdown) | 集成时通常:在业务代码中引用 eino-ext 的对应包,创建具体实现(如 `openai.NewChatModel(...)`),再注入到 Chain/Graph/Agent 中。 ## 可观测性与回调 Eino 的 **Callback / Aspect** 系统提供多粒度钩子,便于打点、日志与监控: - **生命周期**:如 OnStart、OnEnd、OnError 等(具体以文档为准)。 - **粒度**:全局、图级、节点级、按类型(如所有 ChatModel 节点)。 文档:[Eino: Callback Manual](https://www.cloudwego.io/docs/eino/)、[Callback and Aspect System](https://deepwiki.com/cloudwego/eino)。 将 Eino 与 Langfuse、CozeLoop、APMPlus 等对接时,通常通过注册相应 Callback 实现,把请求/响应/延迟/错误上报到现有可观测平台。 ## 开发与调试工具 - **Eino Dev**:插件与可视化编排、调试(图结构、数据流、断点等)。 - 文档:[Eino Dev Plugin](https://www.cloudwego.io/docs/eino/)、[Visual Orchestration](https://www.cloudwego.io/docs/eino/)、[Visual Debugging](https://www.cloudwego.io/docs/eino/)。 ## 生产实践建议 1. **配置外置**:API Key、端点、超时等从环境变量或配置中心读取,不要写死在代码中。 2. **错误与重试**:对模型、向量库、工具调用设置合理重试与熔断,避免级联故障。 3. **可观测**:为关键 Agent/图注册 Callback,输出到现有日志与 APM。 4. **检查点与恢复**:对长会话或 Human-in-the-Loop 使用 CheckPoint,并定期清理过期状态。 5. **依赖版本**:锁定 eino / eino-ext 版本,在 CI 中跑测试与 lint(如 `golangci-lint`)。 ## 小结 - Eino 生态由 Core + EinoExt + EinoExamples 组成;生产功能多依赖 EinoExt 的模型、向量库、工具等实现。 - 可观测性通过 Callback/Aspect 与第三方(Langfuse、APMPlus 等)集成。 - Eino Dev 支持可视化编排与调试;生产部署需注意配置、错误处理、观测与版本管理。 --- **相关链接** - [Eino User Manual \| CloudWeGo](https://www.cloudwego.io/docs/eino/) - [cloudwego/eino \| GitHub](https://github.com/cloudwego/eino) - [cloudwego/eino \| DeepWiki](https://deepwiki.com/cloudwego/eino)