# 知识检索

从知识库中检索相关的知识片段。支持三种检索方式:向量检索(语义相似度)、关键词检索(全文匹配)和混合检索(两者结合)。可选启用 AI 摘要功能,对检索结果生成简洁的回答。

# 创建知识库

在使用知识检索之前,需要先在【知识库管理】中创建知识库。创建时需配置以下选项:

  • 名称:知识库的名称。

  • 描述:知识库的描述说明。

  • 文件:上传要索引的文档文件。

  • LLM 凭据:选择一个 LLM API Key 凭据,该提供商的嵌入模型将用于对文档内容进行向量化。可在【凭据管理】中创建 LLM API Key 凭据。

  • 向量数据库:选择用于存储嵌入向量的向量数据库,默认提供内置向量数据库(builtin-vec-db)。

  • 分块大小(Chunk Size):每个文档分块的最大字符数,默认 1024。

  • 分块重叠(Chunk Overlap):相邻分块之间重叠的字符数,默认 50。

  • 分隔符(Separator):用于分割文档的分隔符,默认 \n\n(双换行)。

  • Top K:检索时默认返回的片段数量。

  • 分数阈值(Score Threshold):检索结果的最小相关度分数阈值。

创建知识库后,系统会自动执行以下操作:

  1. 根据配置的分块大小、重叠和分隔符,将上传的文档分割为多个片段。
  2. 使用所选 LLM 提供商的嵌入模型为每个片段生成嵌入向量。
  3. 将向量存储到向量数据库中,用于语义检索。
  4. 为每个片段构建全文索引,用于关键词检索。

您可以随时查看知识库的分片详情,也可以更新或删除知识库。

# 入参

  • Knowledge(必填):选择要检索的知识库。知识库在【知识库管理】中创建和管理,可上传文档并配置分块策略。

  • Input(必填):要在知识库中搜索的查询文本。可使用变量表达式集成其他应用节点的输出。

  • Search Method:检索算法,默认为 vector

    方法 说明
    vector 语义向量检索 — 使用嵌入模型查找语义相似的文档,适合自然语言查询。
    keyword 全文关键词检索 — 查找包含查询关键词的文档,适合精确术语匹配。
    hybrid 混合检索 — 结合向量检索和关键词检索,加权评分(向量权重 0.7,关键词权重 0.3),适合综合检索。
  • Top K:返回的最大知识片段数量。

  • LLM Model:选择用于 AI 摘要的大语言模型。启用 AI 摘要后,检索到的文档将由该模型总结为简洁回答。

  • AI Summarize:是否启用 AI 摘要。启用后,大语言模型将根据检索到的知识片段生成摘要回答。

# 出参

返回包含 AI 生成的回答(如启用摘要)和检索到的文档片段列表:

{
  "answer": "法国的首都是巴黎,以埃菲尔铁塔闻名。",
  "docs": [
    {
      "segmentId": 1,
      "score": 0.95,
      "pageContent": "巴黎是法国的首都,以埃菲尔铁塔闻名..."
    },
    {
      "segmentId": 5,
      "score": 0.82,
      "pageContent": "法国是西欧国家,首都巴黎..."
    }
  ]
}
字段 说明
answer AI 生成的摘要回答(未启用 AI 摘要时为空)
docs 检索到的知识片段数组
docs[].segmentId 知识库中的片段 ID
docs[].score 相关度评分(0–1,越高越相关)
docs[].pageContent 知识片段的文本内容

# 工作原理

# 向量检索

  1. 输入查询通过配置的 LLM 提供商的嵌入模型转换为向量。
  2. 将该向量与知识库中预索引的文档向量进行对比。
  3. 返回余弦相似度最高的 Top K 个片段。

# 关键词检索

  1. 输入查询使用支持中英文的 Unicode 分词器进行分词。
  2. 对索引的文档片段执行全文搜索。
  3. 返回相关度最高的 Top K 个匹配片段。

# 混合检索

  1. 同时执行向量检索和关键词检索(各检索 2×TopK 条结果)。
  2. 按 SegmentID 合并结果。
  3. 计算加权最终得分:0.7 × 向量分数 + 0.3 × 关键词分数
  4. 按最终得分降序排序,返回 Top K 个片段。
lastUpdated: 2026/7/14 13:48:11