本指南面向使用自托管 Meilisearch 实例的高级用户,展示如何编译一个能在 Nvidia GPU 上生成 Hugging Face 嵌入向量的 Meilisearch 二进制文件。

先决条件

安装 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 二进制文件。

配置 Hugging Face 嵌入器

运行新编译的二进制文件:

./meilisearch

然后将 Hugging Face 嵌入器添加到索引设置中:

curl \
  -X PATCH 'MEILISEARCH_URL/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 时,这样做应该能显著加快索引速度。