召回测试/引用归属
Last updated
Last updated
Dify 知识库内提供了文本召回测试的功能,用于模拟用户输入关键词后调用知识库内容区块。召回的区块将按照分数高低进行排序并发送至 LLM。一般而言,问题与内容块的匹配度越高,LLM 所输出的答案也就更加贴近源文档,文本“训练效果”越好。
你可以使用不同的检索方式及参数配置,查看召回的内容区块质量与效果。不同的知识库分段模式对应不同的召回测试方法。
通用模式
在 源文本 输入框输入常见的用户问题,点击 测试 按钮即可在右侧的 召回段落 内查看召回结果。
在通用模式下,内容区块相互独立;内容块右上角的分数为内容与关键词的匹配分数。得分越高,说明问题关键词与内容块的的匹配度越高。
轻点内容块即可查看所引用的内容详情。每个内容块底部将展示所引用的文档信息源,你可以借此判断该内容分段是否合理。
在 记录 内可以查看到历史的查询记录;若知识库已关联至应用内,由应用内发起的知识库查询记录也可以在此查看。
点击源文本输入框右上角的图标即可更换当前知识库的检索方式与具体参数,保存之后仅在当前召回测试的调试过程中生效,你可以借此比较不同检索设置的效果。如果你想要修改当前知识库的检索方式,前往“知识库设置” > “检索设置”中进行设置。
召回测试建议步骤:
设计和整理能够覆盖用户常见问题的测试用例/测试问题集/指引内容;
根据内容特点和使用场景(是否为问答内容、是否涉及多语言问答等),选择合适的检索策略。关于不同检索方式的优缺点,请参考扩展阅读检索增强生成(RAG);
调整召回分段数量(TopK)和召回分数阈值(Score),根据实际的应用场景、包括文档本身的质量来选择合适的参数组合。
TopK 值和召回阈值(Score )如何配置
TopK 代表按相似分数倒排时召回分段的最大个数。TopK 值调小,将会召回更少分段,可能导致召回的相关文本不全;TopK 值调大,将召回更多分段,可能导致召回语义相关性较低的分段使得 LLM 回复质量降低。
召回阈值(Score)代表允许召回分段的最低相似分数。 召回分数调小,将会召回更多分段,可能导致召回相关度较低的分段;召回分数阈值调大,将会召回更少分段,过大时将会导致丢失相关分段。
在应用内的“上下文”添加知识库后,可以在“添加功能”内开启“引用与归属”。在应用内输入问题后,若涉及已关联的知识库文档,将标注内容的引用来源。你可以通过此方式检查知识库所召回的内容分段是否符合预期。
开启功能后,当 LLM 引用知识库内容来回答问题时,可以在回复内容下面查看到具体的引用段落信息,包括原始分段文本、分段序号、匹配度等。点击引用分段上方的 跳转至知识库,可以快捷访问该分段所在的知识库分段列表,方便开发者进行调试编辑。
知识库将会在左侧信息栏中显示已关联的应用数量。将鼠标悬停至圆形信息图标时将显示所有已关联的 Apps 列表,点击右侧的跳转按钮即可快速查看对应的应用。