使用 Cloudflare Worker AI 嵌入的語義搜尋

    簡介

    本指南將逐步引導您設定 Meilisearch 和 Cloudflare Worker AI 嵌入,以啟用語義搜尋功能。藉由利用 Meilisearch 的 AI 功能和 Cloudflare Worker AI 的嵌入 API,您可以增強搜尋體驗並檢索更相關的結果。

    需求

    若要遵循本指南,您需要

    設定 Meilisearch

    若要在 Meilisearch 中設定嵌入器,您需要針對您的設定進行配置。您可以參考Meilisearch 文件,以取得關於更新嵌入器設定的更多詳細資訊。

    Cloudflare Worker AI 提供以下嵌入模型

    以下是 Cloudflare Worker AI 的嵌入器設定範例

    {
      "cloudflare": {
        "source": "rest",
        "apiKey": "<API Key>",
        "dimensions": 384,
        "documentTemplate": "<Custom template (Optional, but recommended)>",
        "url": "https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/ai/run/@cf/<Model>",
        "request": {
          "text": ["{{text}}", "{{..}}"]
        },
        "response": {
          "result": {
            "data": ["{{embedding}}", "{{..}}"]
          }
        }
      }
    }
    

    在此配置中

    在設定配置中的 url 欄位時請小心。URL 包含您的 Cloudflare 帳戶 ID (<ACCOUNT_ID>) 和您要使用的特定模型 (<Model>)。請務必將這些預留位置取代為您的實際帳戶 ID 和所需的模型名稱 (例如,baai/bge-small-en-v1.5)。

    一旦您配置了嵌入器設定,Meilisearch 將自動為您的文件產生嵌入並將其儲存在向量儲存區中。

    請注意,Cloudflare 可能有速率限制,Meilisearch 會管理此限制。如果您擁有免費帳戶,索引程序可能需要一些時間,但 Meilisearch 將使用重試策略來處理。

    建議監控任務佇列,以確保一切運作順暢。您可以使用 Cloud UI 或 Meilisearch API 存取任務佇列。

    設定好嵌入器後,您現在可以使用 Meilisearch 執行語義搜尋。當您發送搜尋查詢時,Meilisearch 將使用已配置的嵌入器為查詢產生嵌入向量,然後使用它來尋找向量儲存區中最語義相似的文件。要執行語義搜尋,您只需發出正常的搜尋請求,但需包含混合(hybrid)參數。

    {
      "q": "<Query made by the user>",
      "hybrid": {
        "semanticRatio": 1,
        "embedder": "cloudflare"
      }
    }
    

    在此請求中

    您可以使用 Meilisearch API 或客戶端函式庫來執行搜尋,並根據語義相似性檢索相關文件。

    結論

    依照本指南操作後,您現在應該已設定好 Meilisearch 與 Cloudflare Worker AI 嵌入,讓您能夠在您的應用程式中利用語義搜尋功能。Meilisearch 的自動批次處理和高效的嵌入處理使其成為將語義搜尋整合到您的專案中的強大選擇。

    要探索有關嵌入器的更多配置選項,請查閱有關嵌入器設定可能性的詳細文件