发布于 Wed Apr 08 2026 08:00:00 GMT+0800 (中国标准时间)
评测RAG质量
怎么评估你的 RAG 质量:5 个指标 + 3 套工具
凭感觉判断「这次效果好像更好」毫无用处。本文给出 RAG 系统的 5 个量化指标和 3 套开源评估工具。
RAG 系统的两个分离层#
要评估 RAG,必须分两段衡量:
- 检索层(Retrieval):用户问题→召回的文档片段
- 生成层(Generation):召回片段→最终答案
很多团队只看最终答案的好坏,但问题可能出在第一层。
5 个核心指标#
检索层指标#
| 指标 | 公式 | 含义 |
|---|---|---|
| Precision@k | 相关 / 召回 | 召回的 k 条中有多少相关 |
| Recall@k | 召回 / 总相关 | 总相关的有多少被召回 |
| MRR@k | 1/排名 | 第一个相关片段排在第几 |
生成层指标#
| 指标 | 含义 |
|---|---|
| Faithfulness(忠实度) | 答案是否完全基于检索内容(无幻觉) |
| Answer Relevance(答案相关性) | 答案是否真的回答了问题 |
评估流程#
评估集(问题 + 标准答案 + 标准文档)
↓
跑你的 RAG 系统
↓
对比:检索的文档 vs 标准文档 → P / R / MRR
对比:生成的答案 vs 标准答案 → Faithfulness / Relevance
3 套工具#
1. RAGAS(推荐入门)#
from ragas import evaluate
from ragas.metrics import faithfulness, answer_relevancy, context_precision
result = evaluate(
dataset=my_dataset,
metrics=[faithfulness, answer_relevancy, context_precision],
)
特点:用 LLM 当评委(LLM-as-judge),不需要标注 ground truth 答案,但需要 API 成本。
2. TruLens#
特点:可视化、与 LangChain / LlamaIndex 深度集成、有 Web UI。
3. 自建评估集(推荐生产环境)#
让客服坐席花 2 小时标注 50-100 条典型问题的「标准答案 + 标准文档」,每次知识库或模型升级都跑一次。
一个真实数据#
某电商场景的对照:
| 配置 | Precision@5 | MRR@5 | Faithfulness |
|---|---|---|---|
| 默认 Dify + bge-m3 | 0.62 | 0.78 | 0.81 |
| + QA 拆分预处理 | 0.71 | 0.84 | 0.85 |
| + bce-reranker | 0.78 | 0.89 | 0.87 |
| + Prompt 加「只用提供的内容回答」 | 0.78 | 0.89 | 0.94 |
最后一步最便宜但提升最大——加一句严格指令直接干掉 LLM 自由发挥的幻觉。