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