做 RAG、語義搜尋、知識庫召回時,很多人一開始都會糾結同一個問題:向量模型這麼多,到底該選哪一個。
常見模型大致可以分成兩組。一組是通用文字向量,覆蓋中英文和多語言任務;另一組更適合中文場景,重點看中文檢索、中文問答和中文知識庫效果。
如果先給一個很短的結論,可以這樣看:
- 想省事、直接用 API:
text-embedding-3-small或text-embedding-3-large - 想做中文檢索,且希望開源可自部署:
bge-base-zh-v1.5、bge-m3、gte-large-zh - 想兼顧多語言:
multilingual-e5-base、multilingual-e5-large、jina-embeddings-v3 - 想在中文場景裡壓低成本:
bge-small-zh-v1.5、gte-base-zh
一、先按類型看這些模型
1. OpenAI 系列
text-embedding-3-smalltext-embedding-3-large
這類模型的特點是調用簡單、穩定,適合直接接 API 做檢索、RAG、分類和相似度匹配。它們的優勢不在於「某一個中文榜單分數特別高」,而在整體體驗完整:接入門檻低、效果穩定、工程成本也低。
如果團隊不想自己託管模型、不想維護推理服務,OpenAI 這類方案通常最省時間。
2. BGE 系列
BAAI/bge-small-zh-v1.5BAAI/bge-base-zh-v1.5bge-m3
BGE 是中文檢索裡很常見的一條線。bge-small-zh-v1.5 和 bge-base-zh-v1.5 更偏中文單語任務,適合中文語義搜尋、知識庫召回、FAQ 匹配。bge-m3 則更通用,能覆蓋多語言、多粒度和更複雜的檢索場景。
如果你的資料主要是中文文本,BGE 往往是最容易進入候選名單的一組。
3. E5 系列
intfloat/multilingual-e5-basemultilingual-e5-large
E5 系列的特點是多語言能力比較均衡,適合中英混合、跨語種檢索、國際化內容庫。它不是只盯中文,而是更強調「不同語言都能放到一個統一檢索體系裡」。
如果你的語料不是純中文,而是中文、英文、日文甚至更多語言混在一起,E5 通常比中文專用模型更穩。
4. GTE 系列
Alibaba-NLP/gte-base-zhgte-large-zh
GTE 在中文任務裡也很常見,定位和 BGE 有點接近,都是中文檢索的實用型選手。它的特點通常是比較平衡,沒有特別複雜的使用門檻,適合做中文知識庫、站內搜尋和企業內部文件召回。
如果你想在中文開源模型裡多做一組對照,GTE 很值得一起評測。
5. Jina Embeddings
jina-embeddings-v3
Jina 這一類更偏通用和現代工程場景,常見於多語言檢索、長文字、網頁內容處理等任務。它經常出現在「一個模型覆蓋更多任務形態」的討論裡,適合希望統一 embedding 層的團隊。
如果你的內容來源比較雜,既有網頁、文件,也有多語言文本,Jina 往往是一個值得測試的備選。
二、中文場景裡,哪些模型更常用
如果把範圍收窄到中文場景,常見候選基本就是這些:
bge-small-zh-v1.5bge-base-zh-v1.5bge-m3gte-base-zhgte-large-zhmultilingual-e5-basemultilingual-e5-large
這幾類裡,最典型的分法其實不是「誰絕對更強」,而是下面這三個問題:
- 你的資料是不是以中文為主
- 你是不是需要多語言
- 你更在意效果、成本,還是部署方便
三、把這些模型放在一起看
1. 如果只看中文效果
純中文知識庫、中文問答、中文文件召回,一般優先看 BGE 和 GTE。
bge-small-zh-v1.5:更輕,適合成本敏感場景bge-base-zh-v1.5:通常是中文場景裡更均衡的一檔gte-base-zh:和輕量 BGE 類似,適合先做基線gte-large-zh:更適合追求召回品質的場景bge-m3:適合希望把中文檢索和更複雜能力放到一起考慮的團隊
如果語料幾乎全是中文,E5 雖然也能用,但很多時候不會是第一優先。
2. 如果需要多語言
這時優先級會明顯變化。
multilingual-e5-base和multilingual-e5-large更適合多語言統一檢索jina-embeddings-v3也適合多語言和通用文字任務bge-m3比傳統中文專用模型更適合擴展到多語言text-embedding-3-small和text-embedding-3-large適合想直接上 API 的場景
如果你的庫裡同時有中文、英文、產品文件、網頁文案和使用者問題,多語言模型會比中文專用模型省掉很多後續改造成本。
3. 如果要控制推理和儲存成本
輕量模型更有優勢。
bge-small-zh-v1.5gte-base-zhmultilingual-e5-basetext-embedding-3-small
這類模型通常更適合:
- 文件量大
- 更新頻繁
- 需要批量向量化
- 對延遲和成本比較敏感
如果資料規模很大,embedding 維度、推理速度、索引占用都會直接影響總成本,所以「先上小模型做基線」通常是更穩的做法。
4. 如果優先追求上限
更大的模型通常更適合複雜檢索或高品質召回,例如:
text-embedding-3-largemultilingual-e5-largegte-large-zhbge-base-zh-v1.5bge-m3
但這裡要注意,模型越大不代表線上體驗一定越好。很多專案最後的瓶頸不是模型本身,而是切分策略、召回條數、重排、資料清洗和評測方式。
四、每個模型更適合什麼任務
| 模型 | 更適合的場景 | 簡單判斷 |
|---|---|---|
text-embedding-3-small |
通用檢索、RAG、快速接入 | API 省事,成本友好 |
text-embedding-3-large |
更重視品質的通用檢索 | 效果優先,工程最省心 |
bge-small-zh-v1.5 |
中文輕量檢索 | 中文常用入門款 |
bge-base-zh-v1.5 |
中文知識庫、FAQ、語義搜尋 | 中文場景很均衡 |
bge-m3 |
中文為主但希望兼顧更複雜檢索 | 擴展性更強 |
multilingual-e5-base |
多語言基礎檢索 | 國際化專案常用 |
multilingual-e5-large |
多語言高品質召回 | 更偏效果導向 |
gte-base-zh |
中文輕量召回 | 適合先做基線 |
gte-large-zh |
中文品質優先場景 | 可作為 BGE 對照組 |
jina-embeddings-v3 |
多語言、網頁、通用文字任務 | 統一 embedding 層時值得測 |
五、實際選型時可以怎麼決策
如果你只是要落地,而不是寫論文,選型順序可以簡單一點:
場景一:中文知識庫
優先測試這幾組:
bge-base-zh-v1.5gte-large-zhbge-small-zh-v1.5
如果預算緊,先從小模型開始;如果更重視召回品質,再往更大的模型試。
場景二:中英混合知識庫
優先測試:
multilingual-e5-basemultilingual-e5-largetext-embedding-3-smalltext-embedding-3-large
如果不想自部署,OpenAI 會更直接;如果要自己託管,E5 更常見。
場景三:中文為主,但未來可能擴到多語言
優先測試:
bge-m3multilingual-e5-basejina-embeddings-v3
這類場景最怕的是一開始只看中文,後面又要重做整個向量庫。
六、最後怎麼選,關鍵不是「榜單第一」
向量模型選型裡,最容易踩的坑就是只看公開分數,然後直接上線。
更可靠的方式通常是:
- 先挑 2 到 4 個候選模型
- 用自己的真實資料做 embedding
- 跑一輪召回評測
- 再結合成本、延遲、部署方式做決定
因為真正決定結果的,往往不是模型名本身,而是模型和你的語料、分塊策略、查詢形式到底合不合。
總結
如果只想記住一版實用結論,可以這樣:
- 中文優先:先看
bge-base-zh-v1.5、gte-large-zh - 成本優先:先看
bge-small-zh-v1.5、gte-base-zh、text-embedding-3-small - 多語言優先:先看
multilingual-e5-base、multilingual-e5-large、jina-embeddings-v3 - 直接上 API:先看
text-embedding-3-small、text-embedding-3-large - 想兼顧中文和後續擴展:先看
bge-m3
沒有一個模型適合所有專案,但大多數專案都可以先從這幾組裡很快篩出第一批候選。