Skip to main content
本笔记本介绍了如何使用 MongoDB 向量搜索与 LangChain。它还展示了 MongoDB Atlas 嵌入和重新排序 API,用于访问 Voyage AI 的最先进的嵌入模型和重新排序器。
MongoDB Atlas 是一个完全托管的云数据库,可在 AWS、Azure 和 GCP 中使用。它支持原生向量搜索、全文搜索(BM25)以及对 MongoDB 文档数据的混合搜索。
MongoDB 向量搜索 允许将您的嵌入存储在 MongoDB 文档中,创建向量搜索索引,并使用近似最近邻算法(Hierarchical Navigable Small Worlds)执行 KNN 搜索。它使用 $vectorSearch MQL Stage。
MongoDB Atlas 嵌入和重新排序 API 可通过 MongoDB Atlas 访问 Voyage AI 模型。
注意:MongoDBAtlasVectorSearch 接口与社区版中的 MongoDB 向量搜索兼容。

设置

要使用 MongoDB Atlas,您必须首先部署一个集群。要开始,免费注册 Atlas。 为了使用 Voyage AI 嵌入和重新排序模型,您需要创建一个模型 API 密钥。生成您的 API 密钥,并获取最新模型 2 亿个免费 Token。 首先,安装以下库以跟随本笔记本。
langchain-community包已不再维护。从langchain_community导入的示例可能过时或无法使用。请谨慎使用。
将以下代码单元中的占位符替换为您的 Atlas 集群连接字符串和您的模型 API 密钥。

插入数据

我们加载文档,通过 Atlas 托管的 Voyage AI 模型生成嵌入,并程序化创建向量搜索索引。

创建向量索引

[可选] 上述 vector_store.create_vector_search_index 命令的替代方案,您也可以使用以下索引定义通过 Atlas UI 创建向量搜索索引:

查询向量存储

语义搜索

根据语义相似性找到最相关的文档。

带分数的语义搜索

检索文档及其相关性分数。

带过滤的语义搜索

首先,让我们通过提供用于过滤的字段来更新向量搜索索引。
使用元数据过滤器缩小结果范围。请注意,Atlas 向量搜索需要显式运算符如 $eq。

混合搜索

结合向量搜索与全文搜索(关键词)使用互惠排名融合(RRF)。

向量搜索和重新排序

一个两阶段过程:广泛召回后进行高精度重新排序,以确保最大相关性。

检索增强生成 (RAG)

有关如何使用 MongoDB 向量存储集成与 LangChain 进行检索增强生成 (RAG) 的指南,请参阅以下教程:

其他说明


API 参考

有关所有 MongoDBAtlasVectorSearch 功能和配置的详细文档,请访问 @[API 参考][MongoDBAtlasVectorSearch]。
官方原文:src/oss/python/integrations/vectorstores/mongodb_atlas.mdx · 非官方翻译,译文由 AI 生成,以英文原文为准。
Last modified on November 3, 2026