什么是 交叉编码器(Cross-Encoder)?

交叉编码器(Cross-Encoder)是一种排序模型架构,它联合编码查询和候选文档或片段,并输出相关性分数。

工作原理

交叉编码器会把查询和片段放在一起评估,使注意力可以跨越两段文本。这通常比比较独立嵌入产生更好的相关性判断,尤其适合细致问题、否定表达、约束条件和短片段。代价是延迟:每个查询-片段对都必须在请求时打分。因此,交叉编码器通常作为重排器使用,在 BM25、稠密检索或混合搜索先产生可管理候选集之后再排序。

主要特点

  • 在打分前联合读取查询和候选片段
  • 在许多重排任务上比双编码器更精确
  • 计算成本较高,因为每个查询-文档对都要单独评估
  • 适合处理否定、约束和细微措辞差异
  • 通常只应用于 top-k 候选,而不是整个语料库

常见用途

  1. 在把上下文送入 LLM 前重排前 50 个稠密检索结果
  2. 改善第一阶段检索返回噪声候选时的 RAG 答案
  3. 根据详细合规问题排序政策片段
  4. 为检索评估打分查询-文档对
  5. 把 BM25 和向量候选整合为最终排序列表

示例

loading...
Loading code...

常见问题

为什么交叉编码器通常比双编码器更准确?

它联合处理查询和片段,因此模型可以在输出相关性分数前直接比较约束、实体和措辞。

为什么不把交叉编码器用于全部检索?

在大规模语料上成本太高,因为每次查询都需要与每个文档或分块成对计算。

交叉编码器在 RAG 中放在哪一步?

它通常在 BM25、稠密检索或混合检索产生候选集后进行重排,再组装最终上下文。

LLM 可以充当交叉编码器重排器吗?

LLM 可以为片段打分或比较片段,但专用交叉编码器重排器在高频检索中通常更便宜、更稳定。

相关工具

相关术语

Rerank

Rerank(重排序)是信息检索和 RAG 流程中的一个进阶阶段。在传统的向量检索(如余弦相似度)或关键词检索(如 BM25)快速召回大量候选文档后,Rerank 引入一个计算成本更高但理解能力更强的交叉编码器(Cross-Encoder)模型。该模型同时接收用户的查询(Query)和候选文档(Document),计算它们之间深度的语义相关性得分,并据此重新排列文档顺序,从而将最相关的片段推至最前列,供 LLM 生成最终答案。

双编码器(Bi-Encoder)

双编码器(Bi-Encoder)是一种检索模型架构,它分别把查询和文档编码为嵌入向量,使二者可以通过相似度搜索高效比较。

稠密检索(Dense Retrieval)

稠密检索(Dense Retrieval)是一种语义搜索方法,它把查询和文档表示为稠密嵌入向量,并通过向量相似度检索结果。

Hybrid Search

Hybrid Search(混合检索)是一种在信息检索和 RAG(检索增强生成)系统中同时使用多种搜索算法的技术。最常见的组合是将捕获上下文和概念含义的**密集向量检索(Dense Vector Retrieval)**与专注于精确词汇匹配和特定实体查找的**稀疏关键词检索(Sparse Keyword Retrieval,通常指 BM25 算法)**融合在一起。系统分别运行这两路搜索,然后通过融合算法(如 RRF,倒数排名融合)将它们的结果合并,从而在理解用户意图的同时,确保不会漏掉包含特定产品名称、ID 或行业黑话的关键文档。

相关文章