You need to enable JavaScript to run this app.
导航

知识库检索与问答

最近更新时间2024.05.17 10:51:03

首次发布时间2024.04.17 14:21:04

本节将说明如何基于一个已创建的知识库做在线检索与基于 LLM 进行问答。

说明

  • 知识库创建完成、文档导入且处理完成后,即代表可以进行在线检索了。
  • 调用接口前请先完成“API参考-对接指南”页面的注册账号、实名认证、AK/SK 密钥获取和签名获取。

知识库检索

在知识库列表页选择对应的知识库,并点击「检索测试」按钮进入检索测试界面。
图片
图片

下图为检索测试界面。
图片
左侧为检索测试的参数设置,右侧为检索和对话的界面。下表为各个参数的详细信息:

参数

作用

取值范围

使用大语言模型生成回答

控制是否使用大模型总结背景知识回答问题。
关闭则返回检索到的文本片,打开则返回基于文本片和 prompt 组装后模型的回答。

prompt 编排

当打开「使用大语言模型生成回答」时可设置。
prompt 编排允许您设置传入大语言模型时如何组装用户问题和检索到的文本片,以及其他的回复要求。
prompt 编排必须包含两个变量,使用两个花括号+变量名作为占位符:

  • {{ .retrieved_chunks }}:检索返回的文本片
  • {{ .user_query }}:用户提出的问题

在组织 prompt 时,您可以给大语言模型一些指示。以贴合您的使用场景。例如,让大语言模型使用检索到的文本作为背景信息回答问题,并在检索到的信息不能回答用户问题时转接人工客服,等等。

返回文本片数量

控制最终检索返回的文本片数量。
如果没有打开重排模型,则表示检索返回的文本片数量;如果打开了重排模型,则表示模型排序后的结果的前 K 个文本片,K 为返回的文本片数量。

如果没有打开重排模型:[1, 200]
如果打开了重排模型:[1, 召回文本片数量]

启用重排模型

控制是否使用重排模型对检索到的文本片进行重新排序。
打开重排模型则会获得更准确的问题-文本片相似性的评分,提升检索效果。
打开后检索的时间会略有增长,且与召回文本数量成正比,建议合理设置找回文本数量。

文本片内容

选择检索到的文本片会带有哪些信息:

  • 文档名称:文本片来源文档的名称
  • 文档标题:解析模型识别出来的文档内容标题
  • 文本片标题:解析模型识别出来的该文本片对应的小标题
  • 内容:文本片的内容

除了上述四个系统预设的字段之外,如果在创建知识库时在知识库字段中设置了其他元信息字段,如作者、内容主题等信息,这些字段也会出现在文本片内容的选择框中,您可以选择打开相应字段开关,丰富文本片携带的信息。
拖动各个字段的顺序可以改变这些字段在文本片中的展示顺序。

高级配置-召回数量(Top K)

召回是指从海量的候选文本片中找出与问题最相关的 K 个文本片的过程。仅在打开了重排模型的时候可设置此项。建议设置召回数量略大于返回文本片数量,可提高检索性能。

[1, 200]

高级配置-Dense Weight

在创建知识库时,如果选择的向量化模型和索引算法支持混合检索,则检索时系统会同时考虑问题与候选文本片的语义相关性和字面上的匹配程度,获得更准确的检索结果。
Dense Weight 参数用于控制检索时语义相似程度的重要性权重,越偏向 1 表示越倾向于语义检索,越偏向0 则表示越偏向于关键词匹配检索。

[0.2, 1]

高级配置-标量过滤

创建知识库页面中过滤字段未设置时,表示不做过滤,标量过滤没有可选择的字段名称。
创建知识库页面中过滤字段设置时,可在添加条件中的下拉列表中选择一个标量过滤字段名字,并选择对应的过滤条件。
过滤条件包括六种:包含、不包含、大于、小于、大于等于、小于等于。条件关系包括两种:且、或。

应用设置

当修改相关参数后,需要点击「应用设置」按钮使新设置生效。保存后,如果检索与对话区域存在历史对话,需要开启新的对话来应用设置。

导出 API 参数

保存设置后,您可以点击「导出 API 参数」按钮获得 API 调用的请求体,便于您将调试好的设置嵌入您的应用当中。

在检索与对话界面,您可以提出您要检索的问题,如果没有打开「使用大语言模型生成回答」,则系统会返回与问题最相关的若干个文本片:
图片
点击更多信息,可以查看这些文本片的召回分数和重排分数(如果打开重排模型)
图片
图片
如果打开了「使用大语言模型生成回答」,模型会将检索到的文本片组装到 prompt 编排区域的 prompt 中,再输入大语言模型,由大语言模型根据检索到的背景信息回答问题。
图片
对话框下方显示参考文本片的来源文档。点击更多信息按钮可以查看检索到的文本片的召回分数和重排分数,下方可以看到 prompt 组装后最终的完整 prompt。
图片

说明

大语言模型的输入字符数量有限制,为了避免超出限制,系统在组装 prompt 时会截断过长的文本片。请根据选用的大语言模型的输入窗口大小设置合理的返回文本片数量。

当前检索测试暂只支持单轮对话,即一次提问和检索(回答)。当系统返回结果后,需要点击「重新开始对话」按钮清空对话记录,再次进行检索测试。

接口详细说明请参考:search接口说明