Eino:快速开始
简要介绍
Eino 为 AI 应用开发场景提供了多种组件抽象,并配套提供了多种实现,使得使用 Eino 快速开发应用变得 非常简单。本目录下提供了几种最常见的 AI 应用构建示例,帮助你快速上手使用 Eino。
这些小应用示例仅用于快速入门。若需了解更详细的介绍以及各项能力的独立示例,请参阅专门文档,例如 Eino:组件 和 Eino:链式与图式编排。
💡 Fornax Trace(Fornax 观测)使用说明:
Eino 的观测能力默认基于 Fornax Trace 实现(以下示例未包含启用观测的相关代码):
- 当使用链式 / 图式编排时,可注册全局的
EinoCallback
切面,以 Trace 形式上报节点的输入输出相关信息。具体用法参见:Eino:Callback 使用手册。- 如果只使用 Eino 组件而不使用编排能力,则需要在调用组件时通过
callbacks.InitCallbacks
手动注入 Callback 管理器信息,才能启用组件切面的 Trace 上报能力(仅适用于已实现切面的组件)。详细用法参见:Eino:Callback 使用手册。
快速上手示例
示例:最简单的 LLM 应用
在 AI 应用中,最基本的场景是 “Prompt + Chat Model” 场景,这也是目前各大 AI 应用平台提供的最核心功能。你可以定义一个 System Prompt 来约束 LLM 的响应逻辑,例如:“你正在扮演 XXX 的角色”。在本示例中,你可以使用 Eino 的 PromptTemplate
组件和 ChatModel
组件构建一个角色扮演类的应用。
示例:创建一个 Agent
LLM 是 AI 的大脑,其核心是理解自然语言并进行响应。一个(文本类)LLM 本身只能接收一段文本,然后输出一段文本。如果你希望 LLM 能使用一些工具来获取所需信息或自行执行某些动作,就需要引入 Tool。有了 Tool 的 LLM 就像有了手和脚,能够与现有 IT 系统进行交互,例如:“调用 HTTP 接口查询天气,然后根据天气提醒你穿什么衣服”。这就需要 LLM 能调用一个 “搜索工具” 来完成信息查询。
我们通常称这种能基于 LLM 输出调用工具的系统为 “Agent”。
在 Eino 中,你可以使用 ChatModel + ToolsNode
来实现一个 Agent,也可以使用封装好的 react agent
或 multi agent
。
本示例将使用 react agent
构建一个能与真实世界交互的 Agent。