什么是 双编码器(Bi-Encoder)?

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

工作原理

双编码器使用一个编码器处理查询、另一个编码器处理文档,二者通常共享权重,然后用点积、余弦相似度或其他向量度量比较嵌入。由于文档嵌入可以提前计算,双编码器足够高效,适合大规模检索,也广泛用作 RAG 的第一阶段检索器。代价是模型在检索时不会联合阅读完整查询-文档对,因此细粒度相关性判断通常交给交叉编码器重排器。

主要特点

  • 将查询和文档独立编码到同一向量空间
  • 允许文档嵌入预先计算并存入向量数据库
  • 适合在大规模语料上做第一阶段候选召回
  • 在细粒度相关性判断上通常不如交叉编码器精确
  • 生产 RAG 管线中常用于重排之前的快速召回

常见用途

  1. 为 RAG 索引中的文档分块生成嵌入
  2. 从向量数据库检索 top-k 候选结果
  3. 为大型知识库提供低延迟语义搜索
  4. 使用兼容嵌入构建多语言检索系统
  5. 把快速候选召回与较慢的交叉编码器重排结合

示例

loading...
Loading code...

常见问题

为什么双编码器速度快?

文档嵌入可以离线计算。查询时系统只需要编码查询,并执行向量相似度搜索。

查询编码器和文档编码器一定是同一个模型吗?

不一定。有些系统共享权重,也有系统使用针对查询和文档不同分布训练的非对称编码器。

双编码器的主要限制是什么?

它比较的是压缩后的向量表示,而不是联合阅读完整查询和文档,因此可能遗漏细粒度相关性信号。

双编码器和交叉编码器是什么关系?

双编码器通常用于快速召回,交叉编码器则在较小候选集上进行更精确的成对打分和重排。

相关工具

相关术语

相关文章

RAG 是什么?检索增强生成原理与实战指南【2026】

RAG 是什么?本文系统讲解检索增强生成如何在大语言模型回答前引入外部知识依据,覆盖企业知识库构建、文档清洗与分块、Embedding 向量化、向量数据库、稀疏与稠密混合检索、重排序、提示词约束、引用溯源、离线评估和 Python 实战。适合构建客服问答、内部文档检索、代码知识库与需要持续更新资料的 AI 应用,并说明 RAG 与模型微调的选型差异。

2026-02-21

向量数据库指南:RAG、pgvector、搜索引擎与成本选型

向量数据库什么时候需要、什么时候不需要?本文讲解 Embedding、HNSW、元数据过滤与 RAG,比较 PostgreSQL + pgvector、搜索引擎、专用数据库和托管服务,提供租户隔离、混合检索、召回率、尾延迟、索引更新、数据迁移、备份恢复与总成本的生产选型矩阵和 Python 示例,适合企业知识库、语义搜索、推荐和大规模检索系统。

2026-02-21

向量嵌入工程指南:模型选型、语义检索评测与安全迁移

向量嵌入如何支撑语义搜索和 RAG?本文从向量空间、任务类型、归一化与距离函数讲到模型选型、混合检索、重排、Recall@k 评测、索引容量、权限过滤和双索引迁移,帮助开发者用真实查询集验证 Embedding,而不是依赖排行榜、固定维度或无条件相似度阈值。还覆盖向量版本契约、数据删除、跨租户隔离、近似索引取舍和生产监控。

2026-02-21