如何选择合适的嵌入模型?
关于如何为使用AI搜索功能的项目选择最适合嵌入模型的通用指南。
如何选择合适的嵌入模型?
在构建AI驱动的搜索功能时,选择合适的嵌入模型(embedder)至关重要。以下是帮助您做出决策的指南:
内置模型 vs 自定义模型
Meilisearch提供两种主要类型的嵌入模型:
-
内置模型 - 开箱即用的解决方案
- 优点:无需额外设置,立即可用
- 缺点:灵活性较低
-
自定义模型 - 通过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 推理端点。