使用 Mistral 嵌入的語義搜尋

    簡介

    本指南將引導您完成使用 Mistral 嵌入設定 Meilisearch 的流程,以啟用語義搜尋功能。透過利用 Meilisearch 的 AI 功能和 Mistral 的嵌入 API,您可以增強您的搜尋體驗並檢索更相關的結果。

    要求

    若要遵循本指南,您需要

    設定 Meilisearch

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

    在使用 Mistral 產生嵌入時,您需要使用模型 mistral-embed。與其他一些服務不同,Mistral 目前僅提供一個嵌入模型。

    以下是 Mistral 的嵌入器設定範例

    {
      "mistral": {
        "source": "rest",
        "apiKey": "<Mistral API Key>",
        "dimensions": 1024,
        "documentTemplate": "<Custom template (Optional, but recommended)>",
        "url": "https://api.mistral.ai/v1/embeddings",
        "request": {
          "model": "mistral-embed",
          "input": ["{{text}}", "{{..}}"]
        },
        "response": {
          "data": [
            {
              "embedding": "{{embedding}}"
            },
            "{{..}}"
          ]
        }
      }
    }
    

    在此配置中

    設定嵌入器設定後,Meilisearch 會自動為您的文件產生嵌入,並將其儲存在向量儲存中。

    請注意,大多數第三方工具都有速率限制,這些限制由 Meilisearch 管理。如果您有免費帳戶,索引過程可能需要一些時間,但 Meilisearch 將使用重試策略來處理。

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

    在設定好嵌入器後,您現在可以使用 Meilisearch 執行語意搜尋。當您發送搜尋查詢時,Meilisearch 會使用已設定的嵌入器為該查詢產生一個嵌入向量,然後使用該向量在向量儲存庫中找到語意上最相似的文件。要執行語意搜尋,您只需發送一個普通的搜尋請求,但要包含 hybrid 參數。

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

    在此請求中:

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

    結論

    遵循本指南後,您現在應該已設定好 Meilisearch 和 Mistral 嵌入,讓您能夠在應用程式中利用語意搜尋功能。Meilisearch 的自動批次處理和高效的嵌入向量處理使其成為將語意搜尋整合到專案中的強大選擇。

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