RAG 系统评估完整指南:指标、架构与 LangChain4j 实践
评估一个检索增强生成(RAG)系统的效果,是将其从原型推向生产环境前最关键的一步。由于 RAG 系统由检索与生成两个关键阶段串联而成,其评估体系也相应地需要分阶段、多维度地进行。本文将系统性地介绍 RAG 评估的核心架构、常用指标,以及在 LangChain4j 生态中的具体实践方法。
一、RAG 评估的核心架构
一个完整的 RAG 评估架构由两条评估主线构成:检索质量评估和生成质量评估。两者相辅相成,最终形成对系统整体效能的判断。

1.1 分阶段评估的必要性
RAG 系统的两个阶段相互依赖但目标不同:
- 检索阶段的目标是'找得对、找得全'——从知识库中召回与查询相关的文档片段
- 生成阶段的目标是'答得好、答得准'——基于召回的片段生成忠实、相关的答案
如果仅看最终答案的质量,无法定位问题根源:是检索没找到相关信息,还是大模型没有正确使用找到的信息?因此,必须分阶段评估。
1.2 有参考评估 vs 无参考评估
- 有参考评估:需要标准答案(Ground Truth),通过对比生成答案与标准答案来计算指标(如 BLEU、ROUGE)。优点是客观可量化,缺点是构建标准答案成本高。
- 无参考评估:无需标准答案,利用大模型自身(LLM-as-a-Judge)或专用框架(如 RAGAS)对答案质量进行评分。优点是自动化程度高,与人类判断一致性较好。
二、核心评估指标详解
RAG 评估的指标体系可以归纳为以下三大类:
2.1 检索阶段指标
| 指标 | 定义 | 计算方法 | 理想范围 |
|---|---|---|---|
| 上下文精度 Context Precision | 检索到的文档片段中,与问题真正相关的比例。 | 相关片段数 / 检索到的总片段数 | > 0.8 |
| 上下文召回率 Context Recall | 标准答案中出现的所有关键信息,有多少被检索到的文档片段覆盖。 | 将标准答案拆分为多个 claims,计算可从上下文中推断出的比例 | > 0.8 |
| Precision@K | 检索结果的前 K 个条目中,相关条目的比例。 | 前 K 条中的相关数 / K | 视 K 而定 |
| Recall@K | 所有相关文档中,有多少出现在前 K 条结果中。 | 前 K 条中的相关数 / 总相关文档数 | 视 K 而定 |
| MRR 平均倒数排名 | 第一个相关结果在检索列表中的排名的倒数,取平均值。 | (1/rank₁ + 1/rank₂ + …) / N | 越接近 1 越好 |
计算示例:假设用户查询 Q,知识库中有 5 篇相关文档。检索系统返回前 10 条结果,其中包含 3 篇相关文档。则:


