Skip to content

知识库处理器 (Knowledge Processor)

知识库处理器负责实现 RAG (Retrieval-Augmented Generation,检索增强生成)。它能够根据当前对话内容,从关联的知识库中检索相关片段并注入到上下文。

1. 工作原理

  1. 构建查询: 处理器取最近 N 轮对话,分别提取用户消息和 AI 回复,通过向量空间加权融合构建检索向量。
  2. 检索: 调用知识库管理系统进行检索。
  3. 召回与过滤: 根据 Agent 的配置(召回上限、最低分数阈值、字数上限)获取最相关的知识片段。
  4. 格式化注入: 将片段按预设模板组装,并注入到上下文的指定位置。

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 “胡言乱语”或没有引用知识库内容:

  1. 打开 上下文分析器
  2. 在“结构化视图”中找到 「知识库结果」 类型的消息。
  3. 查看检索到的内容、相似度分数以及它在最终 Prompt 中的位置。

相关阅读

Released under the Apache-2.0 License.