微信扫码
添加专属顾问
我要投稿
深入解析相似度计算与重排序在RAG系统中的关键作用,优化召回与排序的平衡点。核心内容: 1. 相似度召回与重排序的核心区别与协作机制 2. 实际开发中遇到的召回率问题与解决方案 3. Embedding模型与Reranker模型的定位差异与应用场景
“ 相似度召回的作用是快速从海量文档中召回相关文档,而rerank重排序的作用是在这些相关文档中找到相关性最高的文档。”
这段时间在完成基于RAG的聊天对话系统之后,开始优化各个环节的功能;这时才真正发现,RAG做出来不难,想做好真的不容易。
这次在优化上下文结构时发现了一个问题,那就是相似度计算和重排序;在刚开始对相似度计算和重排序的理解就是,通过相似度进行数据召回,然以后再通过重排序找到其中最相关的内容。
这样理解虽然不能说有错,但理解的却不够透彻;在系统开发的过程中曾经遇到过一个问题,那就是召回率不足;很多相关的数据无法召回,至于原因么有很多,但主要原因是处理的文档质量不高,导致相似度召回时,其阈值特别低。
因此,为了解决这个问题,暂时就通过降低阈值,并去掉重排序的方式来提高召回率;因为,很多时候即使通过相似度或其它方式召回数据,但最终在重排序时会被过滤掉。也就是说召回的相似度高的数据,和问题关联度并不一定高。
相似度召回和重排序
之所以注意到相似度召回和重排序的原因是,在多个向量库中进行相似度召回的时候发现,明明在这个向量库中并没有与问题相关的数据,但事实上却召回了一部分数据,并且这部分数据的相似度值比原文档所在的向量库中的值更高。
也就是说,在本应该有问题相关文档的库中召回的数据,还没有其它库中无关数据的相似度高;这就是一个很奇怪的问题,到底是因为文档处理的质量太低,还是因为嵌入的时候有问题。
因此,面对这种情况肯定需要对召回的文档进行重排序,以筛掉无关的数据;因此,在使用rerank模型进行排序时发现,那些其它库中相似度高的数据都被筛掉了,而原本库中相似度低的数据反而留了下来;当然这样才属于正常。
但这个无关数据的相似度更高的问题还是没有被解决;而在相似度召回中,有好几种相识度计算的方式,比如说余弦相似度,内积,欧式距离等多种计算方式。
因此面对不同的业务场景和数据类型,选择合适的相似度计算方式,也能间接增强召回的准确度。
Reranker与embedding模型的区别
尽管Reranker和Embedding模型都用于信息检索系统,它们的定位和功能却是不同的。
Embedding模型主要用于初步筛选文档。它将文本转换为向量表示,并计算这些向量之间的相似度,从而筛选出一组可能相关的候选文档。Embedding模型的优势在于它的计算效率高,适合处理大规模数据集。
Reranker则用于对Embedding模型筛选出的候选文档进行精细排序。Reranker通常基于复杂的深度神经网络,能够更好地理解文本的上下文和细微差异,从而提供更高的排序精度。
简单来说,Embedding模型负责“找出一批可能相关的候选文档”,而Reranker负责“在这些候选文档中找出最相关的,并将它们按相关性排序”。
Reranker能否直接用于检索?
理论上,Reranker可以直接用于检索,但在实际应用中并不常见。这是因为Reranker的计算复杂度较高,直接使用它对整个数据集进行排序会导致极高的计算成本,难以满足实时性要求。因此,通常我们会先用Embedding模型进行初步筛选,将文档集合缩小到一个合理的范围,然后再使用Reranker进行精细排序。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2025-09-18
给RAG打分:小白也能懂的AI系统评测全攻略
2025-09-18
向量化与嵌入模型:RAG系统背后的隐形英雄
2025-09-17
当“相似度 ≠ 相关性”:PageIndex 带来的 RAG 新范式
2025-09-17
解锁RAG高阶密码:自适应、多模态、个性化技术深度剖析
2025-09-16
你的 RAG 还在“垃圾进,垃圾出”?我用这套流程,把“废料”文档变成了黄金知识库
2025-09-15
应对知识管理挑战:RAG技术如何驱动企业智能化升级
2025-09-15
RAG彻底爆了!一文掌握其效果优化的架构设计及核心要点
2025-09-12
Meta如何给RAG做Context Engineering,让模型上下文增加16倍
2025-07-15
2025-06-24
2025-06-24
2025-07-16
2025-06-23
2025-07-09
2025-06-20
2025-07-08
2025-08-05
2025-08-18
2025-09-10
2025-09-10
2025-09-03
2025-08-28
2025-08-25
2025-08-20
2025-08-11
2025-08-05