Ch13 RAG修订于 二〇二六年七月六日

深挖-重排序

一句话理解

对初检阶段召回的候选结果进行二次排序,将最相关的文档排到最前面,显著提升 RAG 系统的精度和答案质量。

零基础理解

想象你在图书馆查询”人工智能的历史”:

  • 初检(Retrieval):图书馆员快速浏览书架,抱来 50 本相关书籍。速度很快,但排序粗糙——可能把《AI 简史》和《Python 入门》混在一起。
  • 重排序(Reranking):一位专家仔细阅读每本书的目录和摘要,重新排列这 50 本书——把真正讲 AI 历史的排前面,把只是顺带提到 AI 的排后面。

重排序在 RAG 中的作用就是这位”专家”——在初检的 50-100 条候选中,用更精准的模型重新打分排序,最终只把 Top-5 或 Top-10 送给 LLM 生成答案。

核心概念

两阶段检索 (Two-Stage Retrieval)

现代 RAG 系统的标准架构:

用户Query
  │
  ▼
┌─────────────────────────────┐
│  第一阶段:初检 (Retrieval)   │
│  - Bi-Encoder / Embedding    │
│  - 速度快,覆盖面广           │
│  - 召回 Top-K (50-1000 条)   │
└──────────────┬──────────────┘
               │
               ▼
┌─────────────────────────────┐
│  第二阶段:重排序 (Reranking) │
│  - Cross-Encoder / LLM      │
│  - 速度慢,精度高             │
│  - 精排 Top-N (5-20 条)      │
└──────────────┬──────────────┘
               │
               ▼
         送给 LLM 生成答案

Cross-Encoder vs Bi-Encoder

这是理解重排序最核心的技术对比:

维度Bi-EncoderCross-Encoder
原理分别编码 query 和 document,然后算余弦相似度将 query 和 document 拼接后一起编码,输出相关性分数
速度快(文档向量可预计算)慢(每个 query-doc 对需重新推理)
精度中等高(捕捉 query-doc 交互信息)
适用阶段初检(海量候选)重排序(少量候选)
典型模型bge-large, text-embedding-3bge-reranker, Cohere Rerank
时间复杂度O(1) 每文档(向量已缓存)O(N) 每文档,N 为候选数

重排序的代价

  • 延迟增加:重排序阶段通常增加 50-500ms 延迟
  • 计算成本:Cross-Encoder 推理比向量相似度计算贵 10-100 倍
  • 候选数量限制:通常只重排 Top-50 到 Top-200,不能对全量文档做重排序

2026 年主流重排序方案对比

方案类型开源延迟 (单条)精度多语言成本适用场景
Cohere Rerank 3商业 API否~50ms高是 (100+ 语言)按调用付费英文、快速上线
bge-reranker-v2Cross-Encoder是~30ms高中英为主自部署 GPU中文场景首选
ColBERT延迟交互是~100ms很高取决于基座自部署极致精度,学术场景
RankLLMLLM 直接排序是~500ms-2s最高是高 (GPU 需求大)复杂查询、极端精度
Cross-Encoder (vanilla)标准 CE是~20ms高取决于基座自部署通用,资源充足时
LLM-based ListwiseLLM 列表式部分~1s-5s最高是很高对精度要求极高的场景

选型建议

按语言

场景推荐方案理由
中文为主bge-reranker-v2-m3BAAI 出品,中文效果验证充分
英文为主Cohere Rerank 3效果好,API 成熟
多语言混合Cohere Rerank 3 或 bge-reranker-v2-m3两者都支持多语言
中日韩bge-reranker-v2-m3对东亚语言优化更好

按场景

场景推荐方案理由
快速原型Cohere Rerank 3 API一行代码,不用部署
生产环境、数据安全bge-reranker-v2开源,本地部署
学术研究、极致精度ColBERT 或 RankLLM精度最高
复杂推理查询RankLLMLLM 的理解能力覆盖复杂语义
低延迟要求vanilla Cross-Encoder模型小,推理快

什么时候需要重排序

情况是否需要重排序说明
初检 Top-3 就满足了需求不需要重排序不会带来明显增益
初检结果混乱,相关信息分散在 Top-20需要重排序把相关文档提到前面
多语言查询需要初检的 Embedding 可能不够精准
复杂查询,含多条件约束需要简单的向量相似度难以捕捉复杂意图
文档间区分度低需要Cross-Encoder 能捕捉细微差异
延迟预算 < 100ms谨慎重排序增加延迟,需权衡
候选数 > 1000需要先粗筛再精排,性价比最高

2026 年推荐策略

实用组合推荐:

初检: Embedding 模型 (bge-large 或 Cohere embed)
  → 召回 Top-100
  → 重排序: bge-reranker-v2 (中文) / Cohere Rerank 3 (英文)
  → 取 Top-5 送 LLM

这套组合在大多数 RAG 场景中能达到较高的精度-延迟平衡点。

前沿方向

  • LLM 直接重排序:利用 GPT-5.5、Claude Opus 4.8 等大模型直接对候选列表打分,精度最高但成本也最高。适合对答案质量要求极高的场景。
  • 多目标重排序:同时优化相关性、多样性、时效性等多个目标
  • 端到端训练:将初检和重排序联合训练,减少两阶段的信息损失
  • 在线学习:根据用户点击反馈实时调整重排序参数

相关笔记

来源

关联14

知识图谱

局部图谱 · 点节点跳转