GEO

重排序器

重排序器是一种模型,它会在 RAG 流程中对向量搜索返回的 top-k 结果进行精炼,重新排列,让真正最相关的文本块排到最前。一次检索是"快速找到大量候选",而重排序则是"挑出真正值得引用的那些"。

重排序器是一种模型,它会在 RAG 流程中对向量搜索返回的 top-k 结果进行精炼,重新排列,让真正最相关的文本块排到最前。一次检索是"快速找到大量候选",而重排序则是"挑出真正值得引用的那些"。

为什么重要

仅靠向量检索会混入一些语义相似但其实并非答案的文本块。Cohere 和 Anthropic 的研究表明,在 RAG 流程中加入重排序器平均能将检索准确度提升 15% 到 40%,并显著降低 LLM 最终回答中的幻觉。到 2026 年,主流的 AI 搜索引擎(Perplexity、ChatGPT Search、Gemini AI Mode)内部都使用了重排序器。

工作原理

RAG 流程通常采用两阶段检索:

  1. 检索:向量数据库按嵌入相似度返回 top 50 到 100 个文本块,速度快但较粗糙。
  2. 重排序:重排序模型将查询和候选放在一起打分,缩减到 top 3 到 10 个。速度较慢,但准确得多。
  3. 生成:将排名靠前的文本块注入 LLM 的上下文并进行生成。

双编码器 vs 交叉编码器

双编码器(Bi-encoder):嵌入模型所使用的方式。查询和文档被分别编码成向量再进行比较。速度快,但会遗漏查询与文档之间的细粒度关系。

交叉编码器(Cross-encoder):重排序器所使用的方式。查询和文档被一起送入,在一次前向传播中打分。速度较慢,但准确得多。

两阶段检索的精髓就在于结合二者之长:用快速的双编码器做初筛,用精确的交叉编码器做重排序。

主流重排序器

  • Cohere Rerank:托管 API,支持多语言,是生产级 RAG 中最常见的选择
  • Voyage rerank:Anthropic 推荐的高性能重排序器
  • BGE Reranker:开源,支持多语言(包括韩语)
  • Jina Reranker:开源,在长文档上表现出色
  • LLM 作为重排序器:直接用 GPT-4o 或 Claude 来重排序。准确度最高,成本也最高

对 GEO 的意义

重排序器考量的不只是语义相似度,这会影响你的写法。

直接的答案句:重排序器会在查询和文本块的关系中识别"答案性"。讲"什么是 X?"的一节,应该以"X 是……"开头。

具体性与实用性:包含具体数字和示例的文本块,比抽象的解释获得更高的重排序得分。

模仿用户查询的方式:看起来像真实用户向 AI 搜索提出的问题的小标题,更容易被重排序器匹配。

削减噪声:冗长或重复的段落得分更低。简短、自成一体、主旨前置的段落更占优势。

Sources: