Skip to content

评估知识库检索质量 ​

知识库评估用一组固定问题和参考答案检查 RAG 链路。它适合比较嵌入模型、分块策略和检索参数的变化,不能代替真实用户场景的人工验收。

开始前,用有管理权限的管理员账号完成文档入库,准备一个已有索引的 Milvus 知识库。完成本页后,可以读取逐题结果,并用同一批题目比较检索配置。完整智能体任务的评估见智能体评估。

评估会测什么 ​

每条评估样例可以包含两类参考数据:

  • gold_chunk_ids:期望命中的文档块 ID,用于计算检索指标。
  • gold_answer:参考答案,用于在配置评判模型后计算答案准确性。

系统提供以下指标:

指标含义
recall@K前 K 个结果覆盖参考文档块的比例
f1@K前 K 个结果的精确率和召回率的调和平均
answer_correctness逐题按核心事实一致记 1、否则记 0,再取平均
overall_score有答案评估时取 answer_correctness,否则取 recall@10

这些指标没有适用于所有数据集的固定“及格线”。请在同一批样例、同一评估配置下比较结果,并同时查看逐题结果。答案评判报错也会记录 0 分,需要结合评判理由区分模型错误与答案错误。

1. 准备评估数据 ​

手动上传 JSONL ​

每行一个 JSON 对象,query 必填,其他字段按需要填写:

json
{"query":"什么是人工智能?","gold_chunk_ids":["chunk_001"],"gold_answer":"人工智能是……"}
{"query":"机器学习有哪些类型?","gold_chunk_ids":["chunk_005"],"gold_answer":"主要包括监督学习……"}

gold_chunk_ids 必须是知识库实际的文档块 ID,不是文件 ID。只有提供该字段的样例才会参与检索指标;只有提供 gold_answer 且配置了评判模型的样例才会参与答案指标。

在知识库详情页打开“评估基准”,点击上传并填写名称。系统会校验 JSONL 并把数据集、题目和元数据保存到 PostgreSQL;JSONL 文件只承担导入和导出作用。

准备数据时,问题应覆盖真实用户会问的主题,参考块和答案应由人检查。可以使用 EasyDataset 辅助生成问答,但导入前请把字段整理为 query、gold_chunk_ids 和 gold_answer。

自动生成 ​

在“评估基准”中选择自动生成,填写问题数量、参考邻近块数量、生成模型和并发数。系统从当前知识库的文档块采样,用相似检索选择上下文,再由模型生成问题、参考块和答案。

问题数量支持 1–100 条,并发数支持 1–20,默认并发数为 10。复杂模型或供应商限流时,把并发数调低。自动生成的结果仍需要抽查;模型生成的参考答案不天然正确。

如果选择图增强生成,当前知识库需要先完成图谱索引;没有可用图谱时,生成请求会被拒绝。

2. 运行评估 ​

在知识库详情页依次打开“评估基准”→“RAG 评估”:

  1. 选择一份已完成的数据集。
  2. 按需填写答案生成模型。配置后,系统会用检索到的文档块生成答案。
  3. 如果数据集包含 gold_answer,按需填写评判模型;没有评判模型时不会计算答案准确性。
  4. 点击“开始评估”,在当前页面查看评估运行状态。

评估会读取知识库当前的检索配置,并逐题保存检索结果、生成答案和指标。执行结束后,打开评估运行记录查看总体指标和逐题结果;管理员还可以在“后台作业”中查看进度与结果摘要。

3. 读取和比较结果 ​

先看运行的总体指标,再打开逐题结果定位问题:

  • recall@1 低,说明正确块很少排在第一位;检查查询表达、嵌入模型、分块和重排设置。
  • recall@5 或 recall@10 低,说明候选结果整体没有覆盖参考块;检查检索数量和召回策略。
  • f1@K 低,说明结果覆盖率和噪声之间的平衡较差。
  • answer_correctness 低,先查看生成答案、参考答案和检索片段,再判断是召回问题还是生成/评判模型问题。

比较两次配置时保持数据集和问题顺序不变,并记录使用的模型、分块策略和检索参数。知识库内容或参考块发生变化后,旧分数不能直接与新分数比较。

常见限制 ​

  • 评估只能使用已经完成的数据集;自动生成失败时,可以查看已保存的题目,但完成前不能导出或发起评估。
  • 任务失败、取消或服务重启后,任务状态不等于每个文档或每道题的最终状态,需要打开运行记录核对。
  • 查看每道题的检索片段、答案和评判理由后,再决定是否修改知识库配置;评估不会自动调整配置。

下一步 ​

本项目基于 MIT License 开源,欢迎使用和贡献。