前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何引入重排序提升RAG系统的效果?

如何引入重排序提升RAG系统的效果?

作者头像
产品言语
发布2024-03-18 13:41:24
4280
发布2024-03-18 13:41:24
举报
文章被收录于专栏:产品笔记

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


01—为什么需要重排序

混合检索返回更多更好的结果,但是不同检索模型返回的查询结果需要合并和归一化处理,将数据进行归一化后,以便更好进行分析、比较和处理,然后将处理后的内容统一提供给大模型进行推理。而分析、比较和处理模型需要引入一个新的功能:重排序模型(Rerank模型)

重排序模型通过将不同检索模型返回的文档片段列表和用户问题语义匹配度进行重新排序,改进检索返回的结果。

原理是计算用户问题与检索召回的每一个候选文档之间的相关性分数,并返回按照相关性排序的文档列表。

常见的Rerank模型如:BGE-Rerank、Cohere Rerank等。

引入重排序是对召回结果进行重新排序的过程,目的是为了提升问题和召回上下文的相关性,进而提高生产答案的质量。


02—如何引入重排序?

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

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-03-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 产品言语 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 01—为什么需要重排序
  • 02—如何引入重排序?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档