> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dify.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 测试并调优检索

> 用真实问题测试知识库，用参考问题衡量检索效果，并在结果不理想时调优检索

> 本文档由 AI 自动翻译。如有任何不准确之处，请参考 [英文原版](https://docs.dify.ai/en/cloud/use-dify/knowledge-base/test-and-tune.md)。

知识库完成索引后就可以检索了，但真正要检验的是：面对用户会问的问题，它能否返回正确的分段。

接入应用之前，先拿这些问题来测试，然后：

* 结果正确的，保存为参考问题，以免之后的改动不知不觉破坏它们。
* 结果错误的，保存为问题案例，留待修正。

## 测试检索

在知识库的 **检索测试** 页面输入问题并运行。像用户那样提出完整的问题，不要只输入关键词。

用同一个问题依次测试每种 [检索深度](https://docs.dify.ai/zh/cloud/use-dify/knowledge-base/retrieval-settings.md#retrieval-depth)，把最能稳定返回正确分段的那种设为知识库的默认深度。

提问时也可以附上图片。需要哪些模型支持，详见 [多模态检索](https://docs.dify.ai/zh/cloud/use-dify/knowledge-base/multimodal-retrieval.md)。

每次运行都会保存在 **记录** 中，方便对比修改设置前后的结果。

### 参考问题

有些问题无论之后改了什么，都必须返回正确的分段，比如用户问得最多的那些。把它们连同各自应返回的分段一起保存为参考问题。之后每次修改设置或模型，运行一次 [评测](#run-an-evaluation)，确认它们依然全部通过。

某次运行返回了正确的分段时，点击结果下方的 **保存为参考问题**，勾选必须返回的分段，再选择通过条件：这些分段要全部返回，还是返回其中任意一个即可。

不经过测试运行也能直接添加：打开 **质量** 页面，点击 **添加参考问题**，输入问题并描述期望返回的分段，然后点击 **查找证据**，从最接近的匹配结果中选择。如果手头已有问题列表，也可以在这里从 CSV 文件（最大 1 MB）导入。

评测会跳过以下状态的参考问题：

* **草稿**：还没有设置期望分段。编辑问题并选好分段。
* **已过时**：某个期望分段已不存在，例如你重新上传了它所在的文档，或者同步时删掉了那段内容。编辑问题并重新选择分段。
* **已暂停**：某个期望分段所在的文档已禁用。重新启用该文档后，问题会重新参与评测。

### 问题案例

如果正确的分段没有返回，或者排名太靠后，点击结果下方的 **保存为问题案例** 并选择原因。不同原因对应不同的修正方法：

* **检索未命中**：分段根本没有返回。

  先 [检查该文档的索引结果](https://docs.dify.ai/zh/cloud/use-dify/knowledge-base/review-indexed-documents.md)。

  如果索引没有问题，可在 [检索设置](https://docs.dify.ai/zh/cloud/use-dify/knowledge-base/retrieval-settings.md) 中扩大检索范围：调深检索深度、调高 Top K，或调低分数阈值。不过范围变大后，也可能带回更多不相关的分段。

* **得分低**：分段返回了，但排名太靠后。

  分数由重排序模型给出。换一个重排序模型试试，同一个分段的排名可能会更靠前。

问题案例会保留在 **质量** > **问题案例** 中。修正后，点击 **重新测试**，用当前设置重新运行该问题。如果结果已经正确，点击 **转为参考问题**，找到它应返回的分段，再点击对话框中的 **转为参考问题**。不打算修正的案例，可点击 **忽略** 关闭。

工作流或 Agent 检索知识库时，如果没找到其中已有的内容，也会自动生成问题案例。所以应用上线后也要留意这个列表，不只是在测试阶段。

## 运行评测

修改设置或模型后，前往 **质量** > **评测**，点击 **运行评测**，选择应用所用的检索模式，然后点击 **开始评测**。评测会用当前设置重新运行所有有效参考问题，只有每个问题都找到期望的分段，评测才算通过。

对于未命中的问题，点击 **证据命中** 下的数字，即可查看哪些期望分段没有返回。

如果某个以前能通过的问题现在未命中，很可能是刚才的改动导致的。撤销这次改动，或者像处理问题案例那样找出原因并修正，然后重新运行评测。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.