技术博客
LLM 大语言模型AI Agent生成理解与问答检索 / RAG

三分钟看懂RAG评估的几个核心指标

NOTA62026-07-20 11:03
三分钟看懂RAG评估的几个核心指标

RAG 评估里,通常会把系统拆成两个部分评估:一是“检索器有没有把正确资料找回来”,二是“生成器有没有基于资料给出正确答案”。

MRR、Precision@K、NDCG 主要属于“检索评估指标”,经常用来衡量 RAG 的 retrieval 阶段好不好。

【1】MRR 是 Mean Reciprocal Rank

MRR是“平均倒数排名”。它关注的是:第一个相关结果出现在第几名。

假设用户问一个问题,系统返回 10 条文档,真正有用的文档排在第 1 名,那么 Reciprocal Rank 是 1/1 = 1;如果第一条有用文档排在第 2 名,就是 1/2 = 0.5;如果排在第 5 名,就是 1/5 = 0.2。

MRR 就是对很多个问题的这个值求平均。

它适合评估“用户只需要一个最相关答案”的场景,比如 FAQ、客服知识库、问答检索。MRR 越高,说明相关文档越早出现。比如 MRR = 0.8 通常意味着大多数问题的正确文档都排得很靠前;MRR = 0.2 则说明正确文档经常排在比较后面,生成模型可能拿不到最关键依据。

【2】Precision@K

Precision@K是“前 K 条结果中,有多少比例是相关的”。例如 Precision@5 就看返回的前 5 条里面有几条是相关文档。如果前 5 条里有 3 条相关,那么 Precision@5 = 3/5 = 0.6。

这个指标适合评估返回结果的“纯度”。

在 RAG 中,如果你把 top 5 文档喂给大模型,那么 Precision@5 高,说明上下文里噪声少;Precision@5 低,说明模型看到的无关信息多,容易幻觉或答偏。它的缺点是只看前 K 条中相关结果的比例,不太关心相关结果的排序。也就是说,相关文档排第 1 和排第 5,在 Precision@5 里贡献是一样的。

【3】NDCG 是 Normalized Discounted Cumulative Gain

NDCG“归一化折损累计增益”。它比 MRR 和 Precision@K 更细,因为它不仅看“相关不相关”,还可以看“相关程度”。

例如一条文档可以打分为 3 分“高度相关”、2 分“比较相关”、1 分“有点相关”、0 分“不相关”。NDCG 会奖励高相关文档排在前面,同时对排在后面的相关文档进行折损。

换句话说,同样是找到相关文档,把最相关的放在第 1 名,会比放在第 5 名得分高很多。

NDCG@K 就是只看前 K 条结果。例如 NDCG@10 用来评估前 10 条排序质量。

它特别适合搜索、推荐、知识库检索、RAG 多文档召回等场景,因为 RAG 往往不是只靠一个文档,而是希望前几条文档整体质量高、排序合理。

【4】Recall@K 召回率

RAG 检索评估里还有一个特别重要的指标叫 Recall@K,也就是“前 K 条结果是否把应该找回的相关文档尽可能找全”。例如某个问题有 4 条相关文档,系统 top 5 找回了其中 3 条,那么 Recall@5 = 3/4 = 0.75。RAG 场景里 Recall@K 往往非常关键,因为如果正确材料没有被召回,后面的生成模型再强也很难答对。

在 RAG 中,K 通常对应你最终传给大模型的检索文档数量,比如 top_k = 5,那么 Precision@5、Recall@5、NDCG@5 就很常用。

简单对比一下:MRR 关注“第一个正确文档排得有多靠前”;Precision@K 关注“前 K 条里有多少是相关的”;Recall@K 关注“相关文档有没有被找回来”;NDCG@K 关注“相关文档,尤其是高相关文档,排序是否合理”

点赞收藏
// 评论0
0 / 500
还没有评论,快来抢沙发