使用 Hugging Face Inference Endpoints 进行语义搜索

    简介

    本指南将引导你完成使用 Meilisearch REST embedder 和 Hugging Face Inference Endpoints 设置以启用语义搜索功能的过程。

    `rest` 还是 `huggingface`?

    你可以通过两种方式将 Hugging Face 和 Meilisearch 结合使用:通过将 embedder 源设置为 huggingface 在本地运行模型,或者通过将 embedder 源设置为 rest 在 Hugging Face 的服务器中远程运行。

    要求

    要遵循本指南,你需要:

    配置 embedder

    使用 update settings endpoint 设置 embedder

    {
      "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}}", "{{..}}"]
      }
    }
    

    在此配置中:

    配置 embedder 后,Meilisearch 将自动为你的文档生成嵌入。使用 Cloud UI 或 get task endpoint 监控任务。

    注意

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

    设置 embedder 后,你现在可以执行语义搜索。使用 hybrid 搜索参数发出搜索请求,并将 semanticRatio 设置为 1

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

    在此请求中:

    结论

    你已使用 Hugging Face Inference Endpoints 设置了 embedder。这使你可以在你的应用程序中使用纯语义搜索功能。

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