智能体
website ·
Milvus 3.0 引入 StructArray 多向量元素检索
Milvus 3.0 推出 StructArray,允许在父实体中存储多个向量元素,每个元素可附带独立元数据。支持元素级搜索和 EmbeddingList 搜索,适用于视频搜索、多图产品检索、文档检索、ColBERT/ColPali 及智能体记忆等场景。
AI推荐理由 该功能解决了多向量实体检索的痛点,对构建多模态 AI 应用和智能体记忆系统的开发者具有直接参考价值。
86
浏览 234
点赞 2
评论 0
转发 0
正文
一个实体并不总意味着一个向量。
一个视频有片段。一个产品有多张图片。一份文档有段落。将它们压缩成单个嵌入可能会隐藏用户需要的具体细节。
𝗠𝗶𝗹𝘃𝘂𝘀 𝟯.𝟬 𝗦𝘁𝗿𝘂𝗰𝘁𝗔𝗿𝗿𝗮𝘆 允许您将这些元素存储在父实体内部,每个元素都有向量和元数据。
𝗛𝗼𝘄 𝘁𝗼 𝘂𝘀𝗲 𝗶𝘁:
1. 为片段、图片或段落创建一个 ARRAY 字段。
2. 添加向量和标量子字段,如嵌入、标题和置信度。
3. 使用元素级搜索来查找特定元素并返回其父 ID 加上偏移量。
4. 当查询和实体都包含多个向量时,使用 EmbeddingList 搜索。
5. 应用 MATCH\_\* 或 element\_filter 以确保向量和元数据条件匹配同一元素。
适用于视频搜索、多图像产品搜索、文档检索、ColBERT、ColPali 和代理记忆。
查看 sc[milvus.io/blog/milvus-3-…](https://milvus.io/blog/milvus-3-0-structarray.md)les:

查看原文(中文正文为 AI 翻译)
One entity doesn’t always mean one vector.
A video has clips. A product has multiple images. A document has passages. Compressing them into a single embedding can hide the exact details users need.
𝗠𝗶𝗹𝘃𝘂𝘀 𝟯.𝟬 𝗦𝘁𝗿𝘂𝗰𝘁𝗔𝗿𝗿𝗮𝘆 lets you store those elements inside the parent entity, with a vector and metadata for each one.
𝗛𝗼𝘄 𝘁𝗼 𝘂𝘀𝗲 𝗶𝘁:
1. Create an ARRAY field for the clips, images, or passages.
2. Add vector and scalar subfields such as embedding, caption, and confidence.
3. Use element-level search to find a specific element and return its parent ID plus offset.
4. Use EmbeddingList search when both the query and entity contain multiple vectors.
5. Apply MATCH\_\* or element\_filter to ensure vector and metadata conditions match the same element.
Useful for video search, multi-image product search, document retrieval, ColBERT, ColPali, and agent memory.
See the sc[milvus.io/blog/milvus-3-…](https://milvus.io/blog/milvus-3-0-structarray.md)les:
