知识库处理器 (Knowledge Processor)
知识库处理器负责实现 RAG (Retrieval-Augmented Generation,检索增强生成)。它能够根据当前对话内容,从关联的知识库中检索相关片段并注入到上下文。
1. 工作原理
- 构建查询: 处理器取最近 N 轮对话,分别提取用户消息和 AI 回复,通过向量空间加权融合构建检索向量。
- 检索: 调用知识库管理系统进行检索。
- 召回与过滤: 根据 Agent 的配置(召回上限、最低分数阈值、字数上限)获取最相关的知识片段。
- 格式化注入: 将片段按预设模板组装,并注入到上下文的指定位置。
2. Agent 级配置
你可以在 Agent 编辑器的 「角色设定 -> 知识库 (RAG)」 面板中为每个 Agent 定制检索策略:
- 检索引擎:
vector: 语义检索,适合模糊匹配。fulltext: 关键词检索,适合精确匹配。hybrid: 混合模式。
- Embedding 模型: 统一使用知识库全局配置的 Embedding 模型(在知识库工具的设置中配置)。
- 结果模板:
- 示例:
[来自知识库 "{{kbName}}"]:\n{{content}} - 支持变量:
{count},{kbName},{key},{content},{score},{tags}。
- 示例:
3. 高级检索优化
- 标签门控 (Tag Gating): 只有当最近的消息中出现了特定标签(关键词)时,才触发对特定知识库的检索,避免无关内容干扰。
- 检索缓存: 开启后,完全相同的查询文本会直接复用之前的检索结果,节省 Token 和 API 响应时间。适用于同轮多占位符和重试场景。
- 上下文窗口: 取最近 N 轮对话(User + AI),分别向量化后加权融合为检索向量,提供比单条用户消息更丰富的语义上下文。
4. 调试与分析
如果你觉得 AI “胡言乱语”或没有引用知识库内容:
- 打开 上下文分析器。
- 在“结构化视图”中找到 「知识库结果」 类型的消息。
- 查看检索到的内容、相似度分数以及它在最终 Prompt 中的位置。