对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

使用MongoDB Vector Search 构建本地 RAG 实施

本教程演示如何在本地实现检索增强生成 (RAG),而无需API密钥或信用。要学习;了解有关 RAG 的更多信息,请参阅 使用MongoDB进行检索增强生成 (RAG)

具体来说,您需要执行以下操作:

  1. 创建本地 Atlas 部署。

  2. 设置环境。

  3. 使用本地嵌入模型生成向量嵌入。

  4. 对数据创建MongoDB Vector Search索引。

  5. 使用本地 LLM 来回答有关数据的问题。

在本教程中,您将使用Python和Docker通过atlas-local-lib-py 库创建本地Atlas部署。该库通过自动处理Docker容器并提供对连接字符串的编程访问权限来简化部署管理。要学习;了解更多信息,请参阅 atlas-local-lib-py存储库。

您还可以使用安装了Search 和 Vector Search的MongoDB Community或 Enterprise集群。

注意

本地Atlas部署仅用于测试。对于生产环境,部署集群。

除了常见的先决条件外,本教程还需要以下内容:

在本部分中,您将在本地加载嵌入模型,并使用 sample_airbnb数据库中的数据生成向量嵌入,该数据库包含一个名为 listingsAndReviews的集合。

此代码可能需要几分钟才能运行。完成后,您可以使用部署的连接字符串从mongosh 连接到本地部署或应用程序,以查看向量嵌入。然后,您可以对 sample_airbnb.listingsAndReviews集合运行读取操作。

提示

您可以将样本数据中的嵌入转换为 BSON 向量,以便在 Atlas 中高效存储和摄取向量。要了解更多信息,请参阅如何将原生嵌入转换为 BSON 向量

要在 sample_airbnb.listingsAndReviews集合上启用向量搜索,请创建MongoDB Vector Search索引。