使用 GPU 計算 Hugging Face 嵌入

    本指南旨在為使用自行託管 Meilisearch 實例的經驗豐富的使用者提供協助。它會向您展示如何編譯一個 Meilisearch 二進位檔,該二進位檔會使用 Nvidia GPU 產生 Hugging Face 嵌入。

    先決條件

    安裝 CUDA

    遵循 Nvidia 的 CUDA 安裝指示

    驗證您的 CUDA 安裝

    在您的電腦中安裝 CUDA 後,請在您的命令列終端機中執行以下命令

    nvcc --version | head -1
    

    如果 CUDA 運作正常,您會看到以下回應

    nvcc: NVIDIA (R) Cuda compiler driver
    

    編譯 Meilisearch

    首先,複製 Meilisearch

    git clone https://github.com/meilisearch/meilisearch.git
    

    然後,編譯啟用 cuda 的 Meilisearch 二進位檔

    cargo build --release --features cuda
    

    這可能需要一些時間。編譯器完成後,您應該會有一個與 CUDA 相容的 Meilisearch 二進位檔。

    執行您新編譯的二進位檔

    ./meilisearch
    

    接著,啟用向量儲存實驗性功能

    curl \
      -X PATCH 'https://127.0.0.1:7700/experimental-features/' \
      -H 'Content-Type: application/json'  \
      --data-binary '{ "vectorStore": true }'
    

    然後將 Hugging Face 嵌入器新增到您的索引設定中

    curl \
      -X PATCH 'https://127.0.0.1:7700/indexes/INDEX_NAME/settings/embedders' \
      -H 'Content-Type: application/json' \
      --data-binary '{ "default": { "source": "huggingFace" } }'
    

    Meilisearch 會傳回摘要的任務物件,並將您的請求置於任務佇列中

    {
      "taskUid": 1,
      "indexUid": "INDEX_NAME",
      "status": "enqueued",
      "type": "settingsUpdate",
      "enqueuedAt": "2024-03-04T15:05:43.383955Z"
    }
    

    使用任務物件的 taskUid監控任務狀態。Hugging Face 嵌入器將在任務完成後即可使用。

    結論

    您已經了解如何編譯一個使用 Nvidia GPU 計算向量嵌入的 Meilisearch 二進位檔。這樣做應該能在使用 Hugging Face 時顯著加快索引速度。