在 RAG 系统中,检索是生成的前置环节。检索质量直接决定了模型能“看到”什么样的材料,进而影响最终回答的准确性和可信度。如果检索环节出了问题——召回不到相关文档、混入大量无关内容——生成阶段再强的模型也无济于事。因此,在系统上线或优化迭代时,单独评估检索侧的表现至关重要。
以下是经实践验证最常用、最务实的一组检索评估指标,无需全部都用,按场景选配即可。
1. 召回率(Recall)—— “该找的都找到没有?”
定义:在所有相关的文档片段中,检索成功召回的比例。
\[
\text{Recall@K} = \frac{|\text{检索到的相关片段} \cap \text{所有相关片段}|}{|\text{所有相关片段}|}
\]
为什么重要:RAG 系统最怕漏掉关键信息。漏了,后面的生成就可能缺失事实甚至出幻觉。Recall 衡量的是“查全”能力,是底线指标。
实用说明:
- 通常需要人工标注一组(问题,相关文档片段)对。比如从知识库中挑了 200 个问题,为每个问题标注好哪些片段是“正确的参考材料”。
- 计算时设定 K(如 top‑5、top‑10),看这些召回片段涵盖了标注片段的多少。
- Recall@5 达到 90% 以上是一个常见目标,具体取决于领域和知识库规模。
2. 精确率(Precision)—— “召回的里面有多少是真正有用的?”
定义:在检索返回的所有片段中,真正相关的比例。
\[
\text{Precision@K} = \frac{|\text{检索到的相关片段}|}{K}
\]
为什么重要:高召回但精确率太低,意味着大量无关内容被塞进提示词。这不仅浪费 token 成本,还可能干扰模型判断,降低生成质量。精确率衡量的是“信号与噪声比”。
实用说明:
- 同样基于标注数据计算。
- Precision@K 适合评估是否需要调整检索阈值(相似度阈值)或增加重排序环节。
- 在实践里,通常希望召回率尽可能高,同时精确率保持在合理水平(比如不低于 0.5),而不是追求某个极端。
3. 命中率(Hit Rate)—— “至少有一个对的吗?”
定义:在所有测试问题中,检索结果中至少包含一个相关片段的问题占比。
\[
\text{Hit Rate@K} = \frac{\text{至少命中一个相关片段的问题数}}{\text{总问题数}}
\]
为什么重要:这是一个更“宽容”的指标,每次查询只关心有没有命中,不关心命中的数量。特别适用于评估系统能否保证“每问必有所答”。
实用说明:
- 如果场景中大部分问题只需要一个正确片段即可回答(如 FAQ 类场景),Hit Rate 可作为主要指标。
- 通常 Hit Rate@K 会随 K 增加快速收敛,观察收敛点有助确定合理的检索数量。
4. 平均倒数排名(MRR)—— “第一个对的片段排在第几位?”
定义:对所有问题,计算第一个相关片段在检索结果中的排名的倒数,再取平均值。
\[
\text{MRR} = \frac{1}{|Q|} \sum_{i=1}^{|Q|} \frac{1}{\text{rank}_i}
\]
其中 \( \text{rank}_i \) 是第 i 个问题中第一个相关片段出现的位置(从 1 开始),若没找到则该项为 0。
为什么重要:在 prompt 中,片段的排列顺序会影响模型对信息的重视程度(通常越靠前的越受重视)。MRR 衡量系统能否把最相关的片段排在前面,代表检索的“排序质量”。
实用说明:
- 适合需要模型优先采纳某些答案的场景,例如技术支持中希望最权威的手册排在首位。
- MRR 很直观:如果第一个结果总是相关的,MRR=1;如果是第 5 个才相关,该项贡献 0.2。
5. NDCG(归一化折损累计增益)—— “排序有多接近理想状态?”
定义:考虑了排序位置和相关性等级(而非二元相关/不相关)的评价指标。
\[
\text{NDCG@K} = \frac{\text{DCG@K}}{\text{IDCG@K}}
\]
DCG 按照位置给予衰减权重并乘以相关性分数,IDCG 是理想排序下的 DCG。
为什么重要:当你能对片段的相关性进行多级标注时(例如“高度相关/部分相关/无关”),NDCG 能更细腻地反映排序质量。召回率和精确率只做二元判断,NDCG 则利用等级信息。
实用说明:
- 在知识库严格管理的场景中,如果已有“文档权威等级”或“答案完整度”标签,NDCG 能给出更精细的评估。
- 但多级标注成本较高,一般只用在关键项目或线上评估。
6. 实践中的闭环评估
以上指标都不是孤立使用的。一个典型的检索评估流程如下:
- 建立测试集:抽取真实或覆盖性强的用户问题,人工标注相关片段(ID 范围即可)。
- 离线测算:运行检索模块,对每个问题记录 top‑K 结果,与标注集比对,算出 Recall、Precision、Hit Rate、MRR。
- 分析短板:
- Recall 低:可能是切分策略导致信息分散,或嵌入模型对领域语义捕捉不够,需改进索引。
- Precision 低:可能需要加相似度阈值截断,或引入重排序(Reranker)二次筛选。
- MRR 低:核心片段没排在前面,需调整检索算法或引入更丰富的排序特征。
- 联调生成评估:检索指标好,不代表生成就好。最终一定要结合章节 10.2 将介绍的生成侧评估指标,完整判断系统表现。
通过系统性地测量检索侧指标,你能精确找到 RAG 流水线的薄弱环节,做到优化有方向、效果可量化,为后续生成侧评估和端到端评测打下坚实基础。