跳到主内容

什么是向量检索与重排序?怎么配合

2026-10-06 发布 来源:我告诉你AI导航 阅读

在 AI 知识库里提问,为什么有时能准确定位内容,有时翻出一堆不相关的?答案常常藏在检索的两步流水线里:向量检索负责粗筛,重排序负责精排。这一进一出的机制决定了 RAG 系统回答质量的上限——生成模型再强,喂进去的材料不对,答案就不...

在 AI 知识库里提问,为什么有时能准确定位内容,有时翻出一堆不相关的?答案常常藏在检索的两步流水线里:向量检索负责粗筛,重排序负责精排。这一进一出的机制决定了 RAG 系统回答质量的上限——生成模型再强,喂进去的材料不对,答案就不会对。

整条流水线:进来什么,发生什么,出去什么

一句用户提问进来,先被转成向量;系统在向量索引里找出距离最近的几十条文档片段,这是粗筛;粗筛结果交给重排序模型逐条打分,挑出最相关的几条;最后这几条连同问题一起交给生成模型,组织成回答出去。两步各管一头:粗筛管「别漏掉」,精排管「别选错」。

类比招聘:先按硬性条件筛掉绝大多数简历,再逐份细看挑出面试人选。顺序不能反——细看全量简历做不到,只按硬条件定人又会看走眼。回到机制本身:粗筛牺牲精度换速度,精排用小规模的细读换准确,两者是分工而非替代关系。

向量检索:快在哪,糙在哪

向量检索的优点是速度,能在海量文档里秒级找出候选,靠的是近似算法——牺牲一点精度换数量级的加速。代价有两个:近似检索可能漏掉个别真正相关的片段;更根本的是,向量距离只反映「大致相关」,不反映「真正回答了问题」。问「退货期限几天」,一段泛泛介绍售后政策的文字和问题距离很近,但它没给出数字,对回答毫无帮助。

所以把向量检索的输出当成候选名单,当成最终答案的来源,是知识库问答最常见的误用。

重排序:准在哪,贵在哪

重排序模型把候选逐条和问题放在一起细读打分,能判断「这段文字是否真正回答了问题」,精度远高于向量距离。贵在计算方式:逐条细读意味着计算量随候选数线性增长,只能用在几十条候选上,跑不动全量文档。精排模型的规模直接影响精度和延迟,参数量越大的精排模型通常越准也越慢,选型要在两者之间找平衡。

为什么单做一步都不行

方案速度结果质量与适用性
只做向量检索秒级,可跑全量混入大量泛相关内容,回答容易跑偏
只做重排序全量文档跑不动精度最高但延迟不可接受
两步配合粗筛快,精排只跑小规模兼顾速度与准确,是通用做法

这张表的核心信息是比例:粗筛从十万条里捞几十条,精排只在这几十条里做精细计算,计算量差了几个数量级,所以两步加起来的延迟仍然可接受。

落到知识库:先查检索,再怪模型

很多人调 RAG 效果的本能反应是换更强的模型。多数时候问题出在检索环节:把中间结果打出来看看「检索到的片段对不对」,一眼就能定位。检索出来的材料不对,换什么模型都是在错误的地基上盖房。加上重排序这一步,检索质量提升会直接带动回答质量,成本增量远小于换更大的生成模型。

调优顺序与判断标准

按这个顺序查:先看粗筛有没有把正确片段捞进来——没捞进来是索引或切块的问题,精排救不了;再看精排有没有把正确片段排到前面——捞进来了却排低了,才是重排序的锅;最后一步才考虑换生成模型。判断标准一句话:喂给模型的三五条片段里是否包含答案。达到了,回答还不对才是模型的问题。

它失效的几种情况

重排序不是万能的。文档切块把答案拦腰截断,精排也拼不出完整答案;问题本身含糊,检索找不到明确目标;专业术语和文档用词完全对不上,向量就先漏掉了正确片段,精排无米下锅。用量化过的精排模型能降低延迟和显存占用,但精度会有折损,上线前要用真实问题验证。另外,生成速度的等待发生在生成端,检索端慢是另一种慢,排查时分开看,别混在一起。

三个常被问到的问题

问:重排序模型怎么选?答:选型看候选量和延迟预算,先用小模型跑通链路,不够准再换大的,不要一上来堆最大配置。

问:精排模型能自己部署吗?答:能。精排模型体量普遍不大,自部署门槛低于大语言模型,数据敏感的团队值得做,可参考开源权重模型的商用边界。

问:只做关键词检索行不行?答:同义改写一多就漏召回。关键词加向量的混合检索再接精排,是目前比较稳的形态。

向量检索与重排序速查

  • 粗筛管别漏掉,精排管别选错
  • 向量距离只反映大致相关,不等于回答了问题
  • 精排慢,只能跑在几十条候选上
  • 排查顺序:粗筛召回 → 精排排序 → 最后才是换模型
  • 检索材料不对,换生成模型无效

反馈页面信息

请描述需要更正的地方,页面标题和网址会自动附上。

也可以发邮件至 [email protected]