使用 Voyage AI 嵌入的語義搜尋
簡介
本指南將引導您完成使用 Voyage AI 嵌入設定 Meilisearch 的過程,以啟用語義搜尋功能。藉由利用 Meilisearch 的 AI 功能和 Voyage AI 的嵌入 API,您可以增強搜尋體驗並檢索更相關的結果。
需求
要遵循本指南,您需要:
- 一個Meilisearch Cloud專案,執行 1.10 或以上版本,並啟用向量儲存。
- 一個 Voyage AI 帳戶,具有用於產生嵌入的 API 金鑰。您可以在Voyage AI註冊 Voyage AI 帳戶。
- 不需要後端。
設定 Meilisearch
要在 Meilisearch 中設定嵌入器,您需要根據您的設定進行配置。您可以參考Meilisearch 文件,以取得有關更新嵌入器設定的更多詳細資訊。
Voyage AI 提供以下嵌入模型
voyage-large-2-instruct
:1024 維度voyage-multilingual-2
:1024 維度voyage-large-2
:1536 維度voyage-2
:1024 維度
以下是 Voyage AI 的嵌入器設定範例
{
"voyage": {
"source": "rest",
"apiKey": "<Voyage AI API Key>",
"dimensions": 1024,
"documentTemplate": "<Custom template (Optional, but recommended)>",
"url": "https://api.voyageai.com/v1/embeddings",
"request": {
"model": "voyage-2",
"input": ["{{text}}", "{{..}}"]
},
"response": {
"data": [
{
"embedding": "{{embedding}}"
},
"{{..}}"
]
}
}
}
在此組態中
source
:指定嵌入器的來源,對於使用 REST API,設定為「rest」。apiKey
:將<Voyage AI API 金鑰>
替換為您實際的 Voyage AI API 金鑰。dimensions
:指定嵌入的維度。對於voyage-2
、voyage-large-2-instruct
和voyage-multilingual-2
,設定為 1024;對於voyage-large-2
,設定為 1536。documentTemplate
:您可以選擇提供一個自訂範本,以從您的文件中產生嵌入。url
:指定 Voyage AI API 端點的 URL。request
:定義 Voyage AI API 的請求結構,包括模型名稱和輸入參數。response
:定義 Voyage AI API 的預期回應結構,包括嵌入資料。
設定嵌入器設定後,Meilisearch 會自動為您的文件產生嵌入,並將其儲存在向量儲存中。
請注意,大多數第三方工具都有速率限制,由 Meilisearch 管理。如果您有免費帳戶,索引過程可能需要一些時間,但 Meilisearch 將會使用重試策略來處理。
建議監控任務佇列,以確保一切順利執行。您可以使用 Cloud UI 或Meilisearch API存取任務佇列。
測試語義搜尋
設定好嵌入器後,您現在可以使用 Meilisearch 執行語義搜尋。當您傳送搜尋查詢時,Meilisearch 將使用設定的嵌入器產生查詢的嵌入,然後使用它在向量儲存中尋找語義上最相似的文件。若要執行語義搜尋,您只需發出一般的搜尋請求,但包含混合參數:
{
"q": "<Query made by the user>",
"hybrid": {
"semanticRatio": 1,
"embedder": "voyage"
}
}
在此請求中
q
:表示使用者的搜尋查詢。hybrid
:指定混合搜尋的組態。semanticRatio
:允許您控制語義搜尋和傳統搜尋之間的平衡。值 1 表示純語義搜尋,而值 0 表示全文搜尋。您可以調整此參數以實現混合搜尋體驗。embedder
:用於產生嵌入的嵌入器名稱。請務必使用與嵌入器組態中指定的名稱相同的名稱,在本例中為「voyage」。
您可以使用 Meilisearch API 或用戶端程式庫來執行搜尋,並根據語義相似性檢索相關文件。
結論
依照本指南操作,您現在應該已經設定好 Meilisearch 與 Voyage AI 嵌入功能,讓您可以在應用程式中運用語義搜尋功能。Meilisearch 的自動批次處理和高效處理嵌入功能使其成為將語義搜尋整合到專案中的強大選擇。
若要探索更多關於嵌入器的設定選項,請參閱關於嵌入器設定可能性的詳細文件。