一、引文当我们做出来了自己的 RAG 系统智能客服也好企业内部知识库助手也罢把它们上线给用户使用后难免后面会根据实际落地效果和用户反馈进行系统的优化升级。但是你真的搞懂了怎么去评价一个 RAG 系统的好坏呢它有哪些评价标准呢这些标准又受到 RAG 哪些环节的影响呢如果不知道这些的话就连最单纯的头痛医头、脚痛医脚都做不到又何谈用全面的观点看问题做系统性优化呢因此在这篇文章中我将着重讲解 RAG 的评估体系让大家了解它的各项评估指标以便对自己的 RAG 系统做监测做优化。二、系统化评估指标在介绍 RAG 的系统化评估指标前我们需要对 RAG 进行分层主要划分为检索阶段、生成阶段、端到端阶段。每个阶段有各自的评估指标由此我们可以根据某个指标的数据来确定是 RAG 的哪个阶段出了问题。1.检索阶段检索阶段其实就是我们熟悉的拿着查询向量去向量数据库中检索或者根据 BM25 关键词检索召回相关的文档 chunk。1命中率当多条问答作为测试样本时召回的 chunk 里面有正确答案就记为命中反之就是未命中。命中率 命中次数 / 总问题数。命中率存在一个明显的缺点就是他不关心包含正确答案的 chunk 排在召回的那批 chunk 的第几位只要那批 chunk 里面有命中正确答案的 chunk那么那个正确答案 chunk 排在召回chunk 的第一位还是最后一位效果都是一样的但事实上它们背后反映的检索性能是相差很大的。2MRRMRR 又叫平均倒数排名它是在关注命中率的基础上也关心正确答案 chunk 排在召回的那批 chunk 中的第几位越靠前分数越高类似于第一位得 1 分第二位得 1/2 分第三位得 1/3 分最后 MRR 测试样本总得分 / 总问题数。它比命中率更能反映检索的质量。MRR 的直觉理解MRR 0.7 意味着平均来看正确答案大约排在第 1.4 位1 / 0.7 ≈ 1.43。MRR 越接近 1说明正确答案越稳定地排在第 1 位。3召回率命中率和 MRR 都是假设正确答案只存在于一个文档块里面但是现实中可能正确答案分布在多个文档块需要将它们全部召回才能拼凑起足以回答问题的上下文。召回率便是基于后一种假设的评估指标它关注的是检索阶段有没有找全。如果说包含正确答案的文档块一共有 N 个但是检索阶段只找回了 M 个那我们就说此次检索的召回率 M / N。4精确率精确率跟召回率一样都是基于后一种假设它关注的是检索阶段找的准不准的。如果说检索阶段召回的文档块一共有 N 个但是真正有用的只有 M 个那我们就说此次检索的精确率 M / N。2.生成阶段检索阶段我们重点是在它有没有召回正确的 chunk在生成阶段我们主要是看大模型有没有好好利用这些 chunk 来回答。1忠实度忠实度主要是看大模型有没有严格遵照返回的 chunk 进行回答还是说编造了 chunk 中没有的信息进行回答。忠实度不等于正确率有可能文档内容就是错的但是大模型忠实度高严格遵照 chunk 回答那么答案也就是错的。2答案相关性答案相关性是指大模型的回答是不是跟用户问题的答案是相关的它关注的是答案是否正确的问题。3.端到端的评估指标所谓的端到端其实就是看大模型最终的回答有没有解决用户问题1答案正确率以答案正确率作为标准首先必须有一个标准答案将大模型回答按照语义相关性跟标准答案进行匹配计算相关性得分。2兜底率所谓的兜底就是说大模型无法召回与用户问题相关的 chunk也可以理解为当前 RAG 的知识库中的知识不具备回答该问题的能力这个时候又不能让大模型不输出或瞎编所以通常会在它的 Prompt 中加入兜底策略即召回的 chunk 中没有相关的就说返回友好语句说自己不知道。那兜底率其实就是大模型兜底行为发送的概率。3用户满意度在真实的线上场景中最大的业务指标其实是用户的满意度即用户根据使用反馈可以选择点赞或拉踩我们就可以记录这些行为数据对 RAG 进行调优。三、LLM-as-Judge在上一小节中我们已经了解了 RAG 的一些系统化评估指标从检索阶段到端到端的评估指标那么应该如何计算你 RAG 系统的这些指标呢。一种常见的策略是 LLM-as-Judge 人工定期审查。所谓的 LLM-as-Judge 其实就是用另一个不同于检索、生成阶段的大模型避免自我偏好对另一个大模型的检索阶段和生成阶段还有端到端的评估指标按照上一小节提到的那些评估指标进行打分。其好处在于评估模型也具备理解语义的功能因此只要把会话记录扔给他他就能轻松计算出生成阶段的忠实度、答案相关性这些指标如果人去一个个看无疑是非常浪费时间的。简而言之用一个大模型来充当评委对另一个大模型的回答打分。这就是 LLM-as-Judge。给评委模型一个评分 Prompt明确告诉它评分维度、评分标准让它输出结构化的评分结果。设计三个评分 Prompt分别评估忠实度、相关性和正确率。人工定期审查是作为一种保险随机抽查评估模型的打分样本与人力打分进行对比然后看评估模型打分的准确率再考虑是否对评估模型进行优化。四、总结我们今天主要围绕 RAG 系统评估展开指出上线后优化需先明确评估标准将 RAG 分为检索、生成、端到端三阶段分别介绍各阶段核心评估指标如检索阶段的命中率、MRR 等生成阶段的忠实度等端到端的正确率等。同时提出采用 LLM-as-Judge用独立大模型按设定标准打分结合人工定期审查的方式高效计算各项指标助力 RAG 系统监测与优化。