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

MongoDB把嵌入模型搬进数据库:建索引时选一次,写入、更新和查询自动生成向量

核心概要

MongoDB 在 Community Edition 中以公开预览形式推出 Vector Search 的 Automated Embedding,开发者建向量索引时选定嵌入模型,文本向量在初始同步、文档插入与更新以及查询时自动生成并保持同步。此前开发者需在应用代码里调用外部嵌入服务,并为每次增删改自建流水线维持源数据与向量一致,还要为每次查询额外发起一次嵌入 API 调用。该功能内置 Voyage AI 的 voyage-4-large、voyage-4、voyage-4-lite 与 voyage-code-3 模型,并以异步动态批处理按文档形态调整批量大小。

AI-generated editorial illustration: Unlocking AI Search: Introducing Automated Embedding in MongoDB Vector Search

深度剖析

在 MongoDB 中做语义检索不再需要把嵌入生成放在数据库之外,建向量索引时选一个模型即可,向量由系统在数据写入和查询时自动产生。 此前开发者要从一百多个可选模型中挑一个,自行处理外部 API 的认证、输入载荷与输出参数,并在插入数据或执行向量查询之前先在应用代码里生成嵌入。 MongoDB 称该功能已在 Community Edition 进入公开预览,Atlas 与企业版的 Vector Search 访问即将提供,并列出 voyage-4-large、voyage-4、voyage-4-lite 和 voyage-code-3 四款 Voyage AI 模型作为可选嵌入模型。

向量与源数据由同一套系统维护,文档插入、更新或删除后不需要另建管道去重新嵌入。 过去每次插入、更新或删除都要保持源数据与向量同步,团队得搭自定义流水线、监听变更流,并写逻辑在数据变化时触发重新嵌入。 系统在创建索引时的初始数据同步、文档插入与更新以及查询处理三个阶段自动生成向量,使向量随底层数据变化保持同步,从而避免陈旧或不匹配的向量。

大规模灌入文档时,嵌入请求由异步动态批处理按模型允许的每请求最大 token 数组织,批量大小随文档形态和大小自动调整。 此前把数百万文档做成嵌入需要团队自建带队列系统、专用 worker 和重试逻辑的 MLOps 流水线,还要接入监控告警,并防止慢速或失败的嵌入端点阻塞主数据库操作。 该功能内置自动重试与错误处理,MongoDB 称其嵌入操作不会阻塞主数据库操作,并称可在不搭建复杂 MLOps 流水线或监控系统的情况下灌入数百万文档。

启示与展望

该功能当前以公开预览形式在 MongoDB Community Edition 提供,MongoDB Atlas 与企业版 Vector Search 的访问被描述为即将提供;可使用 Python、JavaScript、Java、C# 和 GoLang 驱动,以及 LangChain、LangGraph 和 MongoDB MCP server。

MongoDB 称 Voyage AI 模型在 RTEB 等检索基准上表现领先并支持多语言,但未给出具体数值;两家预览客户的反馈为定性描述,其中一家称在 4000 万文档语料上把数周工程投入变为低维护的生产级工作流,另一家称在运行中的生产规模系统里看到性能与简洁性提升。