如何选择合适的嵌入模型?

在构建AI驱动的搜索功能时,选择合适的嵌入模型(embedder)至关重要。以下是帮助您做出决策的指南:

内置模型 vs 自定义模型

Meilisearch提供两种主要类型的嵌入模型:

  1. 内置模型 - 开箱即用的解决方案

    • 优点:无需额外设置,立即可用
    • 缺点:灵活性较低
  2. 自定义模型 - 通过API连接您选择的模型

    • 优点:完全控制模型选择
    • 缺点:需要额外配置

性能考量

选择模型时需考虑:

  • 延迟:模型生成嵌入向量的速度
  • 准确性:搜索结果的相关性
  • 内存使用:模型运行时的资源消耗

推荐方案

对于大多数用例,我们建议:

  • 快速启动:使用内置模型
  • 专业需求:评估自定义模型

注意:模型性能会随着数据量和查询复杂度而变化,建议进行基准测试。

Meilisearch 官方支持多种不同的嵌入器(embedder),包括 OpenAI、Hugging Face 和 Ollama,以及大多数具有 RESTful API 的嵌入生成器。

本文提供了如何为项目选择最适合的嵌入器的一般指导。

不确定时,选择 OpenAI

OpenAI 能在不同主题和数据集上返回相关的搜索结果。它适用于大多数应用场景,且 Meilisearch 在每个新版本中都会积极支持和改进 OpenAI 功能。

在大多数情况下,特别是如果你是第一次使用 LLM 和 AI 驱动的搜索,请选择 OpenAI。

如果已在使用特定 AI 服务,选择 REST 嵌入器

如果你已经在使用兼容嵌入器中的特定模型,请选择 Meilisearch 的 REST 嵌入器。这能确保你在现有工具和工作流程的基础上继续构建,只需最少的配置。

如果处理非文本内容,选择用户提供的嵌入器

Meilisearch 不支持搜索图像、音频或任何非文本形式的内容。这一限制同时适用于查询和文档。例如,Meilisearch 内置的嵌入器源无法使用图像代替文本来进行搜索,也无法使用文本来搜索没有附加文本元数据的图像。

在这些情况下,你需要自行提供嵌入向量。

仅在小规模静态数据集自托管时选择 Hugging Face

尽管 Hugging Face 嵌入器能返回高度相关的搜索结果,但它必须直接在您的服务器上运行。当您在 DigitalOcean 或 AWS 等云服务中托管 Meilisearch 时,这可能导致性能下降和额外成本。

也就是说,对于文档数量少于 1 万且不计划频繁更新的数据集,Hugging Face 可以是一个不错的嵌入器选择。

Meilisearch 云服务不支持配置为 {"source": "huggingFace"} 的嵌入器。

若要在云服务中实现 Hugging Face 嵌入器,请使用 REST 嵌入器配合 HuggingFace 推理端点