MongoDB Atlas Vector Search是MongoDB Atlas的一项功能,MongoDB Atlas是MongoDB公司提供的托管云数据库服务。它使用户能够将向量嵌入与其操作数据一起存储、索引和查询,从而促进语义搜索、推荐系统和其他人工智能应用。该功能旨在与流行的机器学习框架和嵌入模型配合使用,使开发人员无需管理单独的向量数据库即可构建AI驱动的功能。
MongoDB Atlas中的向量搜索利用MongoDB的文档模型,其中每个文档可以同时包含传统字段和向量嵌入。这种集成通过消除对单独向量存储的需求,简化了数据管理,降低了操作复杂性和延迟。该功能支持近似最近邻(ANN)搜索算法,例如分层可导航小世界(HNSW),以便即使在规模较大时也能高效检索相似向量。
历史
MongoDB Atlas于2016年作为完全托管的数据库即服务推出,最初支持AWS、Google Cloud和Azure。到2024年,Atlas约占MongoDB收入的70%。向量搜索功能后来引入,以响应AI和机器学习功能日益增长的需求。2023年,MongoDB宣布Atlas Vector Search全面可用,将向量搜索直接集成到MongoDB查询语言中。此版本允许开发人员使用他们已有的聚合管道和驱动程序执行语义搜索。
主要特性
Atlas Vector Search支持向量搜索和混合搜索。混合搜索将向量相似性与传统基于关键字的过滤相结合,从而实现更精确的结果。用户可以在向量字段上定义索引,指定嵌入维度、相似性度量(如余弦、欧几里得或点积)以及要考虑的候选数量。该功能还支持对元数据字段进行过滤,允许查询根据非向量属性限制结果。
另一个重要方面是与大型语言模型工作流的集成。开发人员可以使用来自OpenAI或Anthropic等提供商的模型生成嵌入,将其存储在MongoDB Atlas中,然后执行检索增强生成(RAG)以增强语言模型的响应。这种模式广泛用于聊天机器人、问答系统和文档搜索应用。
使用案例
Atlas Vector Search的常见使用案例包括产品目录的语义搜索、个性化推荐、异常检测和图像相似性搜索。例如,电子商务平台可以将产品描述和用户查询嵌入到向量中,使用户能够基于含义而非精确关键字查找项目。在金融领域,向量搜索可以通过比较模式帮助检测欺诈交易。该功能还用于医疗保健领域,以将患者症状与相关医学文献进行匹配。
性能与可扩展性
MongoDB Atlas Vector Search旨在水平扩展,利用MongoDB的分片能力。向量索引分布在各个分片上,使系统能够处理大量嵌入。底层存储引擎WiredTiger支持高效的内存管理和基于磁盘的操作,确保即使数据集超过RAM也能保持性能。截至2025年,MongoDB持续增强该功能,增加了对更多相似性度量的支持并改进了查询性能。
与AI生态系统的集成
Atlas Vector Search与各种AI工具和框架集成。它支持用于生成嵌入的OpenAI API,以及来自Cohere和Hugging Face等其他提供商的嵌入模型。MongoDB为流行编程语言(包括Python、Node.js和Java)提供驱动程序和教程。该功能还与LangChain和LlamaIndex等编排框架配合使用,使开发人员能够以最少的工作量构建复杂的AI应用。
许可与可用性
MongoDB Atlas是一项商业服务,Atlas Vector Search可在所有主要云平台上使用:亚马逊云服务、Azure和谷歌云。底层MongoDB软件根据服务器端公共许可证(SSPL)授权,该许可证限制在没有单独协议的情况下将MongoDB作为服务提供。然而,Atlas Vector Search是托管产品,因此用户无需担心数据库本身的许可问题。该功能在所有Atlas层级中均可用,包括免费的M0集群,允许开发人员免费进行实验。
结论
MongoDB Atlas Vector Search代表了将向量数据库与传统文档存储集成的重要一步。通过为操作数据和向量嵌入提供统一平台,它简化了AI应用的架构。随着对生成式AI和语义搜索的需求持续增长,Atlas Vector Search被定位为开发人员构建智能应用的关键工具。