这里eino 框架学习的相关总结,方便后续学习和记忆
组件
- ChatModel:与大模型交互的核心组件,支持生成式对话(Generate)和流式输出(Stream),部分实现还支持工具调用(ToolCallingChatModel)
- Tool:扩展大模型能力的工具,可调用外部 API、数据库、文件系统等,支持同步(Invoke)和流式(Stream)两种范式
- Retriever:从向量库或文档库中检索与查询相关的文档片段,常用于 RAG 场景。
- Embedding:将文本转换为向量表示,用于语义搜索和向量索引。
- Indexer:负责存储和索引文档向量,支持 Redis、Milvus 等向量数据库。
- Document Loader:加载并解析多种格式的原始文档(如 PDF、Markdown、TXT 等),统一为schema.Document 结构。
- Document Transformer:对文档进行切分、过滤或格式转换,如按标题、递归或语义切分。
- ChatTemplate:管理提示词模板,支持 FString、GoTemplate、Jinja2 等语法,便于动态构建系统提示
基础知识 or 概念扫盲
| 角色 | 作用 |
|---|
| system | 系统指令,设定 AI 的行为、角色、约束规则(如"你是专业助手") |
| user | 用户输入,代表人类的问题或指令 |
| assistant | AI 模型的回复内容 |
| tool | 工具执行返回的结果(如查询天气后的返回数据) |
system: 你是一个天气助手,用中文回答
↓
user: 北京今天天气怎么样?
↓
assistant: [思考中... 需要调用工具] → ToolCalls 触发 get_weather
↓
tool: {"temperature": "25°C", "condition": "晴"}
↓
assistant: 北京今天晴天,25°C,适合外出
本文作者:曹子昂
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA
许可协议。转载请注明出处!