微信扫码
添加专属顾问
我要投稿
深入解析RAG系统的核心指标:召回率与准确率如何相互制约又相辅相成。 核心内容: 1. 召回率与准确率的定义与计算公式 2. 两者在RAG系统中的矛盾关系与平衡策略 3. 实际优化案例:从相似度检索到重排序的两阶段解决方案
“ RAG的优化方向只有两个,召回率和准确率也就是精度。”
在前面的文档中简单介绍过RAG的几种优化方式,因为从本质上来说RAG的目的只有一个,那就是快速并且准确的召回数据。
但在实际的RAG系统中,我们往往会面临着一个问题,那就是召回率和准确率的问题;如果RAG系统的召回率太低,那么RAG就没有了存在的意义。
以作者目前遇到的实际问题为例,就是数据召回率不足,更不用说召回的准确率了,也就是精度。
虽然说影响RAG效果的因素有很多,但单纯的从RAG的角度来说,主要就两个方面:
1. 召回率
2. 召回准确率
任何与RAG有关的优化方案,基本上可以说都是从这两个角度出发;所以,今天我们就主要来讨论一下这两个问题。
RAG召回率和准确率问题
很多人在做RAG的时候都没有搞明白一个问题,那就是召回率和准确率,以及其之间的关系。
我们知道在大模型的应用中,召回文档的质量直接影响到模型的输出结果;因此,召回文档的重要性就不言而喻了。
甚至很多人都不知道怎么去评判一个RAG系统的好坏,以及具体是哪些因素影响了RAG的表现?
作者刚开始在做RAG系统的时候感觉RAG好简单,流程明确,也不复杂;无非就是切分一下文档,然后通过嵌入模型和相似度检索对文档进行召回即可。
但在实际的操作过程中却发现,虽然RAG系统实现起来很简单,但要真的想把RAG给做好,却不是一件容易的事情。
作者目前遇到的一个问题就是,RAG系统整体是跑起来了,但其召回率特别低,还不到百分之五十;其中一部分是文档处理的质量不太好,其次就是召回策略的问题。
但不管是什么问题,总之就涉及到两个概念;召回率和准确率。
召回率解决的是召回相关文档的数量,准确率解决的是召回相关文档的准确性,也是有效性。
但很多时候召回率和准确率是一个矛盾体,想提升精度,就必须限制其检索范围,但限制检索范围就肯定会影响到召回率;反之亦然。
当然,面对这种问题业界的普遍做法还是分为两步,第一步是先解决召回率问题,第二步再通过精排或其它方式解决准确性问题。
以相似度检索和重排序为例:
1. **召回率(Recall)**: - 定义:在所有相关文档中,系统成功检索出的比例。 - 公式:Recall = (检索出的相关文档数) / (总相关文档数) - 目标:尽量不遗漏任何相关文档(即减少漏检)。
2. **准确度(Precision)**: - 这里我们特指召回的准确度,即检索结果中相关文档的比例。通常我们关注Top K的准确度(Precision@K)。 - 公式:Precision@K = (前K个结果中相关文档数) / K - 目标:确保返回的文档尽可能都是相关的(即减少噪声)。
**区别与联系**
区别:
- 召回率关注的是系统找到所有相关文档的能力,强调“全”。
- 准确度关注的是系统返回的文档中有多少是相关的,强调“准”。
联系:
- 两者通常是一对矛盾(召回率高时,准确度往往低;反之亦然)。
因为为了追求高召回率,我们可能会放宽检索条件,导致返回更多不相关文档(准确度下降)。而为了追求高准确度,我们可能会设置严格的检索条件,导致漏掉一些相关文档(召回率下降)。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2025-08-07
RAGFlow 实践:SQL Assistant 工作流搭建
2025-08-07
使用 Milvus 快速搭建 RAG 服务
2025-08-07
你每天用的AI,可能被“投毒”了!
2025-08-07
大模型私有化部署安全防护策略(下)
2025-08-07
打造企业专属知识大脑!用Dify构建RAG智能能问答系统,让知识检索像聊天一样简单
2025-08-06
检索增强生成(RAG):其架构、演进与变革性影响的全面解析
2025-08-06
检索增强生成(RAG)技术的架构、工作流与实际应用
2025-08-05
关于RAG和智能体的区别,从某方面来说智能体也是RAG的一种实现方式
2025-05-30
2025-06-05
2025-06-06
2025-05-19
2025-05-10
2025-06-05
2025-05-20
2025-06-05
2025-05-27
2025-05-13
2025-08-05
2025-07-28
2025-07-09
2025-07-04
2025-07-01
2025-07-01
2025-07-01
2025-07-01