EN

2.3 常用嵌入模型

嵌入模型有雲端 API 和開源模型兩大類,選的時候要看語言、成本和部署方式。

RAG下一篇 →

嵌入模型的排行榜變動很快,單看名次也不一定能選到適合自己的模型。真正需要比較的是語言、資料領域、向量維度、輸入長度、授權與執行成本。

兩大類

雲端 API(閉源)

由廠商提供,你把文字送過去,它回傳向量。優點是不用自己管機器,品質通常穩定。

  • OpenAI 的 text-embedding-3-small、text-embedding-3-large
  • Cohere 的 Embed 系列
  • Google 和 Voyage AI 等也有提供嵌入服務

要注意: 文字會被送到外部,有保密需求的資料要先確認廠商的資料政策。另外是按用量收費。

開源模型(自己跑)

模型權重公開,可以下載到自己的電腦或伺服器上執行。資料不出門,也沒有按次計費。

  • Sentence-Transformers 生態系裡的模型,例如 all-MiniLM-L6-v2(英文為主、很輕量)、paraphrase-multilingual-MiniLM-L12-v2(支援多語言,包含中文)
  • BGE 系列(北京智源研究院),有中文版、多語言版
  • E5 系列(Microsoft),有多語言版

要注意: 需要自己準備運算資源,模型越大越吃資源。

選模型要看什麼

要看的項目 為什麼重要
支援的語言 做中文內容,一定要選有支援中文的模型,英文模型處理中文效果很差
向量維度 維度越高,儲存和搜尋越吃資源;常見是 384 到 3072
最大輸入長度 超過長度的部分會被截掉,影響分塊的大小設定
品質 可以參考公開的評測,例如 MTEB(Massive Text Embedding Benchmark)排行榜,但要挑跟自己任務、語言相近的項目看
成本 API 看用量計價;開源要看運算資源
資料保密 敏感資料傾向自己跑開源模型
速度 資料很多或要即時回應時,小模型比較有優勢

注意 排行榜分數高,不代表在你的資料上最好。最可靠的方式是拿自己的幾十個真實問題,分別測試幾個候選模型,看哪一個找得最準。第 6 章會教怎麼做這件事。

使用上的小細節

  • 問題和文件要用同一個模型。 這點在 2.2 講過,很重要。
  • 有些模型要加前綴。 例如 E5 系列,建議在問題前面加 query: 、在文件前面加 passage: ,不加的話效果會變差。使用前要看模型的說明文件。
  • 向量是否已經正規化。 有的模型輸出的向量長度固定為 1,有的沒有,會直接影響相似度的計算方式。

一個務實的起點

剛開始做原型時,可以這樣選:

  • 內容是中文或多語言,想快速開始、資料也不敏感:用雲端 API,最省事。
  • 資料不能外流,或想控制成本:用開源的多語言模型,在自己的電腦上跑,2.7 就是這樣做的。

之後有需要再換,只要記得換了以後要把知識庫的向量重建一次。

← 全部文章