您可以使用Atlas Vector Search作为知识库对于亚马逊基岩构建生成性人工智能应用程序并实施检索增强生成(RAG)。本教程演示如何开始对Amazon Bedrock使用Atlas Vector Search。具体来说,您可以执行以下操作:
将自定义数据加载到Amazon第3页铲斗。
或者,使用AWS PrivateLink配置端点服务。
在数据上创建Atlas Vector Search索引。
创建存储数据的知识库阿特拉斯。
创建一个使用Atlas Vector Search实现的代理RAG公司。
Amazon Bedrock是一项全面管理的建筑服务生成性人工智能应用。它允许您利用基础模型来自多家AI公司美国石油学会。
您可以使用Atlas Vector Search作为Amazon Bedrock的知识库在中存储自定义数据阿特拉斯并创建一个代理人实施RAG公司和根据你的数据回答问题。了解更多RAG公司,看见关键概念。
如果你还没有亚马逊第3页包含文本的bucket数据,创建一个新的bucket并公开加载以下内容关于MongoDB最佳实践的可访问PDF:
默认情况下,Amazon Bedrock通过公共互联网。为了进一步保护您的连接,Atlas Vector Search支持通过虚拟机连接到您的知识库通过网络AWS私人链接
端点服务。
(可选)完成以下步骤以启用端点服务连接到您的AWS PrivateLink专用端点的阿特拉斯集群:
MongoDB和合作伙伴提供云开发工具包(CDK)可用于配置由将流量转发到您的专用端点的网络负载平衡器。
遵循中指定的步骤CDK GitHub存储库准备并运行CDK公司脚本。
在本节中,您将设置阿特拉斯作为一个矢量数据库也称为向量存储,通过在集合上创建Atlas Vector Search索引。
要创建Atlas Vector Search索引,必须项目数据访问管理员
或更高的访问权限阿特拉斯项目。
如果尚未显示,请选择包含来自的所需项目 组织机构菜单在中导航栏。
如果尚未显示,请选择所需的项目来自项目导航栏中的菜单。
如果集群页面不是已显示,单击数据库在侧边栏中。
从阿特拉斯 集群视图,单击浏览收藏按钮。
单击+创建数据库按钮。
对于数据库名称进入基岩_db
。
对于集合名称,输入测试
。
点击创建创建数据库及其第一次收集。
单击地图集搜索选项卡,然后单击创建搜索索引按钮。
低于地图集矢量搜索,选择JSON编辑器和然后单击下一步。
在数据库和集合部分,查找基岩_db
数据库并选择测试
收藏。
在索引名称字段,输入向量_索引
。
用以下示例索引替换默认定义定义,然后单击下一步。
此索引定义指定对以下字段进行索引在的索引中矢量搜索类型:
1 | { |
2 | “字段”以下为: [ |
三 | { |
4 | “numDimensions”以下为: 1536, |
5 | “路径”以下为: “嵌入”, |
6 | “相似性”以下为: “余弦”, |
7 | “类型”以下为: “矢量” |
8 | }, |
9 | { |
10 | “路径”以下为: “元数据”, |
11 | “类型”以下为: “过滤器” |
12 | }, |
13 | { |
14 | “路径”以下为: “文本块”, |
15 | “类型”以下为: “过滤器” |
16 | } |
17 | ] |
18 | } |
建立索引大约需要一分钟。尽管如此生成状态列读取首字母同步。建造完成后状态柱读取活动。
在本节中,您将创建一个知识库将自定义数据加载到向量存储中。
登录到AWS控制台。
在左上角,单击服务下拉菜单。
点击机器学习,然后选择亚马逊基岩。
上亚马逊基岩登录页,单击开始。
在Amazon Bedrock控制台的左侧导航中,点击知识库。
点击创建知识库。
指定mongodb地图集-知识库
作为知识库名称。
点击下一步。
默认情况下,Amazon Bedrock会创建一个新的国际机械师协会要访问的角色知识库。
指定知识库使用的数据源的名称。
输入乌里对于第3页包含数据源的bucket。或者,单击浏览S3然后找到第3页水桶包含列表中的数据源。
点击下一步。
Amazon Bedrock显示可用的嵌入模型,您可以使用这些模型将数据源的文本数据转换为向量嵌入。
选择Titan嵌入G1-文本。
在矢量数据库部分,选择选择已创建的向量存储。
选择MongoDB地图集并配置以下选项:
在元数据字段映射部分,配置以下选项用于确定搜索索引和字段名那个阿特拉斯用于嵌入和存储数据源:
对于矢量搜索索引名称,输入向量_索引
。
对于向量嵌入字段路径,输入嵌入
。
对于文本字段路径,输入文本块
。
对于元数据字段路径,输入元数据
。
如果你配置了端点服务,输入您的PrivateLink服务名称。
点击下一步。
查看了知识库的详细信息后,点击创建知识库以完成创建。
Amazon Bedrock创建知识库后,它会提示您同步您的数据。在数据来源部分,选择数据源并单击同步要同步来自第3页铲斗并将其装入阿特拉斯。
同步完成后,您可以查看矢量嵌入在Atlas UI中通过导航到bedrock_db.测试
集群中的集合。
在本节中,您将创建一个代理人使用Atlas矢量搜索来实现RAG公司并回答有关您的数据的问题。提示此代理时,它会执行以下操作:
连接到知识库以访问存储在中的自定义数据阿特拉斯。
使用Atlas Vector Search根据提示从矢量存储中检索相关文档。
利用AI聊天模型生成基于这些文档的上下文软件响应。
完成以下步骤以创建和测试RAG公司代理人:
在Amazon Bedrock的左侧导航中,点击代理人。
点击创建代理。
指定mongodb-rag-agent代理
作为姓名然后单击创建。
默认情况下,Amazon Bedrock会创建一个新的国际机械师协会要访问的角色代理人。在代理详细信息部分,指定以下内容:
从下拉菜单中,选择人类和克劳德V2.1作为提供者和AI模型用于回答有关数据的问题。
向代理人提供指示,以便其了解如何完成任务。
例如,如果您使用样本数据,粘贴以下说明:
你是一个友好的AI聊天机器人,可以回答有关使用MongoDB的问题。 |
点击保存。
要将代理连接到您创建的知识库,请执行以下操作:
在知识库部分,单击添加。
选择mongodb地图集知识库从下拉列表中选择。
描述知识库以确定代理应该与数据源交互。
如果您正在使用示例数据,请粘贴以下说明:
点击添加,然后单击保存。
单击准备按钮。
点击测试亚马逊基岩展示代理详细信息右侧的测试窗口如果它还没有显示。
在测试窗口中,输入提示。代理人提示模型,使用Atlas Vector Search检索相关文档,然后生成响应基于文档。
如果使用了样例数据,请输入以下提示。生成的响应可能会有所不同。
使用MongoDB降低网络利用率的最佳实践是什么? |
使用MongoDB降低网络利用率的最佳实践是 |
仅对已更改的字段发布更新,而不是 |
检索应用程序中的整个文档,更新 |
字段,然后将文档保存回数据库。[1] |
单击代理响应中的注释查看Atlas Vector Search检索到的文本块。