Skip to content

知识库评估指南

知识库评估是 RAG 系统开发中的重要环节。通过量化评估,我们可以了解检索和生成的质量,发现问题并持续优化。

为什么需要评估

在构建知识库系统时,你可能会遇到这些问题:

  • 检索结果不准确,用户找不到想要的内容
  • 生成答案与文档不符,存在幻觉
  • 调整了分块策略或模型,效果是变好还是变差了?

评估功能就是为了回答这些问题。它通过预设的测试问题和标准答案,量化系统的表现,帮助你做出数据驱动的优化决策。

评估指标解读

系统提供以下核心指标:

指标含义参考值
Recall@1第一个检索结果包含正确文档的比例> 0.6 为佳
Recall@5前5个检索结果包含正确文档的比例> 0.8 为佳
F1@K精确率和召回率的调和平均用于横向对比
答案准确性生成答案与标准答案的一致性越高越好

创建评估基准

手动准备数据

准备 JSONL 格式的评估文件,每行一个样本:

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

字段说明:

  • query:测试问题,必需
  • gold_chunk_ids:期望被检索到的文档块 ID,可选
  • gold_answer:标准答案,用于评估生成质量,可选

推荐工具

可以使用 EasyDataset 从文档批量生成问答对。注意导出时将字段名改为 querygold_answer

自动生成

系统也支持自动生成评估数据:随机采样知识库中的文档块,用嵌入模型查找相似内容,最后用大模型生成问答对。

推荐参数:

  • 问题数量:10-50 个
  • 相似文档数:2-5 个

运行评估

在知识库详情页点击「评估」标签,选择评估基准后配置:

  1. 答案生成模型(可选):基于检索到的文档块生成答案
  2. 评判模型(可选):评估生成答案与标准答案的一致性

点击「开始评估」,系统在后台执行,完成后会显示各项指标结果。

评估结果分析

拿到评估结果后,可以从以下几个角度分析:

  • Recall@1 低:说明最相关的内容没有被首先检索到,可能需要调整嵌入模型或分块策略
  • Recall@5 低:说明相关文档没有被检索到,可能需要增加检索数量或优化查询
  • 答案准确性低:说明生成质量有问题,可能需要调整提示词或更换模型

使用场景

  • 上线前验证:知识库建设完成后,评估效果是否满足要求
  • 配置对比:调整分块策略、嵌入模型后,对比评估结果
  • 定期监控:定期评估,及时发现质量下降
  • 参数调优:通过多次评估找到最优参数组合

评估是一个持续的过程。建议在初始建设时就建立评估基准,后续每次重大变更都进行评估,形成数据驱动的优化闭环。

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