支持私有化部署
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


详解RAG评估指标与评估方法

发布日期:2025-07-11 21:22:37 浏览次数: 1528
作者:极客e家

微信搜一搜,关注“极客e家”

推荐语

深入了解RAG技术如何通过检索与生成的结合提升AI回答质量,并掌握关键评估指标。

核心内容:
1. RAG技术的三大核心流程:索引、检索与生成
2. 评估RAG系统的三大关键指标:准确率、忠实度与检索效率
3. 召回率、精确度与F值的具体计算与应用场景

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家
今天我们来详细聊聊RAG的评估方法都有哪些。在此之前,先来简单介绍下什么是RAG。

RAG基础概念

Retrieval Augmented Generation,检索增强生成。 RAG = 检索技术(Search)+ LLM 提示。其主要目的是通过从外部检索与输入问题相关的相关信息,然后利用这些信息来引导生成过程,从而提高生成文本的相关性、准确性和多样性。具体可以参照下图:



RAG技术包括三个核心部分:索引(Indexing)、检索(Retrieval)和生成(Generation)。


首先,系统会对原始知识先进行分割切片,然后利用向量模型(Embedding Model)进行编码并存储在向量数据库中。


其次,当用户提出问题时,会使用检索算法(如BM25、DPR、ColBERT等)从向量数据库中找到最相关的信息。


最后,这些检索到的信息被整合到原始问题(提示词Prompt)中作为上下文输入到一个生成模型,最终生成更准确且符合上下文的答案。


RAG评估指标
上面给大家解释了RAG的整体流程,然后我们再来看看,RAG的评估指标都有哪些。在评估的过程中,我们会特别关注几个关键的方面,首先是对最终结果准确性的考量,其次是聚焦于大模型的能力,最后是如何评估检索阶段的效果。

准确率:简单解释就是站在用户的角度,评判答案是否符合实际的需求。因为无论中间过程多复杂,对用户来说是不关心的,只关心最终的结果是否符合他们的希望,这是最直观,也是我认为最重要的一个评估指标。

忠实度:这个主要指大模型层面,看生成的内容是否忠实于所提供的上下文信息。简单理解,我们精准找到了相关的参考文档,并把这些文档内容和原始问题一起给到大模型之后,模型的回答是不是基于所提供的这个参考文档来给出的。如果回答能够准确反映文档中的信息,那我们就说它的忠实度高,反之就说明忠实度不足。如果发现忠实度不达标,可能就需要考虑一下换一个模型了。因为在这种情况下,问题不在于检索到的信息,而是在于大模型不能有效利用这些信息来给出满意的答复。

召回率(Recall、精确度(Precision)、F值这三个指标主要是用于评估检索阶段的有效性。其中召回率关注的是信息找的全不全,确保没有遗漏相关的信息;精确度关注的是你的信息找的准不准,确保找的信息都是有用的;最后F值是召回率和精确率的平衡点,是一个综合指标。

具体详细解释下,这其中蕴含着计算公式,参照下图:


例如我现在想从知识库中查询有关药的书籍,正确的应该有10本。但我查询后,查询出了15本,其中有9本是正确的跟药有关的书籍,另外6本不是。那此时:

召回率:9 / 10 = 90%(检索到了15本,9本相关的有,有1本是相关的但是在15本中未检索到)

精确度:9 / 15 = 60%(检索到了15本,9本是相关的,6本是不相关的)

F值:(2 * 60% * 90%) / (60% + 90%) = 72%

那么在实际的应用中,我们应该更关注哪一个指标呢?我个人认为,倾向于更加重视召回率因为现在大模型对于噪声数据有着比较高的容忍度,即使包含了一些错误或者噪声数据。一般情况下。大模型也能够过滤掉没用的部分,提炼出准确的答案。所以在条件允许的情况下,比如说GPU资源充足,系统性能足够强大,我会建议尽可能的优化召回率。这样做不仅能确保我们不会错过任何重要的信息,也能够让我们的模型啊,在面对复杂问题的时候,更加的稳健。


RAG评估方法
现在RAG的评估方法,一般分为两大类,人工评估和模型自动评估

人工评估:首先,我们需要准备一些样本数据,这些样本就包含了问题及其对应的标准答案,还有针对每个回答设定的评分标准。其次,我们就可以把这些问题输入到你的RAG系统中,去获取最后运行后的结果。最后,也就是最关键的一步,需要评估人员对RAG系统的回答进行交叉检查并评分来确保每个回答是否准确或给予相应的分数。

通过这种方式。我们就可以直接衡量RAG系统回答的准确性,或者得到一个综合的评分来反映整体的表现。


自动评估:自动评估同样也需要预先准备包含问题和标准答案的测试样本集,然后把这些问题交给RAG系统来获得作答结果。在自动评估的过程中,介绍两种主要的技术路径:


第一种方法是把问题和系统的作答结果输入到Cross-Encoder模型,得到它们之间的相关性作为得分。

第二种方法是计算标准答案和系统输出之间的文本相似度,以此作为评分的基础。


理论上,如果两者的相似度越高,那么模型回答的准确性也就越高。


值得我们注意的是,在第一种方法中,即使没有标准答案,也可以通过对问题和系统回答的相关性分析来进行初步的评分,这对于早期阶段的快速迭代特别有用


最后,我们还要充分利用工具的力量。人工评估虽然比较精准,但确实非常耗时耗力,我们不妨用一些三方平台提供的强大评估工具和服务(例如LangSmith平台和Langfuse平台),当我们运行RAG服务时,这些平台不仅能够帮助我们追踪整个过程,从找到什么样的上下文,到最终的检索和生成的效果,还能够提供一站式的全面评估服务,这样一来,我们就可以轻松的掌握各个环节的表现,确保评估结果的准确性和可靠性。


当然,也可以考虑用类似RAGAS框架去解决。

https://docs.ragas.io/en/v0.1.21/getstarted/index.html

https://github.com/explodinggradients/ragas

(正文完)

更多精彩内容,欢迎扫码加入免费知识星球
极客e家

共同打造极客文化,免费资料随便拿

图片

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询