933 字
约 3 分钟
1
怎么评测RAG效果

怎么评测RAG效果

省流:测这些Recall@K 看能不能召回来 MRR 看排序质量 NDCG 看整体排序质量 HitRate 是否命中RAG 评测其实分四层:1. Retrieval(检索) 2. Rerank(重排) 3. Generation(生成) 4. End-to-End(整体问答)工业界最重要的是:...

字数: 739 | 语雀原文


省流:

测这些

Recall@K	看能不能召回来
MRR	看排序质量
NDCG	看整体排序质量
HitRate	是否命中

RAG 评测其实分四层:

1. Retrieval(检索)
2. Rerank(重排)
3. Generation(生成)
4. End-to-End(整体问答)

工业界最重要的是:

先测 Retrieval
再测 Generation

因为很多问题根本不是 LLM 的锅。

一、先理解:RAG 最容易坏在哪

通常:

模块 常见问题
Chunk 切太短/太长
Embedding 语义表达差
Recall 没召回来
BM25 关键词不准
Rerank 排序错
Context Assembly 上下文拼接乱
Generation 幻觉

但实际上:

最大问题通常是 Recall 不够。

即:

正确chunk根本没进入上下文

二、Retrieval 怎么测(最重要)

1. 准备评测集(黄金数据)

你需要:

(question, ground_truth_chunk)

例如:

Question 正确Chunk
Redis 为什么会缓存雪崩 “缓存雪崩章节”
JWT 为什么无状态 “JWT 原理”
Kafka 如何保证顺序消费 “Partition 顺序机制”

这个叫:

Golden Dataset(黄金数据集)

2. 测 Recall@K

最核心指标。

意思:

正确chunk有没有出现在TopK里

举例

100个问题:

  • 83个问题正确chunk出现在Top5 那么:
Recall@5 = 83%

为什么 Recall 最重要

因为:

没召回来 = LLM 不可能答对

所以:

Recall 是 RAG 的天花板

3. 测 MRR(Mean Reciprocal Rank)

看:

正确chunk排得靠不靠前

举例

正确答案:

  • 第1名 → 1
  • 第2名 → 0.5
  • 第5名 → 0.2 平均后:
MRR 越高越好

4. 测 NDCG(高级一点)

看:

排序质量

适合:

一个query对应多个相关chunk

工业界常用。

三、Generation 怎么测

即:

最终回答好不好

1. Faithfulness(是否胡编)

最关键。

看:

回答是否基于context

不是:

LLM 自己瞎编

2. Answer Relevance

回答是否真正回答了问题。

3. Context Precision

给的context是否有用。

避免:

塞了一堆垃圾chunk

四、工业界最常用评测框架

现在最主流:

1. RAGAS

最火。

可测:

指标 含义
faithfulness 是否忠于context
answer_relevancy 回答相关性
context_precision context质量
context_recall 是否召回正确context

非常适合:

个人RAG项目

2. DeepEval

更工程化。

适合:

  • CI/CD
  • 自动化测试
  • Agent评测

3. LangSmith

适合:

  • trace
  • 调试
  • 可视化

五、最标准的 RAG Benchmark 流程

工业界通常:

构建测试问题集
↓
人工标注正确chunk
↓
测试 Recall@K
↓
测试 MRR/NDCG
↓
测试最终回答
↓
人工评估

六、一个非常重要的现实

很多人:

只看最终回答

这是错误的。

因为:

你根本不知道:

  • 是 retrieval 错
  • rerank 错
  • prompt 错
  • 还是 LLM 错 所以:

RAG 一定要“分层评测”。

否则根本无法优化。

怎么评测RAG效果
http://www.clxhxhhr.top/posts/754/
作者
clxstart
发布于
2026-09-18
许可协议
CC BY-NC-SA 4.0
评论
0 条
还没有评论,先写一条吧。