本节将说明如何基于一个已创建的知识库做在线检索与基于大语言模型进行问答。
说明
入口一:在知识库列表页选择对应的知识库,进入详情页并点击「检索测试」按钮进入检索测试界面。
入口二:在知识库列表页找到对应的知识库,通过知识库右上角的 ··· ,进入检索测试页面。
检索测试详情页如下
左侧为检索测试的参数设置,右侧为检索和对话的界面。下表为各个参数的详细信息:
参数 | 作用 | 取值范围 |
---|---|---|
返回文本片数量 | 控制最终检索返回的文本片数量。 | 如果没有打开重排模型:[1, 200] |
启用重排模型 | 控制是否使用重排模型对检索到的文本片进行重新排序。 | 默认模型:Doubao-pro-4k-rerank,基于自然语言语义的豆包自研模型 |
召回数量(Top K) | 召回是指从海量的候选文本片中找出与问题最相关的 K 个文本片的过程。仅在打开了重排模型的时候可设置此项。建议设置召回数量略大于返回文本片数量,可提高检索性能。 | [1, 200] |
更多参数-Dense Weight | 在创建知识库时,如果选择的向量化模型和索引算法支持混合检索,则检索时系统会同时考虑问题与候选文本片的语义相关性和字面上的匹配程度,获得更准确的检索结果。 | [0.2, 1] |
更多参数-按标签过滤文档范围 | 标签过滤文档范围未配置时,表示不做过滤。 | -- |
大模型回答 | 控制是否使用大模型总结背景知识回答问题。 | -- |
拼接邻近文本片数量 | 取该值作为召回重排后拼接邻近文本片的数量,若召回重排后文本片数为k,该值为p,则最终返回数量范围为[k,k+2kp] | [0, 5] |
编写 prompt | 当打开「使用大语言模型生成回答」时可设置。
在组织 prompt 时,您可以给大语言模型一些指示。以贴合您的使用场景。例如,让大语言模型使用检索到的文本作为背景信息回答问题,并在检索到的信息不能回答用户问题时转接人工客服,等等。 | -- |
API 调用 | 保存设置后,您可以点击「API 调用」按钮获得 API 调用的请求体,便于您将调试好的设置嵌入您的应用当中。 | -- |
在检索与对话界面,您可以提出您要检索的问题,如果没有打开「使用大语言模型生成回答」,则系统会返回与问题最相关的若干个文本片:
如果打开了「使用大语言模型生成回答」,模型会将检索到的文本片组装到 prompt 编排区域的 prompt 中,再输入大语言模型,由大语言模型根据检索到的背景信息回答问题。
在编写 pormpt 的部分,提供了几个核心场景的 prompt 模板,点击应用即可进行对原本 prompt 的覆盖
对话框下方显示参考文本片的来源文档。点击「召回详情」按钮可以查看检索到的文本片的召回分数和重排分数,切换可以看到 prompt 组装后最终的完整 prompt。
检索测试支持多轮对话,可以基于上下文对当前轮输入的问题进行改写,从而得到更准确的问题回复。点击「清空对话」可以清空上下文。
说明
doc_id
字段聚合相同来源的文本片,相同来源的文本片按照 chunk_id
顺序排列。接口详细说明请参考:search接口说明