使用 Cloudflare Worker AI 嵌入进行语义搜索

    简介

    本指南将引导您完成使用 Cloudflare Worker AI 嵌入设置 Meilisearch 以启用语义搜索功能的过程。通过利用 Meilisearch 的 AI 功能和 Cloudflare Worker AI 的嵌入 API,您可以增强搜索体验并检索更相关的结果。

    要求

    要遵循本指南,您需要

    设置 Meilisearch

    要在 Meilisearch 中设置嵌入器,您需要将其配置为您的设置。您可以参考Meilisearch 文档,了解有关更新嵌入器设置的更多详细信息。

    Cloudflare Worker AI 提供以下嵌入模型

    以下是 Cloudflare Worker AI 嵌入器设置示例

    {
      "cloudflare": {
        "source": "rest",
        "apiKey": "<API Key>",
        "dimensions": 384,
        "documentTemplate": "<Custom template (Optional, but recommended)>",
        "url": "https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/ai/run/@cf/<Model>",
        "request": {
          "text": ["{{text}}", "{{..}}"]
        },
        "response": {
          "result": {
            "data": ["{{embedding}}", "{{..}}"]
          }
        }
      }
    }
    

    在此配置中

    在配置中设置url字段时要小心。URL 包含您的 Cloudflare 账户 ID (<ACCOUNT_ID>) 和您要使用的特定模型 (<Model>)。请确保将这些占位符替换为您实际的账户 ID 和所需的模型名称(例如,baai/bge-small-en-v1.5)。

    配置完嵌入器设置后,Meilisearch 将自动为您的文档生成嵌入并将其存储在向量存储中。

    请注意,Cloudflare 可能有速率限制,由 Meilisearch 管理。如果您有免费账户,索引过程可能需要一些时间,但 Meilisearch 将使用重试策略来处理它。

    建议您监控任务队列以确保一切正常运行。您可以使用 Cloud UI 或Meilisearch API访问任务队列。

    设置完嵌入器后,您现在可以使用 Meilisearch 执行语义搜索。当您发送搜索查询时,Meilisearch 将使用配置的嵌入器为查询生成嵌入,然后使用它在向量存储中查找语义上最相似的文档。要执行语义搜索,您只需发出正常的搜索请求,但需要包含混合参数

    {
      "q": "<Query made by the user>",
      "hybrid": {
        "semanticRatio": 1,
        "embedder": "cloudflare"
      }
    }
    

    在此请求中

    您可以使用 Meilisearch API 或客户端库来执行搜索并根据语义相似性检索相关文档。

    结论

    按照本指南,您现在应该已经设置好了使用 Cloudflare Worker AI 嵌入的 Meilisearch,使您能够在应用程序中利用语义搜索功能。Meilisearch 的自动批处理和高效的嵌入处理使其成为将语义搜索集成到您的项目中的强大选择。

    要探索嵌入器的更多配置选项,请查阅有关嵌入器设置选项的详细文档