Skip to content

知识库检索节点

知识库检索节点根据 String 类型的 Query,从选定知识库中召回最匹配的内容片段,并以 outputList 列表返回。它适合需要确定执行一次检索、再由后续节点处理召回内容的工作流。

与在大模型节点中挂载知识库不同,本节点由工作流明确触发,不由模型决定是否检索;它本身也不会生成最终答案。

当前功能与旧文档差异

当前编辑器与旧文档中的部分默认值和限制已经不同:

  • 最大召回数量当前默认 3,不是旧文档中的 5;可设置范围为 1~20。
  • 查询改写当前默认关闭,不是旧文档中的默认开启。
  • 结果重排当前默认开启,最小匹配度默认 0.5。
  • Query 可以填写固定值,也可以引用开始节点或上游 String 变量,不再要求必须引用上游输出。
  • 一个节点最多可以选择 20 个知识库。当前选择器同时提供资源库知识库和企业知识库入口,没有展示旧文档中的“只能选择同一来源类型”提示。
  • 当前节点面板不提供旧第三方知识库标签过滤器,也不展示固定接口 QPS。

跨来源组合知识库时,应通过实际试运行确认运行服务支持,不要仅根据选择器允许添加就推断所有后端组合均有效。

配置示例

本示例检索 java知识库,Query 为“如何配置知识库写入节点?”。

知识库检索节点输入与目标知识库

示例保留当前新建节点的默认检索设置:混合检索、最大召回数量 3、最小匹配度 0.5、结果重排开启。

知识库检索设置与输出

输入

参数类型当前要求
QueryString必填。可以直接填写固定问题,也可以引用开始节点、上游节点或可读变量。名称和类型不可修改。

Query 应尽量表达明确的检索目标。若用户输入包含代词、省略或多轮上下文,可在对话流中使用会话历史,或开启查询改写。

选择知识库

知识库选择器提供:

  • 资源库知识库:当前工作空间中的 AIOS 知识库。
  • 企业知识库:企业知识库树中具备检索能力的知识库。

一个节点最多选择 20 个目标。知识库为空时,工作流校验会提示添加知识库。

选择范围越大不一定越准确。不同领域资料应尽量拆分到不同检索节点,或先通过分类、意图识别选择检索范围,避免互不相关的内容竞争召回名额。

搜索策略

策略适用场景
语义关注含义相近、表达方式不同或跨语言的查询。
混合结合语义和全文检索,当前默认策略,适合大多数通用问答。
全文关注精确关键词、产品型号、缩写、编号或专有名词。选择全文后不显示最小匹配度。

召回数量与匹配度

配置当前范围与默认值
最大召回数量1~20,默认 3。控制最多返回多少个内容片段。
最小匹配度0.01~0.99,默认 0.5。仅在结果重排开启且搜索策略不是全文时显示。

召回数量过大可能增加下游上下文和模型成本,过小则可能漏掉必要内容。最小匹配度过低会引入噪声,过高则可能返回空列表。

检索开关

开关当前默认值说明
表格 SQL 查询关闭把自然语言转为 SQL 查询表格知识库,并把 SQL 结果与 RAG 召回结果一起交给下游。只在确实选择表格知识库时开启。
查询改写关闭优化或重构 Query,以补充多轮对话中被省略的检索意图;通常会增加一次模型处理和额外耗时。
结果重排开启根据相关性或质量重新排序召回片段;关闭后最小匹配度配置会被移除。
仅查看个人文档关闭开启后检索当前用户自己上传的文档以及开发者预置文档,不应理解为只包含用户私有上传内容。

对话流中的会话历史

会话历史配置只在对话流中显示。当前默认开启,默认携带 3 轮历史。历史轮数越多,模型越容易理解“怎么用”“继续”等依赖上下文的问题,但也会增加上下文体积和 Token 消耗。

会话历史和查询改写是两项不同能力:前者提供上下文,后者使用上下文重构检索 Query。是否同时开启应根据检索质量和延迟要求决定。

输出

节点固定输出只读变量 outputList

输出路径类型说明
outputListArray<Object>召回片段列表;无命中时为空列表。
outputList[].outputString召回的文本内容。
outputList[].documentIdString内容所属知识库文档的标识。

当前固定输出中没有匹配度、文件名或完整文档地址。下游节点应先判断列表是否为空,再读取元素;不要直接假设一定存在第一条结果。

推荐工作流

  1. 从开始节点、用户输入或上游改写节点获得 Query。
  2. 根据业务范围选择一个或少量知识库。
  3. 单节点试运行,检查召回内容、空结果和排序。
  4. outputList 交给大模型、文本处理或选择器节点。
  5. 对空列表设计“不知道”、补充提问或转人工分支。

不要未经筛选地把大量召回片段全部拼接到模型提示词中。应控制最大召回数量,并根据实际结果调整策略和匹配度。

常见问题

为什么旧文档写默认召回 5 条?

当前代码和新建节点界面默认值均为 3,旧文档中的 5 已不适用。

查询改写为什么没有默认开启?

当前新建节点默认关闭。只有 Query 经常依赖多轮上下文且直接检索效果不足时,再考虑开启。

为什么最小匹配度不显示?

搜索策略为全文,或结果重排关闭时,当前界面会隐藏并移除最小匹配度。

没有召回结果时会报错吗?

通常返回空 outputList。下游应先判断数组长度,不能直接访问第一项。

知识库检索节点和大模型挂载知识库有什么区别?

知识库检索节点由流程确定执行,并把原始召回列表交给下游;大模型挂载知识库时,由模型和运行策略决定何时调用以及如何把知识用于回答。