嵌入向量
文本嵌入向量是文本的數值表示,可用於衡量語義相似度。本指南介紹嵌入向量、其應用場景,以及如何使用嵌入模型來執行搜索、推薦和異常檢測等任務。
在實施嵌入向量之前
在選擇嵌入向量提供商時,根據您的需求和偏好,可以考慮以下幾個因素:
- 數據集大小和領域特異性:模型訓練數據集的大小及其與您要嵌入的領域的相關性。更大或更具領域特異性的數據通常會產生更好的領域內嵌入向量
- 推理性能:嵌入向量查找速度和端到端延遲。這對於大規模生產部署來說是一個特別重要的考慮因素
- 自定義:在私有數據上繼續訓練的選項,或針對特定領域的模型專門化。這可以提高在獨特詞彙表上的性能
如何通過 Anthropic 獲取嵌入向量
Anthropic 並不提供自己的嵌入模型。Voyage AI 是一個提供多種選項和功能的嵌入向量提供商,涵蓋了上述所有考慮因素。
Voyage AI 提供最先進的嵌入模型,並為金融和醫療保健等特定行業領域提供定制模型,或為個別客戶提供定制微調模型。
本指南的其餘部分是關於 Voyage AI 的,但我們建議您評估各種嵌入向量供應商,以找到最適合您特定用例的供應商。
可用模型
Voyage 推薦使用以下文本嵌入模型:
模型 | 上下文長度 | 嵌入維度 | 描述 |
---|---|---|---|
voyage-3-large | 32,000 | 1024(默認), 256, 512, 2048 | 最佳通用和多語言檢索質量。 |
voyage-3 | 32,000 | 1024 | 針對通用和多語言檢索質量優化。詳情請參閱博客文章。 |
voyage-3-lite | 32,000 | 512 | 針對延遲和成本優化。詳情請參閱博客文章。 |
voyage-code-3 | 32,000 | 1024(默認), 256, 512, 2048 | 針對代碼檢索優化。詳情請參閱博客文章。 |
voyage-finance-2 | 32,000 | 1024 | 針對金融檢索和 RAG 優化。詳情請參閱博客文章。 |
voyage-law-2 | 16,000 | 1024 | 針對法律和長上下文檢索和 RAG 優化。同時提升所有領域的性能。詳情請參閱博客文章。 |
此外,推薦使用以下多模態嵌入模型:
模型 | 上下文長度 | 嵌入維度 | 描述 |
---|---|---|---|
voyage-multimodal-3 | 32000 | 1024 | 豐富的多模態嵌入模型,可以向量化交錯的文本和內容豐富的圖像,如 PDF 截圖、幻燈片、表格、圖表等。詳情請參閱博客文章。 |
需要幫助決定使用哪個文本嵌入模型?查看常見問題。
Voyage AI 入門
要訪問 Voyage 嵌入向量:
- 在 Voyage AI 的網站上註冊
- 獲取 API 密鑰
- 為方便起見,將 API 密鑰設置為環境變量:
您可以通過使用官方 voyageai
Python 包或 HTTP 請求來獲取嵌入向量,如下所述。
Voyage Python 包
可以使用以下命令安裝 voyageai
包:
然後,您可以創建一個客戶端對象並開始使用它來嵌入您的文本:
result.embeddings
將是一個包含兩個嵌入向量的列表,每個向量包含 1024 個浮點數。運行上述代碼後,兩個嵌入向量將顯示在屏幕上:
在創建嵌入向量時,您還可以為 embed()
函數指定其他一些參數。您可以在此處閱讀更多規範
Voyage HTTP API
您也可以通過請求 Voyage HTTP API 獲取嵌入向量。例如,您可以在終端中通過 curl
命令發送 HTTP 請求:
您將收到一個包含嵌入向量和令牌使用情況的 JSON 對象:
您可以在 Voyage 文檔中閱讀更多關於嵌入端點的信息
AWS Marketplace
Voyage 嵌入向量也可在 AWS Marketplace 上獲得。在 AWS 上訪問 Voyage 的說明可在此處獲得。
快速入門示例
現在我們知道如何獲取嵌入向量,讓我們看一個簡短的示例。
假設我們有六個文檔的小型語料庫可供檢索
我們首先使用 Voyage 將每個文檔轉換為嵌入向量
嵌入向量將允許我們在向量空間中進行語義搜索/檢索。給定一個示例查詢,
我們將其轉換為嵌入向量,並進行最近鄰搜索,根據嵌入空間中的距離找到最相關的文檔。
請注意,我們分別使用 input_type="document"
和 input_type="query"
來嵌入文檔和查詢。更多規範可以在這裡找到。
輸出將是第 5 個文檔,這確實是與查詢最相關的:
如果您正在尋找關於如何使用嵌入向量進行 RAG 的詳細食譜集,包括向量數據庫,請查看我們的 RAG 食譜。
常見問題
定價
訪問 Voyage 的定價頁面以獲取最新的定價詳情。
Was this page helpful?