Skip to main content
工作流

知识库节点

知识库节点用于实现检索增强生成(RAG),从指定的知识库中检索与输入相关的信息片段,并将检索结果作为上下文传递给下游大模型节点,用于解决大模型知识陈旧、无法访问私有数据、容易产生幻觉等问题。

使用示例

必定调用

在客服问答、产品咨询、政策解答等场景中,用户提问的表达方式多样,可能包含口语化表述、简略描述或不精确的关键词,如果仅依赖智能判断是否需要检索知识库,可能导致遗漏关键信息。此时需要确保每次用户输入都触发知识库检索,避免因判断失误造成的服务缺失。 以手机售后客服为例,用户的问题可能涉及产品参数、保修政策、故障排查等多种类型。通过将知识库节点设置为必定调用模式,系统会对每个用户输入执行知识库检索,确保不遗漏任何潜在的匹配信息。支持针对文档、表格、图片分别调试。

智能调用

在多功能客服场景中,用户输入既包含产品咨询(需要检索知识库),也包含闲聊、问候等无关问题(无需检索知识库)。如果对所有输入无差别执行知识库检索,会导致Token消耗增加和处理效率降低。 以百炼手机客服为例,用户输入包含产品咨询和日常闲聊两类。通过将知识库节点设置为智能调用模式并配置知识库描述(说明何时应检索),系统能够识别查询相关性,仅对相关问题返回检索结果,从而减少 Token 消耗并提升处理效率。支持针对文档、表格、图片分别调试。

旧版调用

在无需对文档、表格、图片三类知识库分别调试的场景中,可通过 topK 参数统一控制召回数量,简化配置流程。 以百炼客服为例,知识库中配置了百炼系列手机产品介绍文档数据库和百炼模型价格表格数据库。通过将知识库节点设置为旧版调用模式,系统会从知识库中混合召回最多 topK 数量的匹配片段。

添加节点

方式一:通过加号按钮添加
  • 点击画布上任意节点末尾的加号按钮。
  • 在弹出的节点列表中选择知识库节点。
  • 节点自动添加到画布并与上游节点建立连线。
方式二:从节点库拖拽添加
  • 在左侧节点管理面板中找到知识库节点。
  • 将节点拖拽到画布中的目标位置。
  • 手动连接节点与上下游节点。

核心配置

输入配置

定义从知识库中检索的查询依据。
参数说明
content需要检索的文本信息。可直接输入文本,或在编辑框中输入 / 触发变量选择,引用上游节点的输出变量。
imageList需要检索的图片信息。可输入公网可访问的图片链接(如 https://xxx.xxx.com/xxx/xxx.jpeg),或在编辑框中输入 / 触发变量选择,引用上游节点的输出变量。

知识库选择方式

知识库节点支持两种知识库选择方式:
选择方式适用场景配置说明
选择固定知识库知识库固定,每次调用相同的知识库。从下拉菜单中选择具体的知识库,可添加文档、表格、图片三类知识库。
动态引入根据上游节点输出动态决定使用哪些知识库。配置 CodeList 变量,通过变量引用或直接输入指定知识库列表。

知识库调用方式

定义知识库的触发逻辑。默认必定调用。
调用方式说明需要配置的参数
必定调用每一轮的用户输入都会进行知识库检索,适用于高频知识问答场景。无需额外配置
智能调用智能体根据用户输入和知识库描述判断是否进行知识库检索,适用于灵活对话场景。知识库描述(必填)
旧版调用文档/表格/图片三类知识库结果混合召回,通过 topK 统一控制召回数量,不支持分别调试。topK(范围:1-50,默认值:10)
参数说明:- 知识库描述:描述知识库包含的内容,以及在何种情况下可以调用知识库中的数据进行回复。支持输入文本或输入 / 插入变量。- topK:每个知识库中最多召回的文本切片个数。实际召回数量取决于匹配结果,可能少于 topK 设定值。

知识库类型

配置应用需要检索的具体知识库,分为以下三类:
类型说明
文档使用文档类数据构建。模型能够引用文本切片回答问题。
表格使用表格类、数据库类数据构建。模型能够引用查询结果回答问题。
图片使用图片类数据构建。模型能够检索图片并参考图片相关描述回答问题。

调试召回效果

仅支持必定调用和智能调用模式。单击文档、表格或图片类型旁边的调试按钮,可测试该类型知识库的召回效果,根据返回结果针对性地优化知识库配置策略。调试结果确认无误后,单击右上角保存即可使配置在当前应用中生效。

知识库过滤

默认关闭。开启后,系统通过引入大模型判断,对文档和表格召回结果进行二次智能过滤,提升最终输出的质量。此功能适用于对回答精准度有较高要求或需过滤无关信息的场景。

节点输出

知识库节点的输出是一个包含 result 对象的结构体:
字段类型说明
resultObject输出结果,包含本次查询的所有返回信息。
result.chunkListArray<Object>召回的知识库片段列表。无召回内容时为空。
result.chunkList[ ].contentString召回知识库片段的原始内容。
result.chunkList[ ].titleString片段所属的文档标题。
result.chunkList[ ].documentNameString召回片段所在知识库的名称。
result.chunkList[ ].scoreNumber知识库片段的相似度得分,得分越高代表匹配度越高。
result.chunkList[ ].idString切片 ID。
result.chunkList[ ].dataIdString文档 ID。
result.chunkList[ ].docUrlString源文件下载链接。
result.chunkList[ ].knowledgeBaseIdString知识库 ID。
result.chunkList[ ].nidString原文标识。
result.chunkList[ ].imagesArray<String>图片列表。
result.chunkList[ ].pageNumberArray<Number>页码。
result.rewriteQueryString改写后的用户 query。

常见用法

配合节点常见用法
知识库节点 → 大模型节点将知识库检索结果作为上下文传入大模型节点,生成基于知识的回答。
意图分类节点 → 知识库节点先识别用户意图,根据意图决定是否调用知识库或选择不同知识库。
知识库节点 → 条件判断节点根据检索结果是否为空或 score 值判断后续流程走向。
知识库节点 → 变量处理节点 → 大模型节点对检索结果进行格式转换或内容提取后再传给大模型。

常见问题

检索结果为空是什么原因?

检索结果为空可能由以下原因导致:
  • 输入的查询内容与知识库内容不相关
  • 知识库未正确配置或数据未完成索引
  • 智能调用模式下的调用条件未满足
解决方案:使用调试功能测试召回效果,检查输入内容和知识库配置是否正确。

如何提升检索精准度?

  • 优化知识库的文档切片策略。
  • 开启知识库过滤功能,设置过滤 Prompt 进行二次筛选。
  • 在智能调用模式下,完善知识库描述和调用条件。