RAG Benchmark:RAG 系统评估体系
RAG 系统的核心能力在于 检索质量 + 生成质量。因此评估 RAG 时不能只看最终回答,还必须拆分为多个阶段进行 Benchmark。
完整的 RAG Benchmark 通常分为三层:
- Embedding / Retrieval Benchmark(检索层)
- Rerank Benchmark(排序层)
- End-to-End RAG Benchmark(整体系统)
评估体系的核心目标:
- 衡量 检索召回能力
- 衡量 排序准确度
- 衡量 最终回答质量
一、RAG Benchmark 总体评估框架
RAG 评估通常拆分为三阶段:
flowchart LR Q[Query] --> R[Retrieval] R --> RR[Rerank] RR --> LLM[Generation] R --> M1[Retrieval Metrics] RR --> M2[Rerank Metrics] LLM --> M3[Answer Metrics]
对应三类指标:
| 层级 | 评估目标 |
|---|---|
| Retrieval | 是否召回正确文档 |
| Rerank | 是否正确排序 |
| Generation | 最终回答质量 |
二、Retrieval Benchmark(检索层)
检索阶段的目标:
是否能把正确的文档召回到候选集。
常见指标包括:
1 Recall@K
最常用指标。
定义:
Recall@K = 是否在 TopK 中召回正确文档
例如:
Query:
Python 如何创建虚拟环境?
真实答案在文档:
Doc42
如果:
Top5 = [Doc12, Doc42, Doc8, Doc99, Doc5]
则:
Recall@5 = 1
如果:
Top5 = [Doc12, Doc8, Doc99, Doc5, Doc7]
则:
Recall@5 = 0
企业 RAG 推荐目标:
| 指标 | 推荐值 |
|---|---|
| Recall@5 | > 0.75 |
| Recall@10 | > 0.85 |
2 Hit Rate
Hit Rate 与 Recall 类似,但通常统计 命中比例:
HitRate@K = 命中query数量 / query总数
例如:
100 个 query
其中 82 个 query 在 Top5 命中正确文档:
HitRate@5 = 0.82
3 MRR(Mean Reciprocal Rank)
MRR 衡量 正确文档排名位置。
公式:
MRR = average(1 / rank)
示例:
| Query | 正确文档排名 |
|---|---|
| Q1 | 1 |
| Q2 | 3 |
| Q3 | 10 |
计算:
MRR = (1/1 + 1/3 + 1/10) / 3
MRR 越高表示:
正确文档越靠前。
企业级 RAG 推荐:
MRR > 0.6
4 NDCG(Normalized Discounted Cumulative Gain)
适用于:
多相关文档场景。
公式简化:
越相关的文档排在越前面 → 得分越高
常用:
NDCG@10
三、Rerank Benchmark(排序层)
Rerank 的目标:
在候选文档中找到最相关文档。
评估指标通常与 Retrieval 相同,但输入是:
Top50 → rerank → Top5
常见指标:
| 指标 | 含义 |
|---|---|
| MRR | 排序质量 |
| NDCG | 多相关文档排序 |
| Precision@K | TopK准确率 |
Precision@K
定义:
TopK 中相关文档比例
例如:
Top5 = 3 个相关文档
则:
Precision@5 = 0.6
四、End-to-End RAG Benchmark
最终评估的是:
系统回答质量。
评估方式分三类:
1 人工评估
2 LLM 评估
3 自动指标
五、人工评估(Human Evaluation)
最可靠方法。
评估维度:
| 维度 | 含义 |
|---|---|
| Correctness | 是否正确 |
| Relevance | 是否相关 |
| Faithfulness | 是否忠于文档 |
| Completeness | 是否完整 |
评分:
1-5分
示例:
| Query | Score |
|---|---|
| 正确回答 | 5 |
| 部分正确 | 3 |
| 错误 | 1 |
缺点:
- 成本高
- 不可扩展
六、LLM-as-a-Judge
目前最流行的自动评估方法。
使用 LLM 作为评委:
输入:
Question
Ground Truth
Model Answer
Prompt 示例:
Evaluate whether the answer correctly answers the question.
Score from 1-5.
优点:
- 自动化
- 成本低
缺点:
- 评估偏差
七、自动指标(NLP Metrics)
适用于 有标准答案的数据集。
常见指标:
1 Exact Match(EM)
是否完全一致:
Answer == GroundTruth
2 F1 Score
衡量词级别匹配:
precision / recall
3 ROUGE
常用于摘要任务。
4 BLEU
常用于机器翻译。
八、RAG Benchmark 数据集
RAG 评估需要 Query + GroundTruth 文档。
常见公开数据集:
1 BEIR Benchmark
BEIR 是当前最常用的 检索 Benchmark。
包含:
- 18 个数据集
- 不同领域
例如:
- SciFact
- TREC-COVID
- NFCorpus
特点:
- 多领域
- 真实查询
2 MTEB
MTEB 用于评估 Embedding 模型。
评估任务包括:
- retrieval
- classification
- clustering
- reranking
目前几乎所有 embedding 模型都会在 MTEB 上测试。
3 Natural Questions
问答数据集:
- Google 搜索 Query
- Wikipedia 文档
适合 QA RAG 系统。
4 HotpotQA
特点:
多跳推理(multi-hop reasoning)
例如:
问题需要两个文档信息组合
九、企业级 RAG Benchmark 方法
企业通常没有公开数据集,因此需要 自建评估集。
步骤:
1 构建 Query 集
例如:
100~500个问题
来源:
- 客服问题
- FAQ
- 搜索日志
2 标注 Ground Truth
每个 Query 标注:
正确文档
例如:
Query:
如何重置密码?
GroundTruth:
Doc15
Doc23
3 构建评估 Pipeline
flowchart TD QuerySet --> Retrieval Retrieval --> Rerank Rerank --> LLM Retrieval --> RecallMetric Rerank --> RankingMetric LLM --> AnswerMetric
十、RAG Benchmark 自动化 Pipeline
推荐构建 自动评估系统:
流程:
1 构建测试Query
2 自动检索
3 自动计算指标
4 自动生成报告
架构示例:
flowchart LR Dataset --> EvalRunner EvalRunner --> Retrieval EvalRunner --> Rerank EvalRunner --> LLM Retrieval --> Metrics1 Rerank --> Metrics2 LLM --> Metrics3 Metrics1 --> Report Metrics2 --> Report Metrics3 --> Report
输出报告示例:
Embedding Model: BGE-large
Recall@5: 0.82
MRR: 0.67
NDCG@10: 0.71
Answer Accuracy: 0.78
十一、RAG Benchmark 常见结论
在真实系统中:
Embedding 模型影响
影响:
Recall
提升空间:
10% ~ 25%
Chunk 策略影响
错误切片会导致:
Recall下降30%
Rerank 提升
通常可以提升:
MRR +10% ~ 20%
Hybrid Search 提升
向量 + BM25:
Recall 提升 5% ~ 15%
十二、RAG Benchmark 推荐目标
企业级系统推荐指标:
| 指标 | 推荐值 |
|---|---|
| Recall@5 | > 0.75 |
| Recall@10 | > 0.85 |
| MRR | > 0.6 |
| NDCG@10 | > 0.7 |
| Answer Accuracy | > 0.75 |
总结
RAG Benchmark 的核心思想是:
拆分评估,而不是只评估最终答案。
完整评估体系:
Embedding Benchmark
↓
Retrieval Benchmark
↓
Rerank Benchmark
↓
End-to-End QA Benchmark
最终目标是优化三个关键能力:
召回能力(Recall)
排序能力(Ranking)
回答能力(Answer Quality)