跳到正文
openrouter blog·· 9 天前精選AI 評分73

2026 年最佳 Embedding 模型選型指南

Best Embedding Models in 2026

AI 導讀

OpenRouter 發布 2026 年最佳 Embedding 嵌入模型選型指南,針對英文 RAG、多語言檢索、程式碼搜尋、圖文檢索及低成本索引等不同應用場景進行實測與推薦。

推薦理由

文章梳理 2026 年多類嵌入模型的選型指南與效能差異,讀者可據此對照自身專案需求評估合適方案。

正文 · AI 翻譯

譯文尚未完整,完整內容請切換至原文。

嵌入模型決定了你的檢索系統能找到什麼。它將每個輸入轉換成向量,並將相關輸入放置在彼此附近,這樣你的應用程式就能根據語義而非精確文字進行檢索。

最佳選擇取決於你需要搜尋的資料。英語知識庫、多語言支援檔案、程式碼庫以及文字與影像集合各有不同需求。向量大小、上下文長度、公開權重以及價格也會影響決策。

我們針對英語 RAG、多語言檢索、程式碼搜尋、文字與影像檢索以及低成本索引篩選了模型,然後透過我們的嵌入端點對每個模型傳送實際請求。

最後驗證時間: 2026年9月11日。我們的嵌入模型目錄在那天回傳了37筆條目,其中包含某些模型的批次與預覽版本。

供應商可能會新增或刪除路徑,提示價格亦可能變動。開始大型索引或重新索引工作前,請先檢查最新的模型頁面。如模型頁面與本指南不符,請以模型頁面為準。

TL;DR

  • 先使用 openai/text-embedding-3-small 進行英語 RAG。
  • 當輸入超過 8,192 個 token 或你想在不重建索引的情況下在 Voyage 4 層級之間切換時,請測試 voyageai/voyage-4-large。若你想要開放權重的替代方案,qwen/qwen3-embedding-8b 擁有更長的上下文視窗且提示價格更低。
  • 使用 qwen/qwen3-embedding-8b 進行多語言檢索並使用公開權重,使用 voyageai/voyage-code-4 進行程式碼搜尋,使用 google/gemini-embedding-2 或 voyageai/voyage-multimodal-3.5 進行文字與影像檢索。
  • perplexity/pplx-embed-v1-0.6b 在我們篩選的付費文字模型中擁有最低的提示價格。nvidia/nemotron-3-embed-1b:free 是一條免費文字嵌入路徑,擁有 32,768 個 token 的上下文視窗。
  • 我們的 API 檢查確認請求與回應行為,而非檢索品質。在建立或重新建立完整索引前,請至少在你應用程式的標記查詢與檔案上比較兩個以上候選模型。

最佳嵌入模型(按使用案例分類)

使用案例建議模型為何列入篩選清單
預設英語 RAGopenai/text-embedding-3-small低提示價格、8,192 個 token 的上下文,以及可調整輸出維度
輸入長度超過 8,192 個 tokenvoyageai/voyage-4-large32,000 個 token 的上下文、四個可選維度,以及與其他 Voyage 4 層級相容的嵌入
多語言檢索並使用公開權重qwen/qwen3-embedding-8b支援超過 100 種語言、32,768 個 token 的上下文視窗,以及公開權重
程式碼搜尋voyageai/voyage-code-4專為檢索程式碼及相關技術內容而設計
文字與影像檢索google/gemini-embedding-2將文字與影像放入同一嵌入空間。voyageai/voyage-multimodal-3.5 是我們第二次驗證的選項
最低價格的付費文字選項perplexity/pplx-embed-v1-0.6b每百萬個輸入 token 的提示價格為 $0.004,並擁有 32,000 個 token 的上下文視窗
免費文字嵌入nvidia/nemotron-3-embed-1b:free一條免費路徑,擁有 32,768 個 token 的上下文視窗以及多語言模型卡

按輸入型別選擇模型

先從你需要搜尋的資料開始。圖表先按輸入型別排序,再按是否需要公開權重,最後按你的主要限制。

Decision tree for choosing an embedding model. Code goes to Voyage Code 4. Text and images go to Gemini Embedding 2 or Voyage Multimodal 3.5. Text with public weights goes to Nemotron 3 Embed 1B on the free route or Qwen3 Embedding 8B on a paid route. Managed text goes to OpenAI Text Embedding 3 Small for inputs up to 8,192 tokens, Voyage 4 Large for longer inputs, or Perplexity Embed 0.6B for the lowest prompt price.

圖表為你提供起點。至少比較兩個候選模型,使用你應用程式的查詢與檔案,並追蹤每個模型檢索相關片段的頻率,然後再建立或重新建立大型索引。

我們如何挑選這些模型

我們使用即時目錄確認可用性、上下文視窗、輸入型別與提示價格。檢查模型供應商的檔案以瞭解其功能與基準結果,然後透過嵌入端點傳送實際請求,以確認請求與回應行為。

我們向 19 個模型發送了兩個字串的批次請求,總共執行了 28 次檢查,涵蓋批次輸入、可設定維度、影像輸入、文字與影像輸入以及錯誤處理。16 個付費模型每個輸入回傳一個向量。回應確認了下表中的預設維度,並顯示 dimensions 引數在 OpenAI Text Embedding 3 Small、Gemini Embedding 2 與 Voyage 4 Large 中皆可使用。對不存在的模型傳送請求時,回傳 400 錯誤,訊息為 Model openai/does-not-exist does not exist。

三個免費路徑在我們的測試帳號中回傳 404 錯誤,因為其隱私設定不允許將請求路由至可能使用免費模型提示進行訓練的供應商。我們在下方的免費選項區段說明瞭此設定。對於這些模型,我們列出的預設維度來自其模型卡,而非我們的回應。

這些請求確認了 API 的相容性,但並未測量檢索品質。我們排除回應時間,因為每個模型在不同的服務條件下只收到一次小規模請求。我們將每個使用案例對應到已檔案化的功能,然後利用語言覆蓋範圍、上下文長度、輸出維度、公開權重與提示價格來縮小候選範圍。已發表的評估(包括 MTEB 與 CoIR)協助我們識別待測試模型。您標記的檢索結果應決定您要部署哪一個。

比較已篩選出的嵌入模型

以下價格為我們於 2026 年 9 月 11 日在目錄中列出的提示價格,Gemini Embedding 2 的影像價格則為 2026 年 9 月 18 日的目錄值。預設維度來自我們的實際回應,僅 NVIDIA 免費模型的預設來自其模型卡。

模型輸入上下文預設維度提示價格(每百萬 token)權重
openai/text-embedding-3-small文字8,1921,536$0.02封閉
openai/text-embedding-3-large文字8,1923,072$0.13封閉
voyageai/voyage-4-lite文字32,0001,024$0.02封閉
voyageai/voyage-4文字32,0001,024$0.06封閉
voyageai/voyage-4-large文字32,0001,024$0.12封閉
voyageai/voyage-code-4文字,最佳化於程式碼32,0001,024$0.12封閉
voyageai/voyage-multimodal-3.5文字與影像32,0001,024$0.12封閉
qwen/qwen3-embedding-8b文字32,7684,096$0.01開放
qwen/qwen3-embedding-4b文字32,7682,560$0.02開放
perplexity/pplx-embed-v1-0.6b文字32,0001,024$0.004開放
perplexity/pplx-embed-v1-4b文字32,0002,560$0.03開放
google/gemini-embedding-2文字與影像8,1923,072$0.20(文字),$0.45(影像 token)封閉
nvidia/nemotron-3-embed-1b:free文字32,7682,048免費開放

維度欄位會影響原始索引大小。請參閱下方的「計算向量儲存」以瞭解公式與範例。

我們的目錄包含比表格顯示更多的模型。baai/bge-m3 加入另一個開放多語言選項,mistralai/mistral-embed-2312 提供一般文字替代方案,mistralai/codestral-embed-2505 針對程式碼檢索。三者皆在我們的文字請求檢查中回傳向量。目錄亦列出來自 BAAI、E5、GTE 與 Sentence Transformers 的 512 token 開放模型,價格為每百萬 token $0.005 至 $0.01,這些模型我們未在本指南中測試。

最佳英文 RAG 預設

當您需要一個適用於英文知識庫的管理型模型時,請從 openai/text-embedding-3-small 開始。它的預設向量包含 1,536 個值,比 openai/text-embedding-3-large 的預設值少一半。以相同的數值格式,Small 會使用一半的原始向量儲存。將 1,536 個值的預設保留作為首輪評估,僅在預設滿足檢索目標但儲存或搜尋成本仍是限制時再減少。

您可以利用 dimensions 引數縮短其向量。使用 "dimensions": 256 的請求回傳了 256 個值的向量。較小的向量使用較少的資料庫儲存並減少相似度搜尋所需工作,但也可能降低檢索品質。在更改現有索引前,請先測試較小尺寸。

OpenAI 將 text-embedding-3-large 描述為其在英語及非英語任務中最強大的嵌入模型。當 Small 無法得到相關結果時,尤其是使用者跨語言搜尋時,請先測試它。切換到 Large 會改變向量大小與提示價格,因此在重新嵌入資料庫前,請先在留存測試題目上比較兩個模型。

若輸入超過 Small 的 8,192 令牌上限,請測試 Voyage 4 Large。對於較短輸入,使用相同的分塊、查詢與相關性標籤比較兩種模型。

Voyage 4 系列適用於較長輸入

當您需要一個可調節維度且跨 Voyage 4 等級相容的 32,000 令牌管理模型時,請測試 voyageai/voyage-4-large。它可接受最多 32,000 令牌,並支援 256、512、1,024 與 2,048 維度。在我們的 API 檢查中,將 dimensions 設為 512 時,返回了一個 512 個值的向量。

此係列包含 voyageai/voyage-4 與 voyageai/voyage-4-lite,兩者使用相同的上下文視窗。Voyage states 所說,所有使用 4 系列產生的嵌入彼此相容。這讓您可以將另一個 Voyage 4 層級測試於現有索引。於部署前,在代表性樣本上驗證層級變更。相容的向量空間消除了重建需求,但不保證檢索結果完全相同。

將 Large 與至少一個較低的 Voyage 4 等級對同一評估集進行測試。若它們在相同截斷點檢索到相同相關段落,則較低等級可能符合您的需求。

Voyage 模型為管理式服務。若您需要公開權重以自行託管或部署控制,Qwen3 Embedding 8B 是此清單中的開放權重替代方案。

最佳開放權重多語言檢索模型

qwen/qwen3-embedding-8b 是我們的開放權重多語言選擇。它支援超過 100 種語言,您可以從 Hugging Face 下載權重,或透過我們的 API 呼叫託管模型。我們的預設 API 請求回傳 4,096 個值。以相同數值格式,4,096 值的向量佔用的原始儲存量是 1,024 值向量的四倍。在估算索引大小時請將此差異納入考量。我們的 API 檢查並未證實 Qwen3 Embedding 8B 的檢索效果是否優於 nvidia/nemotron-3-embed-1b:free。當路徑成本與向量大小影響決策時,請先在同一標記資料集上測試兩者,再做決定。

The Qwen model card reports a multilingual score of 70.58 on the Massive Text Embedding Benchmark, MTEB, as of 5 June 2025. This is a vendor-reported public benchmark result. Use it to shortlist Qwen, then test every language and domain your application supports, because your corpus can produce a different ranking.

模型頁面列出了 32,768 個 token 的上下文視窗,但限制是按端點設定的。於 2026 年 9 月 11 日,DeepInfra 與 SiliconFlow 為 Qwen3 Embedding 8B 的端點列出 32,768 token,Nebius 端點則列出 32,000 token。若您傳送的輸入長度超過 32,000 token,請檢查 endpoint list 並鎖定限制較大的供應商,或將輸入維持在 32,000 token 或以下。

4B 版本使用相同的模型級上下文視窗,在我們的檢查中返回 2,560 個值。它自行執行時所需資源較少。託管價格取決於可用供應商,請在選擇前比較 Qwen3 Embedding 8B 與 4B 的最新模型頁面。

baai/bge-m3 為您提供第二個開放的多語言模型,您可以在自己的資料集上與 Qwen3 進行比較。其 model card 涵蓋 100 多種語言,輸入長度最高可達 8,192 個 token,我們的請求返回了 1,024 個值的向量。上游模型可返回多種表示型別,包括稠密向量和稀疏向量。我們的標準嵌入回應返回稠密向量。如您的檢索設計依賴於其他表示型別,請使用上游實作。

最佳用於程式碼搜尋的嵌入模型

當查詢需要檢索函式、檔案或程式碼檔案時,請使用 voyageai/voyage-code-4。Voyage 為程式碼檢索與 coding-agent 工作負載構建了此模型。其 32,000 token 的上下文視窗可接受長檔案或查詢,儘管索引塊仍應代表在檢索時有用的程式碼單元。

mistralai/codestral-embed-2505 是我們目錄中主要的程式碼專用替代方案。它在我們的文字請求檢查中返回了 1,536 個值。其上下文視窗為 8,192 token,與 Voyage Code 4 的 32,000 token 相比。先測試 Voyage Code 4,然後使用 Codestral Embed 作為比較模型。

公開評估可以幫助您比較候選模型。Code Information Retrieval Benchmark, CoIR 包含十個資料集,涵蓋七個領域的八項程式碼檢索任務。使用它在測試您自己的倉庫工作之前比較模型。 一個有用的內部評估將問題描述或開發者問題對映到解決它們所需的檔案和塊。

最佳用於文字與影像檢索的模型

當同一索引需要搜尋文字與影像時,請使用 google/gemini-embedding-2。它將兩種輸入型別放入同一嵌入空間,因此文字查詢可以檢索具有相關意義的影像,影像查詢則可檢索相關文字。

我們已透過嵌入端點驗證文字、base64 編碼的 PNG 影像以及文字與影像混合請求。每個請求返回一個 3,072 值的向量。我們還使用 "dimensions": 768 傳送文字請求,並收到一個 768 值的向量。在我們的檢查中,64x64 畫素 PNG 計為 258 個提示 token,費用為 $0.000128。截至 2026 年 9 月 18 日,我們的目錄對此模型的影像輸入單獨定價為每百萬影像 token $0.45,請參考 model page 以便在索引大型影像集合前確認價格。本指南將建議限制於文字與影像輸入,因為這些是我們已驗證的請求型別。

voyageai/voyage-multimodal-3.5 是我們驗證的第二個文字與影像模型。其影像請求與文字與影像混合請求各返回一個 1,024 值的向量,同一個 64x64 畫素 PNG 計為 89 個提示 token,費用為 $0.00003。它具有 32,000 token 的上下文視窗,提示價格為每百萬 token $0.12。Gemini Embedding 2 與 Voyage Multimodal 3.5 使用不同的向量空間,請在索引前選擇其中一個。

google/gemini-embedding-001 是一個獨立的僅文字模型,擁有 20,000 token 的上下文視窗。兩個 Gemini 模型使用不同的向量空間,切換它們需要重新嵌入索引。

nvidia/llama-nemotron-embed-vl-1b-v2:free 是我們目錄中免費的文字與影像路由,擁有 131,072 token 的上下文視窗。由於下方所述的隱私設定原因,我們的測試帳戶無法呼叫它,因此未將其列入建議。

最佳低成本與免費選項

perplexity/pplx-embed-v1-0.6b 在我們的候選清單中擁有最低的付費文字價格,$0.004 每百萬輸入 token。它可接受最多 32,000 tokens,並回傳 1,024 個值的向量。較大的 perplexity/pplx-embed-v1-4b 回傳 2,560 個值,且提示價格為 $0.03 每百萬輸入 token。

Perplexity 將 0.6B 模型定位為輕量、低延遲檢索,4B 模型則定位為更高檢索品質。我們的 API 檢查確認了預設向量大小,而非哪個 Perplexity 模型檢索更好。將供應商的定位視為候選訊號,並在標記查詢上比較兩個模型。

使用免費路徑進行評估,而非作為大型生產索引工作的唯一途徑。當你需要免費候選進行測試時,先使用 nvidia/nemotron-3-embed-1b:free。它擁有 32,768 token 的上下文視窗,且 NVIDIA 的模型卡 報告 2,048 值的輸出向量,涵蓋 34 種語言的評估,並支援以 L2 重新規範化將向量切片為較小尺寸。NVIDIA 以 OpenMDW-1.1 授權發布權重。在使用免費路徑進行生產索引工作前,請先檢查目前模型頁面以確認可用性與速率限制。可用性與速率限制可能在批次執行期間變動。

我們目錄中的免費路徑由可能允許在你的提示上進行訓練的供應商提供。你的 帳戶隱私設定 為付費和免費模型各有獨立開關。當免費模型開關關閉時,對這些路徑之一的請求會返回 404 錯誤,並列出免費模型訓練設定及被排除的端點。我們的測試帳戶已關閉該開關,這也是為什麼三條免費路徑未通過檢查。工作區防護牆 停用免費模型訓練,或在請求中將 provider.data_collection 設為 deny,會排除相同的端點並產生相同的 404 錯誤。請參閱 供應商日誌與訓練政策 瞭解我們如何應用這些設定。

liquid/lfm-2.5-embedding-350m:free 是候選清單中的另一條免費文字路徑。其 512 token 的上下文視窗限制每個輸入為短段落,因此較長檔案需要比本指南中的其他模型更小的切片。僅在每個嵌入段落能容納於 512 token 內時使用,例如短 FAQ 條目、標題或句子級片段。當檢索單位需要更長上下文時,請排除此路徑。

在你的資料上評估嵌入模型

對每個候選使用相同的語料庫、查詢、相關性標籤、切片方式與檢索指標。改變模型時保持其餘評估固定,確保結果可比。

評估英語 RAG

對每個候選使用相同的切片策略。先以約 512 至 1,024 token 的重疊切片開始,然後根據檔案結構與檢索結果調整大小。

從使用者提出的問題開始,並標記包含答案的切片。使用與應用程式送至生成模型相同數量的檢索切片來測量召回率。當多個切片相關但有些更有用時,加入正規化折扣累積增益(nDCG)。

評估多語言檢索

包含你計畫支援的所有語言。如使用者可能以一種語言輸入查詢並檢索另一種語言的檔案,請加入跨語言情境。將每種語言的結果單獨報告,並附上整體平均值,避免單一語言的強勁結果掩蓋其他語言的弱點。

評估程式碼搜尋

使用開發者問題或問題描述,並為解決它們的檔案或程式碼區塊貼上標籤。CoIR 可以補充此集合。您專屬於倉庫的標籤應該具有更高權重,因為它們反映了您應用程式將執行的搜尋。

計算向量儲存空間

將向量儲存空間納入比較。100 萬個 4,096 維度 float32 向量在索引開銷之前大約需要 16.4 GB。100 萬個 1,024 維度向量大約需要 4.1 GB。您可以使用以下公式估算原始儲存量:

vector storage in bytes = number of vectors x dimensions x bytes per value

比較每個支援的向量尺寸的檢索品質,然後選擇符合您目標的最小尺寸。對索引和查詢都使用選定的模型與維度。

使用相容的模型進行索引與查詢

不同模型族群的向量不共享座標空間。若您以 openai/text-embedding-3-small 對檔案進行索引,則每次查詢時必須以相同模型與設定嵌入。混用模型會產生不可靠的檢索結果。google/gemini-embedding-2 與 google/gemini-embedding-001 亦同。切換它們需要重新建構索引。

更換模型通常需要重新嵌入語料庫。Voyage 設計了 Voyage 4 文字模型以產生相容向量,這在該族群內建立了一個已記錄的例外。更改查詢或索引路徑前請先測試樣本,因為所選層級仍可能影響檢索品質。

將模型 slug、輸出維度、提示格式與建立日期與索引元資料一起儲存。某些嵌入模型使用 input_type 值來區分查詢,例如 search_query,與已索引內容,例如 search_document。將每一方使用的值與索引元資料一起儲存。這些欄位允許後續部署在查詢索引前檢查其嵌入配置。

端點在我們的模型目錄中保持不變。模型 slug 與輸出維度必須與構建索引時使用的配置相符。若您以非預設維度建立索引,則在嵌入查詢時須包含相同的 dimensions 值。

透過我們的 API 呼叫嵌入模型

將請求傳送至 https://openrouter.ai/api/v1/embeddings。此 Python 範例使用與我們驗證通過相同的批次請求格式:

import os

import requests

response = requests.post(
    "https://openrouter.ai/api/v1/embeddings",
    headers={
        "Authorization": f"Bearer {os.environ['OPENROUTER_API_KEY']}",
        "Content-Type": "application/json",
    },
    json={
        "model": "openai/text-embedding-3-small",
        "input": [
            "Reset a password from the account settings page.",
            "Refunds are available within 14 days of purchase.",
        ],
    },
    timeout=90,
)

response.raise_for_status()
result = response.json()
vectors = [item["embedding"] for item in result["data"]]

print(len(vectors))
print(len(vectors[0]))

回應包含每個輸入對應的一個向量,順序不變。若選定模型支援可調整維度,請在請求中加入 "dimensions": 256 或其他支援的尺寸,並將該值與索引元資料一起儲存。

對於 Gemini Embedding 2 與 Voyage Multimodal 3.5,請將影像輸入放入 input 列表內的 content 陣列中。我們已在兩個模型上驗證此請求結構:

payload = {
    "model": "google/gemini-embedding-2",
    "input": [
        {
            "content": [
                {"type": "text", "text": "A purple square"},
                {
                    "type": "image_url",
                    "image_url": {"url": "data:image/png;base64,BASE64_IMAGE_DATA"},
                },
            ]
        }
    ],
    "encoding_format": "float",
}

省略文字部分以僅嵌入影像。請參閱我們的 Embeddings API 文件 以取得完整的請求與回應結構。

常見問題

我應該使用哪一個嵌入模型?

根據您要檢索的資料與部署關鍵限制來選擇。先挑選支援您的輸入型別、語言覆蓋、上下文長度與權重需求的候選模型。於相同標記的查詢上比較至少兩個,然後選擇在可接受的儲存與索引成本下達到檢索目標的模型。

我可以在不重建索引的情況下更換嵌入模型嗎?

更換至另一個模型族群需重建索引,因為檔案與查詢必須使用相同模型與設定的向量。Voyage 表示 Voyage 4 Large、Voyage 4 與 Voyage 4 Lite 的嵌入彼此相容。更換層級前請先在樣本上測試檢索品質。

哪個嵌入模型最快?

本指南未進行受控延遲基準測試。延遲會因輸入長度、批次大小、供應商負載與路由而變化。請以您的應用程式將使用的輸入與批次大小測試端點。

我應該使用最大的嵌入維度嗎?

根據您的檢索結果與儲存限制選擇嵌入維度。較高的維度需要更多儲存空間與每次相似度搜尋更多工作量。若模型支援較低維度,請使用在評估集上達到檢索目標的最小維度。

text-embedding-ada-002 仍是良好的預設選項嗎?

我們不會把 text-embedding-ada-002 作為新 OpenAI 基礎索引的預設。先評估 text-embedding-3-small,再根據檢索結果是否能證明較高的提示價格與更大向量的價值,與 text-embedding-3-large 做比較。

為什麼免費嵌入模型會回傳 404 錯誤?

我們目錄中的免費嵌入路由由可能允許在您的提示上進行訓練的供應商提供。若您的帳戶隱私設定、工作區守則,或 provider.data_collection 請求欄位設為 deny 排除使用免費模型提示進行訓練的供應商,則沒有符合條件的端點,請求將回傳 404 錯誤並說明免費模型訓練限制。請在將模型 ID 視為無效之前,先檢查帳戶隱私頁面與套用於 API 金鑰的任何守則。

來源:openrouter blog · openrouter.ai