RAG 中为什么使用 ReRank 而不是 Embedding 直接一步到位?

Embedding 检索时会获得问题与文本之间的相似分,以往的 RAG 服务直接基于相似分进行排序,但是事实上向量检索的相似分是不够准确的。

原因是 Embedding 过程是将文档的所有可能含义压缩到一个向量中,方便使用向量进行检索。但是文本压缩为向量必然会损失信息,从而导致最终 Embedding 检索的相似分不够准确。
在这里插入图片描述
可以看到 Embedding 过程包含两步:

  1. 运行单个 Transformer 计算以创建查询向量。
  2. 将查询向量与具有余弦相似性的文档向量进行比较,获取相似文档。

而 Rerank 阶段不会向量化,而是将查询与匹配的单个文档 1 对 1 的计算相似分,没有向量化带来的信息损失,必然会得到更好的效果,对应的过程如下所示:
在这里插入图片描述
那直接执行 Rerank 是否可行呢?肯定也是不行的,Rerank 需要 1 对 1 计算相似分的,在海量的文档中一一比对查找文档,效率肯定是不能接受的。

除了这个原因以外,拆分 Rerank 阶段也提供了更加灵活的筛选文档的能力,比如 Ragflow 就是在 Rerank 中使用 0.3 * 文本匹配得分 + 0.7 * 向量匹配得分 加权得出综合得分进行排序,Rerank 阶段可以提供类似这种灵活的选择手段。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

落难Coder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值