2026 年,RAG 系统的 Embedding 模型选择不再是一刀切的答案。不同场景、不同预算、不同数据形态,需要不同的模型。本文梳理了六类典型场景的最优选择,以及三条 2025 年曾被视为常识、如今已过时的经验。

场景一:通用型商业 Hosted RAG
假设你有一个包含 1000 万个 chunk 的语料库(工程文档、工单、规格说明),运行在 hosted API 上。推荐选择 voyage-4,价格为每百万 tokens 0.06 美元。它支持 32K token context,默认输出 1,024 维,维度足够小使得 pgvector 索引可以放入中等规格机器的 RAM。此外,2 亿免费 tokens 足以在完成任何付费前进行索引验证。
Voyage-4 的一大优势是共享向量空间:你可以用昂贵模型索引一次,再用便宜模型查询,因为两者共享同一个坐标系,无需重新 embedding。

如果已经在运行 text-embedding-3-large 且成本差异可忽略,继续使用也是合理的,但会错过共享向量空间带来的灵活性。

场景二:Self-Hosted Open-Weight RAG
如果语料库涉及合同、患者记录等受合规约束、无法使用外部 API 的内容,模型必须运行在自有硬件上。推荐 Qwen3-Embedding-8B:Apache-2.0 许可,32,768 token context,可与 vLLM 和 SGLang 配合。在租用的 A100 上,批量 ingestion 的有效每百万 token 成本可低于商业 API。
Qwen3 的关键特性是 Matryoshka representation learning——允许事后截断向量。原生输出 4,096 维(1000 万 chunk 约需 160 GB RAM),可截断到 1,024 或 512 维,同时保留几乎全部语义信号,因为训练过程已将最强信号压入最前面的维度。截断后需重新 normalize,否则 cosine similarity 会漂移。

场景三:代码检索 RAG
标准 tokenizer 处理代码时会将 PaymentRetryPolicy 拆成三个无关词。代码模型则在 abstract syntax trees 和开发者文档上训练,能理解 PaymentRetryPolicy 是一个操作单元,以及函数定义与调用之间的关系。
Hosted 选择是 voyage-code-3(每百万 tokens 0.18 美元),self-hosted 选择是 Qwen3-Embedding-8B。如果 codebase 较小或查询以自然语言为主,通用型 voyage-4 可能已足够,建议在支付溢价前衡量 retrieval hit rate。

场景四:Long-Context RAG
当文档中第 42 页的条款修改了第 3 页的定义时,标准 500-token chunking 会把它们分到不同向量。推荐 voyage-context-3(每百万 tokens 0.18 美元),可在一次 embedding 调用中处理最多 32,000 tokens,将跨章节关系编码进最终向量。
如果平均文档长度低于 8,000 tokens,跳过此选择。标准 chunking 配合更便宜模型更具成本效益,且在短文档上通常 precision 更好。

场景五:Multimodal 和 Visual-Document RAG
当 chunk 是页面图像而非解析文本(PDF 含图表、表格、layout 等),检索形态发生变化。Self-hosted 选择 Nemotron ColEmbed V2 8B,hosted 选择 voyage-multimodal-3.5(文本每百万 tokens 0.12 美元,像素每十亿 0.60 美元)。
Nemotron 使用 late-interaction,不是将整个页面 pooling 成一个向量,而是为每个 token 保留向量,通过 MaxSim 求和。存储开销显著:single-vector pooling 百万页约需 3.8 GB,Nemotron ColEmbed 8B(fp16)需约 5,897 GB。可通过 learned projection 将向量从 4,096 维降至 128 维,保留约 95% 准确率,存储降至 3%。

场景六:预算或延迟受限的 RAG
预算紧张时选择 voyage-4-lite(每百万 tokens 0.02 美元),与 large 层同坐标系,未来可升级 query routing 而无需重新 embedding。
如果 latency 是硬约束且无法承受 hosted API 的网络跳转,可运行小型 self-hosted 模型。截断到较小维度的 Qwen3-Embedding 表现不错,也可考虑能在 CPU 上运行的旧版 distilled models。

2025 年的三条过时经验
经验一:更换模型必须重新 embedding
voyage-4 家族的共享向量空间证明,不同尺寸的模型可读写同一个 latent space。在模型家族内部,重新 embedding 的摩擦已消失。但跨 vendor 迁移(如 OpenAI 到 Voyage)仍需重新 embedding。
经验二:语义检索优于传统检索
Vespa 的数据显示,在所有测试模型上,hybrid retrieval(混合检索)均优于 semantic-only。平均而言,最佳 hybrid 方法比 semantic-only 高 3 到 5 个百分点。
Dense embeddings 捕获语义含义("server crash" 与 "hardware failure" 相关),BM25 捕获精确词法匹配(搜索 PAYMENTS_API_TIMEOUT_504 的用户想要包含该精确字符串的文档)。通过 Reciprocal Rank Fusion(RRF)结合两者,可同时获取语义意图和精确标识符。
经验三:embedding model 是最重要的杠杆
在替换 embedder 之前,先将 BM25 fusion 和 reranker 加入现有 pipeline。架构调整带来的 retrieval quality 提升,通常以更低成本超过单独升级 embedding model。

总结
在 1000 万 chunk 语料库上运行混合 workload 时,不必再在一个模型上妥协:可用 voyage-4-large 索引文本、voyage-4-lite 查询、将代码相关查询路由到 voyage-code-3。Self-hosted 场景下,Qwen3-Embedding-8B 提供 open-weight foundation,并通过 Matryoshka truncation 适配存储预算。
优化顺序:chunking strategy 优先,hybrid retrieval 捕获 dense vectors 漏掉的词法匹配,reranker 对最终候选排序。当这三个杠杆都调优后仍缺少 semantic recall 时,更换 embedding model 才有意义。