本教程演示如何在本地实现检索增强生成 (RAG),而无需 API 密钥或信用。要学习;了解有关RAG 的更多信息,请参阅 MongoDB检索增强生成 (RAG)。
具体来说,您需要执行以下操作:
创建本地 Atlas 部署。
设置环境。
使用本地嵌入模型生成向量嵌入。
对数据创建MongoDB Vector Search索引。
使用本地 LLM 来回答有关数据的问题。
在本教程中,您将使用Atlas CLI创建本地Atlas部署。Atlas CLI是MongoDB Atlas的命令行界面,您可以使用Atlas CLI从终端与Atlas交互,以执行各种任务,包括创建本地Atlas部署。要了解更多信息,请参阅 从 Atlas CLI 管理本地和云部署。
您还可以使用安装了Search 和 Vector Search的MongoDB Community或 Enterprise集群。
注意
本地 Atlas 部署仅用于测试。对于生产环境,部署一个集群。
先决条件
除了常见的先决条件外,本教程还需要以下内容:
创建本地部署
在本部分中,您将创建本地Atlas部署,并加载示例AirBnB房源数据集以用作矢量数据库。
注意
如果您已有安装了搜索和向量搜索的本地部署或MongoDB Community或 Enterprise集群,且已加载 sample_airbnb.listingsAndReviews示例数据,则可跳过此步骤。
使用 Atlas CLI 创建本地部署。
运行 atlas deployments setup 并按照提示创建本地部署。
有关详细说明,请参阅创建本地 Atlas 部署。
将示例数据加载到部署中。
在终端中运行以下命令以下载示例数据:
curl https://atlas-education.s3.amazonaws.com/sampledata.archive -o sampledata.archive 运行以下命令将数据加载到部署中,将
<port-number>替换为托管部署的端口:mongorestore --archive=sampledata.archive --port=<port-number> 注意
您必须安装MongoDB 命令行 Database Tools 才能访问
mongorestore命令。
设置环境
使用本地模型生成嵌入
在本节中,您将加载本地嵌入模型,并使用 sample_airbnb 数据库中的数据生成向量嵌入,该数据库包含一个名为 listingsAndReviews 的集合。
此代码可能需要几分钟才能运行。 完成后,您可以使用部署的连接字符串从mongosh 连接到本地部署或应用程序,以查看向量嵌入。然后,您可以对 sample_airbnb.listingsAndReviews集合运行读取操作。
提示
您可以将样本数据中的嵌入转换为 BSON 向量,以便在 Atlas 中高效存储和摄取向量。要了解更多信息,请参阅如何将原生嵌入转换为 BSON 向量。
创建MongoDB Vector Search 索引
要在 sample_airbnb.listingsAndReviews集合上启用向量搜索,请创建MongoDB Vector Search索引。