使用 GPU 計算 Hugging Face 嵌入
本指南旨在為使用自行託管 Meilisearch 實例的經驗豐富的使用者提供協助。它會向您展示如何編譯一個 Meilisearch 二進位檔,該二進位檔會使用 Nvidia GPU 產生 Hugging Face 嵌入。
先決條件
- 一個與 CUDA 相容的 Linux 發行版
- 一個支援 CUDA 的 Nvidia GPU
- 一個現代化的 Rust 編譯器
安裝 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 時顯著加快索引速度。