
我们很高兴地宣布 Meilisearch 1.16 正式发布。在本文中,我们将重点介绍主要的新功能:多模态嵌入、导出到其他实例以及文档 API 的改进。
有关所有更改的详尽列表,请查阅 GitHub 上的更新日志。
Meilisearch 1.16 将于 8 月 19 日登陆 Meilisearch Cloud。如果您的团队需要提前访问,请联系我们!
新增:多模态搜索和嵌入
Meilisearch 1.16 引入了新的片段 API。这允许您将文档和搜索查询解构为不同的语义部分,或称为“片段”。
利用片段,您现在可以基于文档中语义不同的部分创建嵌入,并构建多模态搜索。例如,这允许电子商务网站和市场的用户通过描述来查找产品。
多模态目前处于实验阶段。了解如何启用实验功能。
让我们以具有以下结构的电影文档为例
{ "title": "Star Wars", "description": "A long time ago, in a galaxy...", "image_url": "https://images.com/star-wars.jpg" }
我们希望在索引时使用 Voyage AI 生成嵌入,如下所示
- 在索引时 — 根据标题和描述创建
文本
嵌入,并根据图片 URL 创建图片
嵌入 - 在搜索时 — 允许根据文本查询匹配
文本
,并根据内联图片匹配图片
以下有效载荷允许相应地更新嵌入器设置
{ "voyage": { "source": "rest", "url": "https://api.voyageai.com/v1/multimodalembeddings", "apiKey": "$VOYAGE_API_KEY", // describes how we index documents "indexingFragments": { "text": { "value": { "content": [ { "type": "text", "text": "A movie titled {{doc.title}} whose description starts with {{doc.overview|truncateWords:20}}." } ] } }, "image": { "value": { "content": [ { "type": "image_url", "image_url": "{{doc.poster}}" } ] } } }, // describes how to search in the index "searchFragments": { "image": { "value": { "content": [ { "type": "image_base64", "image_base64": "data:{{media.image.mime}};base64,{{media.image.data}}" } ] } }, "text": { "value": { "content": [ { "type": "text", // uses the `q` field from search queries "text": "{{q}}" } ] } } }, "request": { "inputs": [ "{{fragment}}", "{{..}}" ], "model": "voyage-multimodal-3" }, "response": { "data": [ { "embedding": "{{embedding}}" }, "{{..}}" ] } } }
在索引片段中,value
对象取决于嵌入 API。在此示例中,它遵循 Voyage AI API。
启用这些设置后,您可以使用图片数据发出搜索请求,如下所示
{ "media": { "image": { "mime": "image/jpeg", "data": "/9j/4AAQSkZJRgABAQAAAQABAAD/2w... images bytes encoded as base64" }, "hybrid": { "embedder": "voyage" } }
您还可以使用文本查询执行混合搜索。请注意,由于我们在此处使用的 Voyage 模型是多模态的,Meilisearch 还会将生成的嵌入与电影图片进行比较。这意味着描述图片可以找到电影。
{ "q": "A movie with lightsabers in space", "hybrid": { "embedder": "voyage", "semanticRatio": 0.5 } }
新增:在 Meilisearch 实例之间传输文档
Meilisearch 1.16 引入了新的导出 API,用于将文档从一个实例传输到另一个实例。这个新 API 不需要创建转储或快照。目标是简化从本地环境到生产环境 Meilisearch Cloud 项目的迁移,并最大限度地减少部署开销。
有关使用导出 API 的更多信息,请查阅文档。
新增:文档 API 上的排序
Meilisearch 1.16 为文档 API 带来了排序功能。排序行为与搜索 API 中的排序完全一致。这改进了管理 Meilisearch 实例的管理工具包。有关使用文档 API 的更多信息,请查阅文档。
回顾:对话式搜索
在 Meilisearch 1.15.1 中,我们引入了对话式搜索。这项新功能允许您通过 Chats API 与您的 Meilisearch 实例聊天,从而获得一个功能齐全的 RAG 管道。快来试试吧!
贡献者鸣谢
我们要向促成此次发布的贡献者们表示衷心的感谢。特别感谢 @martin-g、@lblack00、@mcmah309、@nnethercott、@arthurgousset、@Mubelotix、@diksipav、@Nymuxyzo、@kametsun 对 Meilisearch 的贡献,以及 @nnethercott 对 Arroy 的贡献。
v1.16 的发布到此结束!这些发布说明仅强调了最重要的更新。有关详尽列表,请参阅 GitHub 上的更新日志。
欲了解更多信息,请订阅我们的每月新闻通讯,或加入我们的产品讨论。
如有其他问题,请在 Discord 上加入我们的开发者社区。