2.3 常用嵌入模型
嵌入模型有雲端 API 和開源模型兩大類,選的時候要看語言、成本和部署方式。
嵌入模型的排行榜變動很快,單看名次也不一定能選到適合自己的模型。真正需要比較的是語言、資料領域、向量維度、輸入長度、授權與執行成本。
兩大類
雲端 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 就是這樣做的。
之後有需要再換,只要記得換了以後要把知識庫的向量重建一次。