跳到主要内容
返回时间线
MongoDB | Blog来源发表:

MongoDB Atlas 上线自动嵌入:只在被索引字段变化时重算,智能体检索不再读到旧向量

核心概要

MongoDB Atlas 把自动嵌入(Automated Embedding)推进到公开预览,开发者不必再为检索自建一条并行嵌入流水线。此前文档被编辑后向量库仍留旧嵌入,修复靠人工编写、调度并调试回填任务,数据变化到索引反映以小时计;Atlas 版本按字段级增量检测,只在被索引字段真正变化时重算,并让索引构建与在线查询走两套推理机制。存储侧提供可配置量化,默认标量量化约为 float32 的四分之一,二进制量化约为三十二分之一。

Source-provided article image: AI Search for Agents: Announcing Automated Embedding in MongoDB Atlas
MongoDB

深度剖析

MongoDB Atlas 上的自动嵌入让向量索引随数据变化自动更新,开发者不再需要为检索单独运行一条嵌入流水线。 此前的做法是文档被编辑后向量库仍保留旧嵌入,智能体据此检索到过期上下文,修复手段是由人编写、调度并调试回填任务,数据变化到索引反映之间的时间以小时而非秒计。 Atlas 版本以字段级增量检测实现同步,只在被索引字段实际变化时重新嵌入,同步接近实时而非批处理,因此不存在需要人工维护的索引路径。

索引构建与在线查询被拆成两套各自针对负载优化的推理机制,回填不再拖慢查询,查询也不再限制回填速率。 单一推理池要同时服务首次回填、实时查询和突发变更流三类负载:按吞吐调优则查询超时,按延迟调优则回填要花一周。 索引构建走新引入的 Inference Flex Tier,吞吐可变且不设上限,从零建到全量索引而不与在线查询争抢;查询侧保证延迟,吞吐有界。

存储与索引在规模上分别由可配置量化和内置动态批处理处理,无需手工调参。 float32 向量存储昂贵,一百万个 1024 维嵌入在存入任何业务数据之前就约占 4 GB;每个文档单独发一次推理请求会浪费大量吞吐,手工批处理一旦遇到超出模型 token 窗口的文档形状,整个请求就会失败。 标量量化(默认)体积约为 float32 的四分之一,多数负载下检索精度几乎无差别;二进制量化体积约为三十二分之一,适用于语料足够大、召回折衷可被抵消的场景;动态批处理按文档形状和大小实时调整批大小,并对单个畸形或超长文档隔离重试后继续。

启示与展望

已展示的范围是 MongoDB Atlas 受支持区域内的公开预览,覆盖集合与视图上的自动嵌入索引、可配置量化与动态批处理;面向的是构建智能体应用、需要检索自身数据的开发者。

该功能处于公开预览,后续改进方向将由预览期反馈决定;量化带来的召回折衷只在语料足够大时才被抵消,这一点按工作负载而定。