Loading [MathJax]/jax/element/mml/optable/BasicLatin.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >怎么知道效果提升了?7个用于改进RAG系统的检索指标

怎么知道效果提升了?7个用于改进RAG系统的检索指标

作者头像
致Great
发布于 2025-02-17 10:47:42
发布于 2025-02-17 10:47:42
53300
代码可运行
举报
文章被收录于专栏:自然语言处理自然语言处理
运行总次数:0
代码可运行

上下文是关键:检索增强生成(Retrieval Augmented Generation, RAG)

大型语言模型(LLM)是一种生成式人工智能技术,在过去两年中获得了极大的关注。然而,当我们将LLM应用于实际场景时,仍然面临知识局限性和“幻觉”问题。检索增强生成(RAG)通过为LLM提供额外的记忆和上下文来解决这些问题。在2024年,RAG已成为应用生成式AI领域最受欢迎的技术之一。事实上,可以假设任何基于LLM的应用程序都以某种方式使用了RAG。

RAG通过访问非参数化记忆增强了LLM的参数化记忆

图片来源:https://medium.com/the-rag-explorer/7-retrieval-metrics-for-better-rag-systems-f04c098abbe7

RAG评估:通过指标评估超越简单RAG(Naive RAG)

为了让RAG兑现其将LLM响应扎根于数据的承诺,我们需要超越简单的索引、检索、增强和生成的实现。然而,要改进某件事,首先需要衡量其性能。RAG评估有助于为您的RAG系统性能设定基准,以便后续进行优化。

构建一个概念验证(PoC)RAG管道并不复杂。LangChain 和 LlamaIndex 等工具已经使其变得相当简单。通过简短的培训和对有限示例集的验证即可完成。然而,为了提高其鲁棒性,必须在一个能够准确反映生产用例的数据集上进行全面测试。RAG管道可能会产生自身的“幻觉”。从高层次来看,RAG系统有三个主要的失败点:

  • 检索器未能检索到完整的上下文,或检索到了无关的上下文;
  • 即使提供了上下文,LLM也未考虑它;
  • LLM没有回答查询,而是从上下文中选择了无关的信息。

检索质量是RAG管道的第一个可能的失败环节

在这篇文章中,我们将重点介绍一些评估指标,这些指标专注于第一个失败点——“检索器未能检索到完整的上下文,或检索到了无关的上下文”。 换句话说,这些指标用于评估检索器的质量。

检索指标

评估RAG(检索增强生成)系统的评价指标可以分为三大类:

  1. 用于信息检索任务的检索指标(本文重点讨论的内容)
  2. 生成特定指标,如BLEU、ROUGE、METEOR等,这些指标关注生成内容的流畅性,并衡量相关性和语义相似性。
  3. RAG特定指标随着RAG应用的普及而逐渐发展改变

RAG中的检索组件可以独立评估,以判断检索器是否能够很好地满足用户查询需求。接下来,我们将介绍七种流行的指标,它们不仅适用于RAG系统,还广泛应用于搜索引擎、推荐系统等信息检索任务中。

知识库的概念

在RAG中,知识库是一个非常重要的概念。它是一种非参数化的存储器,保存了RAG系统所处理的所有文档。

七大检索指标详解

1. 准确率(Accuracy)

准确率通常定义为正确预测的比例(包括真正例和真负例)与总案例数之比。如果你熟悉监督学习中的分类问题,可能已经对这个指标有所了解。在检索和RAG的背景下,它的计算方式如下:

公式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
准确率 = (检索到的相关文档数量 + 未检索到的不相关文档数量) / 知识库中文档总数

虽然准确率是一个简单直观的指标,但它并不是检索任务的主要指标。在大型知识库中,大多数文档通常与任何给定查询无关,这可能导致误导性的高准确率分数。此外,它没有考虑检索结果的排序。


2. 精确率(Precision)

精确率关注的是检索结果的质量,衡量检索到的文档中有多少是与用户查询相关的。它回答的问题是:“在所有检索到的文档中,有多少是真正相关的?”

公式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
精确率 = 检索到的相关文档数量 / 总检索文档数量

较高的精确率意味着检索器表现良好,主要返回相关文档。

注意: 精确率也是分类任务中常用的指标,在分类任务中,它被定义为模型预测为正类的样本中实际为正类的比例,即:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
精确率 = 真正例 / (真正例 + 假正例)

Precision@k: 这是精确率的一个变体,衡量前“k”个检索结果中相关文档的比例。它特别重要,因为它专注于顶部结果,而不是所有检索到的文档。对于RAG来说,这一点尤为重要,因为只有顶部结果最有可能被用于增强生成。

公式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Precision@k = 前“k”个结果中的相关文档数量 / k

例如,如果我们的RAG系统考虑前5个文档进行增强,那么Precision@5就变得至关重要。一个Precision@5值为0.8或4/5表示,在前5个结果中,有4个是相关的。

优点: Precision@k还可以用来比较不同系统,尤其是在不同系统检索结果总数不同的情况下。然而,其局限性在于“k”的选择可能是任意的,且该指标不会考虑超出“k”范围的结果。


3. 召回率(Recall)

召回率关注的是检索器的覆盖范围,衡量从知识库中所有相关文档中检索出的相关文档比例。它回答的问题是:“在所有相关文档中,有多少被实际检索到了?”

公式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
召回率 = 检索到的相关文档数量 / 知识库中的相关文档总数

需要注意的是,与精确率不同,召回率的计算需要事先知道相关文档的总数。在拥有大量文档的知识库中,这一点可能会变得具有挑战性。

注意: 与精确率一样,召回率也不考虑检索结果的排序。它可能会产生误导,因为检索知识库中的所有文档会导致完美的召回率值。

Recall@k: 类似于Precision@k,Recall@k衡量的是前“k”个结果中相关文档的比例,相对于知识库中所有相关文档的数量。

公式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Recall@k = 前“k”个结果中的相关文档数量 / 知识库中的相关文档总数

召回率和准确率的不同场景

4. F1分数(F1-score)

F1分数是精确率和召回率的调和平均值,提供了一个平衡质量和覆盖率的单一指标。

公式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
F1-score= 2 x (Precision x Recall) / (Precision + Recall)

f1 分数平衡了准确率和召回率。准确率和召回率都为中等时,其 f1 分数会高于一个值非常高而另一个值非常低的情况。

该公式的特点是,当精确率或召回率较低时,F1分数会被惩罚;只有当两者都较高时,才能获得较高的F1分数。这意味着单靠某一项指标无法使F1分数偏高。

优点: F1分数提供了一个单一、平衡的度量标准,可以轻松比较不同系统。然而,它不考虑排序,并且对精确率和召回率赋予相同的权重,这可能并不总是理想的。

注意:

“相关”文档:我们讨论的大多数指标都涉及“相关”文档的概念。例如,精确率是通过检索到的相关文档数量除以总检索文档数量来计算的。问题是——如何确定某个文档是相关的?简单的答案是采用人工评估方法。领域专家查看文档并判断其相关性。人工评估会带来主观性,因此通常由专家组而非个人完成。但人工评估在规模和成本上存在限制。任何能够可靠建立相关性的数据都会变得极其有用。

Ground Truth 是已知真实或正确的信息。在RAG和生成式AI领域中,Ground Truth是一组预先准备好的Prompt-Context-Response或Question-Context-Response示例,类似于监督学习中的标注数据。为你的知识库创建的Ground Truth数据可用于评估RAG系统。

前四个指标不考虑文档的排名。它们从整体检索角度评估系统的有效性。接下来的三个指标也会考虑结果的排名。

5. 平均倒数排名(MRR, Mean Reciprocal Rank)

MRR特别适用于评估相关文档的排名。它衡量的是第一个相关文档在结果列表中的倒数排名。MRR是针对一组查询计算的。

公式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
MRR= 1/N x [Summation i=1 to N (1/rank(i))]

MRR 考虑排名,但不考虑所有文档

其中,N是查询总数,rank(i)是第i个查询中第一个相关文档的排名。

优点: MRR特别适合关注系统找到相关文档的速度,并考虑结果的排序。然而,由于它只关注第一个相关结果,因此在多个相关结果重要的场景下可能不够理想。


6. 平均精度均值(MAP, Mean Average Precision)

MAP是一种结合了精确率和召回率的指标,它在不同“k”截断水平下计算。首先计算每个查询的平均精度(Average Precision),然后对所有查询取平均值。

公式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Average Precision (单个查询) = 1/R(i) × [求和 k=1n (Precision@k × 第k个文档的相关性)]

MAP 考虑所有检索到的文档,并给出更高的分数以获得更好的排名

其中,

R(i)

是查询i的相关文档数量,

Precision@k

是截断“k”时的精确率,rel@k是一个二进制标志,指示第k个文档的相关性。

MAP公式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
MAP= 1/N x [Summation i=1 to N (Average Precision (i)]

优点: MAP提供了一个跨召回水平的单一质量度量,非常适合关注结果排序的场景,但计算较为复杂。


7. 归一化折损累计增益(nDCG, Normalized Discounted Cumulative Gain)

nDCG通过考虑相关文档在结果列表中的位置来评估排序质量,并为出现在前面的相关文档分配更高的分数。它特别适用于文档具有不同程度相关性的场景。

公式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
DCG = 求和 i=1n ((2^rel(i) - 1) / log(i+1))

其中,

rel(i)

是位置i处文档的相关性得分。IDCG是理想情况下的DCG,即完美排序的DCG。nDCG是实际DCG与理想DCG的比值。

公式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nDCG = DCG / IDCG

优点:

**nDCG考虑了文档的不同相关程度,并对高排名的项目赋予更高的权重。**然而,它计算复杂,需要为文档分配相关性得分,这可能带来主观性,同时折扣因子的选择会显著影响结果。

总结

检索系统不仅用于RAG,还广泛应用于网络和企业搜索引擎、电商产品搜索、个性化推荐、社交媒体广告检索、档案系统、数据库、虚拟助手等领域。这些检索指标有助于评估和改进性能,从而更好地满足用户需求。

你认为还有哪些指标可以补充到这个列表中呢?欢迎留言告诉大家!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-02-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
你的RAG系统真的达标了吗?生产环境RAG成功的7大关键指标
在企业或者单位内部,我们搞了个RAG应用,塞进去一堆文档,想着能给团队提供又快又准的信息。刚开始,那感觉简直像变魔术一样神奇!但大家都知道,大模型总有穿帮的时候,现实总会给你当头一棒。
致Great
2025/01/13
3310
你的RAG系统真的达标了吗?生产环境RAG成功的7大关键指标
RAG全栈技术从基础到精通 ,打造高精准AI应用
RAG 即“检索增强生成”(Retrieval Augmented Generation),这项技术通过将大量外部数据与基础模型相结合,显著增强了语言模型(LLM)的能力,使得AI的回应更加真实、个性化和可靠。
奔跑企鹅907340320
2025/03/04
3770
推荐系统遇上深度学习(十六)--详解推荐系统中的常用评测指标
最近阅读论文的过程中,发现推荐系统中的评价指标真的是五花八门,今天我们就来系统的总结一下,这些指标有的适用于二分类问题,有的适用于对推荐列表topk的评价。
用户1332428
2023/03/28
1.3K0
推荐系统遇上深度学习(十六)--详解推荐系统中的常用评测指标
评估与优化RAG指南:提高准确性与质量的最佳实践
本指南将教你如何评估一个 RAG 系统的准确性 和质量。你将学会通过测试搜索精度、召回率、上下文相关性和响应准确性来保持 RAG 系统的性能。
AgenticAI
2025/03/18
1980
评估与优化RAG指南:提高准确性与质量的最佳实践
深度测评 RAG 应用评估框架:指标最全面的 RAGas
大家常说 RAG 应用是:一周出 demo,半年用不好。那么怎么评估 RAG 应用是否能够上生产了呢?如果公司人手足够,当然可以人工测试评估准确性,但指标未免单一。本文介绍一个全自动化的 rag 应用评估框架 ragas。
AgenticAI
2025/03/18
7800
深度测评 RAG 应用评估框架:指标最全面的 RAGas
RAG 修炼手册|如何评估 RAG 应用?
如果你是一名用户,拥有两个不同的 RAG 应用,如何评判哪个更好?对于开发者而言,如何定量迭代提升你的 RAG 应用的性能?
Zilliz RDS
2024/04/25
8450
RAG 修炼手册|如何评估 RAG 应用?
玩转RAG应用:如何选对Embedding模型?
在打造检索增强生成(RAG)应用时,选择合适的Embedding模型就像挑选合适的工具,直接影响到应用的表现和效果。​那么,面对众多的模型,我们该如何轻松找到最适合的那一款呢?​
致Great
2025/03/19
1.4K0
玩转RAG应用:如何选对Embedding模型?
RAG科普文!检索增强生成的技术全景解析
增强生成 (RAG) 是塑造应用生成式 AI 格局的关键技术。Lewis 等人在其开创性论文中提出了一个新概念面向知识密集型 NLP 任务的检索增强生成之后,RAG 迅速成为基石,提高了大型语言模型 (LLM) 输出的可靠性和可信度。
致Great
2025/02/15
8840
RAG科普文!检索增强生成的技术全景解析
RAG 应用中的数据召回率及其应用的探讨
数据召回率是 RAG(Retrieval-Augmented Generation)应用中一个至关重要的性能指标,它衡量模型在检索阶段中成功找到相关数据的能力。这一指标直接影响生成结果的质量,因而受到广泛关注。
编程小妖女
2025/01/07
9090
RAG 应用中的数据召回率及其应用的探讨
从零开始优化 RAG 流程的终极指南,解决检索增强生成的核心挑战
首先,我们将 RAG 工作流程分为三个部分,以增强我们对 RAG 的理解,并优化每个部分以提高整体性能:
致Great
2025/02/22
9660
从零开始优化 RAG 流程的终极指南,解决检索增强生成的核心挑战
推荐系统遇上深度学习(十六)--详解推荐系统中的常用评测指标
最近阅读论文的过程中,发现推荐系统中的评价指标真的是五花八门,今天我们就来系统的总结一下,这些指标有的适用于二分类问题,有的适用于对推荐列表topk的评价。
石晓文
2018/07/25
1.6K0
推荐系统遇上深度学习(十六)--详解推荐系统中的常用评测指标
推荐系统相关效果评测指标总结
一、背景 在互联网信息量爆炸式增长的今天,我们已然从信息匮乏时代走入信息过载的时代。在这样的时代背景下,用户在精准内容消费方面的需求也随之提高,由此浏览器作为移动流量的巨大入口,其角色也自然发生了变化——《艾媒:2017年上半年中国手机浏览器市场研究报告》中提到“目前中国手机浏览器已发展至内容聚合及服务平台阶段,成为移动互联网超级入口及内容聚合平台的手机浏览器产品能满足用户多样化功能需求和提供丰富多样的内容服务。”移动端浏览器的业务重心已经逐渐转向内容消费。而发展个性化推荐(无论内容来源为全局热点或者是个
腾讯移动品质中心TMQ
2018/12/25
9.4K0
推荐系统相关效果评测指标总结
RAG 使用Rerank和两阶段检索来提升你的检索质量
检索增强生成 (RAG)是一个含义丰富的术语。它向世界许诺,但在开发出 RAG 管道后,我们中的许多人仍然在疑惑,为什么它的效果不如我们预期的那样好。
用户1418987
2024/09/06
4750
RAG 使用Rerank和两阶段检索来提升你的检索质量
推荐系统研究中常用的评价指标
“ 本文主要介绍了推荐系统中常用的评价指标,包括评分预测指标,集合推荐指标,排名推荐指标以及多样性和稳定性等。”
石晓文
2020/03/09
3.4K0
推荐系统研究中常用的评价指标
使用RAGAs评估基于Milvus的RAG应用
现在,我们很容易构建一个基于检索增强生成(RAG)的应用,但将其投入生产却非常困难,因为RAG的性能很难达到令人满意的状态。
Zilliz RDS
2024/07/10
5340
使用RAGAs评估基于Milvus的RAG应用
告别碎片化!两大先进分块技术如何提升RAG的语义连贯性?
可以看出, 当前RAG分块策略的研究聚焦于平衡上下文保留与计算效率。传统方法(固定分块、语义分块)在简单场景中仍具优势,而延迟分块和上下文检索在复杂语义任务中表现更优但代价高昂。未来需探索轻量化上下文增强、长文档优化技术,并建立统一评估标准以推动实际应用。
致Great
2025/04/30
1980
告别碎片化!两大先进分块技术如何提升RAG的语义连贯性?
与你生活密切相关的排序算法的评估指标
读完分类与回归算法的评估指标之后,你已经知道了机器学习中分类与回归算法的评估指标。在这篇给大家介绍一些机器学习中排序算法相关的评估指标。
abs_zero
2018/12/05
1K0
【RAG】001.1-RAG相关核心概念
RAG(Retrieval-Augmented Generation,检索增强生成)是一种结合信息检索与生成模型的混合架构,旨在提升生成的准确性和可信度。其核心概念可归纳为以下六个方面:
訾博ZiBo
2025/03/26
3020
个性化推荐质量的优劣,谁说了算?
对推荐结果的评估一直都是十分重要的环节,一个推荐算法或者说排序的优劣直接体现在这些评估指标上。具体地,有三种方式,分别是产品数据层面、机器学习算法层面、用户体验层面。
炼丹笔记
2021/06/15
9780
个性化推荐质量的优劣,谁说了算?
RAG 范式、技术和趋势
这里分享同济大学 Haofen Wang的关于检索增强生成的报告:《Retrieval-Augmented Generation (RAG): Paradigms, Technologies, and Trends》 ,RAG 范式、技术和趋势。
JadePeng
2024/03/16
1.5K0
RAG 范式、技术和趋势
推荐阅读
相关推荐
你的RAG系统真的达标了吗?生产环境RAG成功的7大关键指标
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档