兼容性:仅适用于 Node.js。您仍然可以通过将
runtime 变量设置为 nodejs 来创建使用 MongoDB 和 Next.js 的 API 路由,如下所示:export const runtime = "nodejs";您可以在 Next.js 文档此处阅读有关 Edge 运行时的更多信息。dimensions 属性应与您正在使用的嵌入维度匹配。例如,Cohere 嵌入有 1024 维,而 OpenAI 嵌入默认有 1536 维: 注意:默认情况下,向量存储期望索引名称为 default,索引集合字段名称为 embedding,原始文本字段名称为 text。您应该使用与您的索引名称集合 schema 匹配的字段名称来初始化向量存储,如下所示。 最后,继续构建索引。嵌入
本指南还将使用OpenAI 嵌入,这要求您安装@langchain/openai 集成包。您也可以根据需要使用其他受支持的嵌入模型。
安装
安装以下包凭据
完成上述操作后,从 Mongo 仪表板中的Connect 按钮设置 MONGODB_ATLAS_URI 环境变量。您还需要您的数据库名称和集合名称。
实例化
如上所示设置集群后,您可以按如下方式初始化向量存储:管理向量存储
向向量存储添加项目
您现在可以将文档添加到您的向量存储中id 的文档将更新现有文档。从向量存储中删除项目
查询向量存储
一旦您的向量存储被创建并添加了相关文档,您很可能希望在链或代理运行期间查询它。直接查询
执行简单的相似性搜索可以按如下方式完成过滤
MongoDB Atlas 支持对其他字段进行结果预过滤。它们要求您通过更新最初创建的索引来定义您计划过滤的元数据字段。以下是一个示例fields 中的第一项是向量索引,第二项是您要过滤的元数据属性。属性的名称是 path 键的值。因此,上面的索引将允许我们搜索名为 source 的元数据字段。 然后,在您的代码中,您可以使用MQL 查询运算符进行过滤。 下面的示例说明了这一点:返回分数
如果您想执行相似性搜索并接收相应的分数,可以运行通过转换为检索器进行查询
您还可以将向量存储转换为检索器,以便在您的链中更轻松地使用。用于检索增强生成的使用
有关如何将此向量存储用于检索增强生成 (RAG) 的指南,请参阅以下部分关闭连接
完成后请务必关闭客户端实例,以避免过度消耗资源API 参考
有关所有MongoDBAtlasVectorSearch 功能和配置的详细文档,请参阅API 参考。
以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。