简介

本指南将引导您完成使用 Hugging Face 推理端点 设置 Meilisearch REST 嵌入器以启用语义搜索功能的过程。

您可以通过两种方式使用 Hugging Face 和 Meilisearch:通过将嵌入器源设置为 huggingface 在本地运行模型,或通过将嵌入器源设置为 rest 在 Hugging Face 的服务器上远程运行。

要求

要遵循本指南,您需要

  • 一个运行版本 >=1.13 的 Meilisearch Cloud 项目
  • 一个部署了推理端点的 Hugging Face 账户
  • 您的 Hugging Face 账户上已部署模型的端点 URL 和 API 密钥

配置嵌入器

使用更新设置端点设置嵌入器

{
  "hf-inference": {
    "source": "rest",
    "url": "ENDPOINT_URL",
    "apiKey": "API_KEY",
    "dimensions": 384,
    "documentTemplate": "CUSTOM_LIQUID_TEMPLATE",
    "request": {
      "inputs": ["{{text}}", "{{..}}"],
      "model": "baai/bge-small-en-v1.5"
    },
    "response": ["{{embedding}}", "{{..}}"]
  }
}

在此配置中

  • source: 声明 Meilisearch 应通过其 REST API 连接到此嵌入器
  • url: 将 ENDPOINT_URL 替换为您 Hugging Face 模型端点的地址
  • apiKey: 将 API_KEY 替换为您的 Hugging Face API 密钥
  • dimensions: 指定嵌入的维度,对于 baai/bge-small-en-v1.5 为 384
  • documentTemplate: 一个可选但推荐的模板,用于您将发送给嵌入器的数据
  • request: 定义 Meilisearch 将发送给嵌入器的请求结构和参数
  • response: 定义嵌入器的响应结构

配置嵌入器后,Meilisearch 将自动为您的文档生成嵌入。您可以使用 Cloud UI 或 获取任务端点 监控任务。

本示例使用 BAAI/bge-small-en-v1.5 作为其模型,但 Hugging Face 提供其他可能更适合您的数据集的选项

设置好嵌入器后,您现在可以执行语义搜索了。使用 hybrid 搜索参数发出搜索请求,将 semanticRatio 设置为 1

{
  "q": "QUERY_TERMS",
  "hybrid": {
    "semanticRatio": 1,
    "embedder": "hf-inference"
  }
}

在此请求中

  • q: 搜索查询
  • hybrid: 启用 AI 驱动的搜索功能
    • semanticRatio: 控制语义搜索和全文搜索之间的平衡。将其设置为 1 表示您将只收到语义搜索结果
    • embedder: 用于生成嵌入的嵌入器名称

结论

您已使用 Hugging Face 推理端点设置了一个嵌入器。这使您能够在应用程序中使用纯语义搜索功能。

有关其他嵌入器配置选项的更多信息,请查阅嵌入器设置文档