OpenAI text-embedding-ada-002 發布
TL;DR
OpenAI 發布了 text-embedding-ada-002,這是一個取代五個舊模型的單一嵌入模型,在文字搜尋、程式碼搜尋與句子相似度方面提供更強的效能,支援 8K 上下文,使用 1536 維向量,且成本比先前基於 Davinci 的嵌入低至 99.8%。
模型改進
統一能力 – 新模型將五個先前的嵌入模型(text-similarity、text-search-query、text-search-doc、code-search-text、code-search-code)整合為一個 API 端點,簡化整合,同時在廣泛的基準測試套件中提供更佳結果。
效能提升 – 在 BEIR 基準測試套件(包括 ArguAna、ClimateFEVER、DBPedia、FEVER、FiQA2018、HotpotQA、NFCorpus、QuoraRetrieval、SciFact、TRECCOVID、Touche2020)上,text-embedding-ada-002 獲得 53.3 分,超過次佳模型 text-search-davinci-*-001(52.8)以及所有其他先前的嵌入。它在文字分類上也與 Davinci 相當,且在程式碼搜尋上超越先前模型。
更長上下文 – 上下文長度從 2048 個 token 增加至 8192 個 token,使得能對更長的文件進行嵌入而不會被截斷。
更小向量 – 嵌入向量為 1536 維,僅為先前 Davinci‑001 嵌入的八分之一,降低向量資料庫的儲存與檢索成本。
成本降低 – 價格比同等規模的舊模型低 90%,整體成本比使用 Davinci 嵌入低 99.8%,且提供相同或更佳的效能。
限制
text-embedding-ada-002 在 SentEval 線性探測分類基準上 未 超過 text-similarity-davinci-001。對於依賴在嵌入上訓練輕量線性分類器的任務,使用者應比較兩個模型並選擇精度較高者。
欲了解更廣泛的限制與風險考量,請參閱嵌入文件中的 Limitations & Risks 章節。
使用範例
使用新模型對短文字進行嵌入,只需使用 OpenAI 函式庫的兩行 Python 程式碼:
import openai
response = openai.Embedding.create(
input="porcine pals say",
model="text-embedding-ada-002"
)
回應中包含一個 1536 維的向量,代表輸入內容。
真實世界應用
- Kalendar AI 使用新嵌入將銷售說辭與 3.4 億客戶檔案匹配,較先前方法減少 40–56% 的不必要目標。
- Notion 計畫以 OpenAI 嵌入取代基於關鍵字的搜尋,以提升其工作空間平台的相關性與可發現性。
對開發者與企業的影響
將五個模型統一為單一、更便宜且效能更高的嵌入服務,降低了工程開銷與營運成本。更長的上下文視窗與更小的向量尺寸使得嵌入整篇文件並有效儲存成為可能,擴大了語意搜尋、推薦與程式碼檢索等應用範圍。
參考資料
- OpenAI 文件: Embeddings API
- 基準資料集: BEIR
- 原始嵌入發布: Introducing Text and Code Embeddings
Sources
- OriginalNew and improved embedding model