题目
RAG 系统选 Embedding 模型是关键决策。请说明 bge-m3、gte、jina 等主流模型的区别与选型原则。
参考答案
主流 Embedding 模型:
| 模型 | 出品 | 特点 | 维度 |
|---|---|---|---|
| bge-m3 | 智源 | 稠密+稀疏+多向量三合一,支持 100+ 语言、8192 长文本 | 1024 |
| bge-large-zh | 智源 | 中文专精,强 baseline | 1024 |
| gte | 阿里 | 多语言,性能稳定 | 768/1024 |
| jina-embeddings-v3 | Jina | 长文本友好(8192),多语言 | 1024 |
| text-embedding-3 | OpenAI | 闭源 API,Matryoshka 维度可调 | 1536/3072 |
| e5 / multilingual-e5 | 微软 | 多语言经典 baseline | 768/1024 |
关键选型维度:
- 语言:中文场景优先 bge-zh、gte-zh;多语言用 bge-m3、multilingual-e5。
- 文本长度:超长文档用 bge-m3、jina-v3(8192),短文本无需。
- 检索类型:
- 仅稠密:bge-large、gte。
- 混合检索(稠密+稀疏+多向量):bge-m3 一站式。
- 部署:开源(bge/gte/jina/e5)可本地部署;闭源(OpenAI/Cohere)省事但有成本与隐私。
- 维度:高维精度高但存储大;Matryoshka embedding 可截断用低维省存储。
bge-m3 的特殊价值:
- 三合一:同时输出稠密向量、稀疏(词级权重)、ColBERT 风格多向量。
- 一次推理即可做混合检索(稠密语义 + 稀疏字面 + 多向量精排),是 RAG 的瑞士军刀。
- 8192 长上下文,长文档无需切太碎。
Matryoshka Embedding:
- 训练时同时在多个维度截断点算损失,使前 N 维就是有效向量。
- 部署时可按需截断(如用前 256 维省存储),精度平滑下降。
- OpenAI text-embedding-3、bge-m3 都支持。
评测参考:MTEB / C-MTEB 榜单是 Embedding 性能的事实参考,但要注意:
- 榜单可能与业务分布不符,需在自有数据上评测。
- 召回率(Recall@K)比榜单分数更贴近 RAG 实战。
面试加分点:
- 强调”换 Embedding 是 RAG 优化高性价比手段”,但加 rerank 常比换 embedding 收益更大。
- 中文场景 bge 系列长期霸榜 C-MTEB,是默认选择。
- Embedding 模型更新快,需定期复评是否换新。
出处:MTEB/C-MTEB 榜单、bge-m3 模型卡、RAG 实战面经。
内容来源
整理自 RAG 实战面经与 MTEB 榜单
本站内容整理自公开面经与开源仓库,仅供学习交流,严禁杜撰。