AI 向量嵌入模型深度對比(2026):OpenAI、Cohere、BGE、E5 與 Jina

AI与大数据AI Agent 生產實務(更新於 2026年7月20日)

為什麼 Embedding 模型的選擇比你想像的更重要

2026 年 RAG 成標配,但很多團隊忽視了 embedding 模型選擇。向量嵌入是所有語意檢索的基石。糟糕的 embedding 導致:上下文跑偏(GIGO)、聚類混亂、跨語言同義詞映射到不相關空間。

本文涵蓋六款主流模型,基準到成本到程式碼。


五大評測維度

維度 關鍵問題
語意品質 MTEB 上 Retrieval 和 STS 得分?
維度與儲存 Matryoshka 降維支援?
多語言 跨語言檢索品質?
成本 百萬 token 價格?可私布?
延遲 p95 延遲?批次吞吐?

六款模型深度剖析

1. OpenAI text-embedding-3-small

1536 維,Matryoshka 至 512 僅 2% 品質降。

  • 價格:$0.02/1M tokens
  • 多語言:100+ 語言,英語最強
from openai import OpenAI
client = OpenAI()
resp = client.embeddings.create(
    model="text-embedding-3-small",
    input=["The quick brown fox jumps over the lazy dog."],
    dimensions=512
)
print(len(resp.data[0].embedding))  # 512

2. OpenAI text-embedding-3-large

3072 維,MTEB 平均 64.6。

  • 價格:$0.13/1M tokens
  • 品質:Retrieval ~59.3,STS ~82.7

3. Cohere Embed v3

多語言事實標準,MIRACL 持續領先。

  • 維度:1024
  • 非對稱:search_document / search_query
  • 價格:$0.10/1M tokens
import cohere
co = cohere.Client("your-api-key")
doc_emb = co.embed(texts=["Kubernetes networking."], model="embed-multilingual-v3.0", input_type="search_document").embeddings[0]
query_emb = co.embed(texts=["Kubernetes 容器"], model="embed-multilingual-v3.0", input_type="search_query").embeddings[0]

⚠️ 入庫查詢用不同 input_type,否則品質下降。

4. BGE-M3(BAAI)

唯一支援**密、疏、多向量(ColBERT)**三種方式的開源模型。

  • 維度:1024(密)
  • 授權:MIT
  • 部署:句子Transformer + A10
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("BAAI/bge-m3")
doc_emb = model.encode("TiDB 向量搜尋文件。", normalize_embeddings=True)
query_emb = model.encode("Represent this sentence for searching relevant passages: TiDB 索引選擇", normalize_embeddings=True)

三方式混合使用——密召回+疏篩選+ColBERT重排——召回率和精度雙升。

5. E5 系列

指令調優型嵌入。

變體 維度 特點
intfloat/e5-large-v2 1024 英語
intfloat/multilingual-e5-large 1024 多語言
intfloat/e5-mistral-7b-instruct 4096 最高品質

6. Jina Embeddings v3

多向量+長文(8192 tokens)。Apache-2.0。


MTEB 排名(2026 Q2)

模型 Retrieval (avg) STS (avg) 語言
OpenAI text-embedding-3-large 59.3 82.7 多語言
Cohere embed-multilingual-v3.0 60.1 81.5 多語言最強
BGE-M3 58.7 80.2 中英極強
text-embedding-3-small 56.8 80.1 英語
E5-mistral-7b-instruct 61.2 84.3 英語
multilingual-e5-large 57.2 78.9 多語言

⚠️ 公開 benchmark ≠ 你的場景。自測為準。


成本分析(100 萬片段,2 億 tokens)

模型 成本 私布
text-embedding-3-small (512) $4
text-embedding-3-large (512) $26
Cohere embed-v3 $20
BGE-M3 $0 (GPU)
multilingual-e5-large $0 (GPU)

持續更新場景下,開源自建數月回本。


選型框架

情況 推薦
英語快速上線 text-embedding-3-small
多語言 RAG Cohere embed-v3
中文為主 BGE-M3
資料需私布 BGE-M3 / e5-large
法務/醫療 text-embedding-3-large / E5-mistral
長文 Jina v3
預算極限 BGE-M3 + 單 GPU

自評才靠譜

from sentence_transformers import SentenceTransformer, evaluation

model = SentenceTransformer("BAAI/bge-m3")
evaluator = evaluation.InformationRetrievalEvaluator(
    queries=dataset["queries"], corpus=dataset["corpus"], relevant_docs=dataset["relevant_docs"],
)
results = evaluator(model)
print(f"NDCG@10: {results['ndcg@10']:.4f}")

比較:語意檢索(NDCG@10)、分類(線性探針)、聚類(Silhouette)、跨語言(mAP@10)。


FAQ

Q1:Matryoshka Embedding 是什麼?——多維度同時優化的訓練技巧。生成後可直接截斷。例:3072→256 維,省 92% 儲存,僅降 5–8% 品質。

Q2:何時微調?——專業領域(醫療/法律/金融)明顯不如預期時。2–5k 領域 query-doc pair + 幾輪對比學習即可。

Q3:非對稱嵌入是什麼?——查詢(5–15 詞)和文檔(數百詞)資訊密度不同,用不同編碼路徑。Cohere 的代表性實現。

Q4:疏 vs 密檢索?——疏(BM25)擅長精確關鍵詞;密(向量)擅長語意匹配。混合最強。

Q5:成本最佳化技巧?——Matryoshka 短截、快取、批次 API。


總結

三步:決策表篩選 2–3 候選 → 自測 BEIR → AB 比較。

#向量嵌入#Embedding#RAG#语义检索#OpenAI#BGE