📊

重排序(Reranking)

Reranking
技术原理
检索RAG

重排序(Reranking)是检索系统中的精排环节:先用效率高但精度有限的粗检索引擎召回一批候选文档,再用更强的模型对这些候选重新排序,把最相关的结果排到前面。

为什么需要重排序

  • 向量检索和BM25面向“效率”设计,需要在海量文档中快速返回结果
  • 粗召回的候选较多(如几十到上百条),相关性排序并不精准
  • 重排序用更精细的模型逐条评估,排序质量大幅提升

工作原理

  • 常见做法是使用交叉编码器(Cross-Encoder):将“问题+候选文档”拼在一起输入模型,直接输出相关性分数
  • 相比把问题和文档分别编码再算相似度的双编码器,交叉编码精度更高,但速度较慢,因此只对少量候选执行

在RAG中的作用

  • 经典流程:召回(Top-100)→ 重排序(Top-5)→ 送入大模型
  • 显著减少无关上下文,降低幻觉概率、提升回答质量
  • 常与混合检索搭配,作为最后的精排步骤

代表性工具

  • bge-reranker(智源)、Cohere Rerank等是常用方案
  • LangChain、LlamaIndex等主流RAG框架均内置重排序接口

注意事项

重排序模型会带来额外的计算成本与延迟,候选数量需要权衡;应结合具体场景选择模型规模与精度。

🔗 探索更多 AI 工具板块

除了本板块,AI工具宝箱还有这些独家内容板块,帮你从不同角度发现好工具。

0