使用 Voyage AI 嵌入实现语义搜索
本指南将引导您完成配置 Meilisearch 与 Voyage AI 嵌入的过程,以实现语义搜索功能。
简介
本指南将带您完成使用 Voyage AI 嵌入功能配置 Meilisearch 的过程,以实现语义搜索能力。通过结合 Meilisearch 的 AI 功能和 Voyage AI 的嵌入 API,您可以提升搜索体验并获取更相关的结果。
系统要求
要完成本指南,您需要:
- 运行版本 >=1.13 的 Meilisearch Cloud 项目
- 拥有 Voyage AI 账户及用于生成嵌入的 API 密钥。您可以在 Voyage AI 注册账户
- 无需后端支持
配置 Meilisearch
要在 Meilisearch 中设置嵌入器(embedder),您需要根据您的需求进行配置。您可以参考 Meilisearch 文档 了解如何更新嵌入器设置的详细信息。
Voyage AI 提供以下嵌入模型:
voyage-large-2-instruct
: 1024 维voyage-multilingual-2
: 1024 维voyage-large-2
: 1536 维voyage-2
: 1024 维
以下是 Voyage AI 的嵌入器设置示例:
在此配置中:
source
: 指定嵌入器的来源,设置为 “rest” 表示使用 REST APIapiKey
: 将<Voyage AI API Key>
替换为您实际的 Voyage AI API 密钥dimensions
: 指定嵌入向量的维度。对于voyage-2
、voyage-large-2-instruct
和voyage-multilingual-2
设置为 1024,对于voyage-large-2
设置为 1536documentTemplate
: 可选参数,您可以提供一个 自定义模板 来从文档生成嵌入向量url
: 指定 Voyage AI API 端点的 URLrequest
: 定义 Voyage AI API 的请求结构,包括模型名称和输入参数response
: 定义 Voyage AI API 的预期响应结构,包括嵌入数据
配置好嵌入器设置后,Meilisearch 会自动为您的文档生成嵌入向量并将其存储在向量存储中。
请注意,大多数第三方工具都有速率限制,Meilisearch 会对此进行管理。如果您使用的是免费账户,索引过程可能需要一些时间,但 Meilisearch 会使用重试策略来处理。
建议监控任务队列以确保一切运行顺利。您可以通过 Cloud UI 或 Meilisearch API 访问任务队列。
测试语义搜索
配置好嵌入器(embedder)后,您现在可以使用Meilisearch进行语义搜索。当您发送搜索查询时,Meilisearch会使用配置的嵌入器为查询生成嵌入向量,然后在向量存储中查找语义最相似的文档。
要进行语义搜索,您只需发起一个普通的搜索请求,但需要包含hybrid参数:
在这个请求中:
q
: 代表用户的搜索查询hybrid
: 指定混合搜索的配置semanticRatio
: 用于控制语义搜索与传统搜索的平衡比例。值为1表示纯语义搜索,值为0表示全文搜索。您可以调整此参数来实现混合搜索体验embedder
: 用于生成嵌入向量的嵌入器名称。请确保使用与嵌入器配置中相同的名称,本例中为”voyage”
您可以使用Meilisearch API或客户端库来执行搜索,并根据语义相似性检索相关文档。
结论
通过本指南,您现在应该已经配置好了使用Voyage AI嵌入的Meilisearch,能够在您的应用中实现语义搜索功能。Meilisearch的自动批处理和高效的嵌入向量处理使其成为集成语义搜索到项目中的强大选择。
要探索更多关于嵌入器的配置选项,请查阅嵌入器设置的详细文档。