flag92 flag92
博客
发布于 Wed Apr 08 2026 08:00:00 GMT+0800 (中国标准时间)
评测RAG质量

怎么评估你的 RAG 质量:5 个指标 + 3 套工具

凭感觉判断「这次效果好像更好」毫无用处。本文给出 RAG 系统的 5 个量化指标和 3 套开源评估工具。

RAG 系统的两个分离层#

要评估 RAG,必须分两段衡量:

  1. 检索层(Retrieval):用户问题→召回的文档片段
  2. 生成层(Generation):召回片段→最终答案

很多团队只看最终答案的好坏,但问题可能出在第一层。

5 个核心指标#

检索层指标#

指标公式含义
Precision@k相关 / 召回召回的 k 条中有多少相关
Recall@k召回 / 总相关总相关的有多少被召回
MRR@k1/排名第一个相关片段排在第几

生成层指标#

指标含义
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@5MRR@5Faithfulness
默认 Dify + bge-m30.620.780.81
+ QA 拆分预处理0.710.840.85
+ bce-reranker0.780.890.87
+ Prompt 加「只用提供的内容回答」0.780.890.94

最后一步最便宜但提升最大——加一句严格指令直接干掉 LLM 自由发挥的幻觉。

站内搜索

按 ⌘ K 随时唤起