AI知识库

53AI知识库

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


如何引入重排序提升RAG系统的效果?
发布日期:2024-04-05 20:38:36 浏览次数: 2279 来源:产品言语


之前介绍了在RAG系统中使用混合检索,而混合检索将不同的检索技术的优势,如向量检索适合语义模型匹配,而关键词检索适合精准匹配。将不同的优势结合互补单一检索的劣势,获得更好的召回结果。


01

为什么需要重排序

混合检索返回更多更好的结果,但是不同检索模型返回的查询结果需要合并和归一化处理,将数据进行归一化后,以便更好进行分析、比较和处理,然后将处理后的内容统一提供给大模型进行推理。而分析、比较和处理模型需要引入一个新的功能:重排序模型(Rerank模型)
重排序模型通过将不同检索模型返回的文档片段列表和用户问题语义匹配度进行重新排序,改进检索返回的结果。
原理是计算用户问题与检索召回的每一个候选文档之间的相关性分数,并返回按照相关性排序的文档列表。
常见的Rerank模型如:BGE-Rerank、Cohere Rerank等。
引入重排序是对召回结果进行重新排序的过程,目的是为了提升问题和召回上下文的相关性,进而提高生产答案的质量。


02

如何引入重排序?

重排序不仅适用于不同检索结果的合并,而且适用于单一检索模型下,引入重排序模型也能有效提升和改进文档召回的效果,如我们在关键词检索之后加入重排序模型,可以有效提升关键词召回的精确度和语义相关性。

重排序模型可以计算问题和文档列表之间的相关性得分,如果将它用于直接计算问题和大量文档的相关性,效率非常低,因此大多数情况下重排序主要出现在单一检索后的流程中以及混合检索后合并的流程中。

在具体的产品方案落地中,还需要考虑大模型输入上下文的大小限制,如百度文心一言,上下文窗口限制为4K Tokens限制,一般大模型的限制 是4K、8K、16K、128K的Tokens限制。因此在重排序模型中会限制传给大模型的分段个数,即TopK。当大模型的上下文窗口限制足够大时,过多的召回分段会可能引起召回内容的相关度降低,导致生成的答案质量下降,因此在设置TopK时不是越大越好,需要结合业务场景进行设置。

引入重排序是对现有RAG系统的一种增强,无需进行重大改造,以一种简单且低复杂度的方式改善RAG系统的回答效果。




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

产品:大模型应用平台+智能体定制开发+落地咨询服务

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

联系我们

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

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询