AI 驱动的搜索
使用用户提供嵌入的图片搜索
本文介绍了执行多模态文本到图像搜索的主要步骤
本文介绍了执行多模态搜索的主要步骤,您可以使用文本在没有关联元数据的图片数据库中进行搜索。
要求
- 图片数据库
- 一个 Meilisearch 项目
- 一个可本地安装的嵌入生成提供程序
配置本地嵌入生成管道
首先,设置一个系统,将您的图片发送到所选的嵌入生成提供程序,然后将返回的嵌入集成到您的数据集中。
具体过程很大程度上取决于您的特定设置,但应包括以下主要步骤
- 选择一个可以在本地运行的提供程序
- 选择一个同时支持图片和文本输入的模型
- 将您的图片发送到嵌入生成提供程序
- 将返回的嵌入添加到数据库中每张图片的
_vector
字段中
在大多数情况下,您的系统应定期或在更新数据库时运行这些步骤。
配置用户提供的嵌入器
配置 embedder
索引设置,将其源设置为 userProvided
将 EMBEDDER_NAME
替换为您希望给嵌入器命名的名称。将 MODEL_DIMENSIONS
替换为所选模型的维度数量。
向 Meilisearch 添加文档
接下来,使用 /documents
端点 上传矢量化图片。
在大多数情况下,您应该自动化此步骤,以使 Meilisearch 与您的主数据库保持同步。
设置查询矢量化管道
由于您使用的是 userProvided
嵌入器,因此还必须为搜索查询生成嵌入。此过程应与为图片生成嵌入类似
- 从前端接收用户查询
- 将查询发送到本地嵌入生成提供程序
- 使用返回的查询嵌入执行搜索
使用用户提供嵌入的向量搜索
获得查询向量后,将其传递给 vector
搜索参数以执行语义 AI 驱动搜索
将 VECTORIZED_QUERY
替换为您的提供程序生成的嵌入,将 EMBEDDER_NAME
替换为您的嵌入器。
如果您的图片有任何关联元数据,您可以通过包含原始 q
来执行混合搜索
总结
您已经了解了使用 Meilisearch 实现图片搜索的主要步骤
- 准备一个将您的图片转换为向量的管道
- 使用 Meilisearch 索引矢量化图片
- 准备一个将用户查询转换为向量的管道
- 使用转换后的查询执行搜索