本指南面向使用自托管 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 二进制文件。

配置 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 嵌入器即可使用。

结论

您已了解如何编译一个 Meilisearch 二进制文件,该文件使用您的 Nvidia GPU 来计算向量嵌入。这样做应该能显著加快使用 Hugging Face 时的索引速度。