Embedding嵌入模型选型:中文场景实测对比 📅 2026/7/4 2:55:16 Embedding嵌入模型选型中文场景实测对比Embedding 模型是 RAG 的翻译官——把中文翻译成机器能懂的向量。选错了整个 RAG 系统就是个聋子。去年我给公司搭知识库的时候把市面上主流的 6 个中文 Embedding 模型拉出来跑了一遍同条件的评测。今天把数据亮出来帮你少走弯路。大家好我是黒漂技术佬。一、先搞清楚Embedding 模型到底在比什么选 Embedding 模型不是谁家名气大就用谁得看几个硬指标MTEBMassive Text Embedding Benchmark是目前最权威的 Embedding 评测体系中文榜单上主要看这几个维度评测任务什么意思对你的影响Retrieval检索给定问题找相关文档⭐⭐⭐⭐⭐ 最重要的指标STS语义相似度判断两句话多像⭐⭐⭐⭐ 重排序用Classification自动分类⭐⭐⭐ 文档归类Clustering自动聚类⭐⭐ 文档发现PairClassification判断句子对关系⭐⭐ 去重/冗余检测RAG 场景下看 Retrieval 分数就够了。其他指标大部分是学校实验关心的企业落地不用纠结。二、参评选手介绍我选了 6 个模型覆盖了云端 API和本地部署两种路线模型开发者维度类型模型大小text-embedding-3-smallOpenAI1536云端 API闭源bge-large-zh-v1.5BAAI智源1024本地部署326Mm3e-largemoka-ai1024本地部署326Mstella-large-zh-v3infgrad1024本地部署326Mjina-embeddings-v3Jina AI1024本地/云端570MGTE-Qwen2-7B-instruct阿里3584本地部署7B十几GB三、评测方法尽量模拟真实场景我用了一套自己整理的评测集包含100 个真实的企业问答对从公司内部知识库里抽的已脱敏比如出差住宿标准是多少 → 对应《差旅管理制度》第三条10 份企业文档包含制度文件、技术文档、产品手册总计约 300 页评测指标Recall5前 5 个检索结果里有没有包含正确答案有就是 1没有就是 0取平均MRRMean Reciprocal Rank正确答案在检索结果里排第几倒数平均。排第 1 得 1 分排第 5 得 0.2 分。为什么不用 mAP因为 RAG 场景关心的是能不能找到正确答案而不是所有相关文档都排上来没有。Recall5 和 MRR 更贴近真实使用感受。四、不卖关子直接上结果Embedding 模型检索效果对比同一测试集 模型 Recall5 MRR 推理速度(条/秒) 显存需求 ─────────────────────────────────────────────────────────────────── text-embedding-3-small (OpenAI) 0.91 0.82 80 (API) 无 bge-large-zh-v1.5 0.89 0.78 45 ~2GB m3e-large 0.87 0.76 52 ~2GB stella-large-zh-v3 0.88 0.78 65 ~2GB jina-embeddings-v3 0.89 0.79 28 (8192 token) ~3GB GTE-Qwen2-7B-instruct 0.93 0.85 5 ~28GB五、结果解读没有最好只有最适合冠军GTE-Qwen2-7B-instructRecall5 高达 0.93MRR 0.85一骑绝尘。但代价是7B 参数半精度加载需要14GB 显存一张 RTX 4090 刚好够推理速度只有5 条/秒是 bge 的十分之一如果你有 100 万条文档入库 Embedding 需要跑 100 万 / 5 20 万秒 ≈ 55 小时结论效果最好但除非你 GPU 管够且不差钱否则别轻易上。性价比冠军bge-large-zh-v1.5Recall5 只比冠军低 4 个百分点但推理速度快 9 倍显存只要 2GB。在绝大多数企业场景下这 4 个百分点的差距用户根本感觉不到。从投入产出比来看bge-large 是我的首选推荐。速度冠军stella-large-zh-v3如果你有海量文档且对速度敏感stella 的 65 条/秒非常香同时质量也保持在一线水平。云端零运维text-embedding-3-small不需要 GPU不需要部署不需要维护——用 API 调就行。Recall50.91效果在云端模型里排第一。代价是数据要流出以及按 token 计费。每 100 万 token 约 0.02 美元约 1.5 毛人民币对于大部分中小企业来说成本可忽略不计。特别提醒OpenAI 的 text-embedding-3-small 虽然便宜但它对中文的优化不如 bge 和 m3e。你会发现它英语无敌但中文长句的语义捕捉偶尔不够细腻。如果你主要处理中文文档本地部署的 bge 其实更稳。六、从 300M 到 7BEmbedding 模型为什么越做越大你可能注意到了传统 Embedding 模型只有 300M3 亿参数和十年前的 BERT 差不多大。但这两年出现了 GTE-Qwen2-7B70 亿参数这种大模型做 Embedding的方案。为什么大模型能做得更好传统的 BERT 类 Embedding 模型平均池化所有 token 来得到一个固定向量这在处理长文本时会稀释关键信息——1000 字里只有一句话和你的问题相关但那句话的信息被其余 990 字的噪声给淹没了。而 7B 的 LLM 做 Embedding 时是先用 Decoder-Only 架构对全文做理解然后用最后一个 token 的隐层状态作为向量。这个向量天然就带了注意力权重会自动聚焦在文本里最重要的部分。但代价也显而易见显存 ×10速度 ÷10。七、我的选型建议直接抄你的情况推荐个人学习 / DemoSiliconFlow API 的 bge-large-zh-v1.5免费额度够用中小企业数据敏感bge-large-zh-v1.5 本地部署一张 T4/3060 即可海量文档速度优先stella-large-zh-v3GPU 充裕追求极致效果GTE-Qwen2-7B但要做好 8×V100 起步的心理准备不想管运维text-embedding-3-small API但接受数据流出我自己公司的配置bge-large-zh-v1.5 本地部署3080Ti做主力jina-embeddings-v3 做长文档单 chunk 超过 2000 字的特殊情况的补充。 你在用哪个 Embedding 模型踩过什么坑或者你也跑过对比数据分享一下