本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
GraphRag 已完全集成到亚马逊 Bedrock 知识库中,并使用亚马逊 Neptune Analytics 进行图形和矢量存储。您可以通过 AWS Management Console、或 SDK 开始在知识库中使用 GraphRag。 AWS CLI AWS
您不需要任何现有的图形基础架构即可开始使用 GraphRag。Amazon Bedrock 知识库会自动管理来自亚马逊 Neptune 的图表的创建和维护。系统将通过从您上传到 Amazon S3 存储桶的文档中提取实体、事实和关系来自动创建和更新图表。因此,您无需先验任何图表建模知识即可向最终用户提供相关响应。该图表将存储在亚马逊 Neptune Analytics 中。
创建知识库时,需要设置或指定以下内容:
-
定义和标识知识库的一般信息。
-
具有知识库权限的服务角色。
-
知识库的配置,包括在转换来自数据源的数据时使用的嵌入模型,以及用于存储嵌入的服务的存储配置。
注意
您无法使用根用户创建知识库。在开始这些步骤之前,请使用 IAM 用户登录。
以下内容显示了如何创建用于从控制台使用 Neptune GraphRag 和使用 CLI 的知识库。
通过控制台为 Neptune Analytics 创建知识库
-
AWS Management Console 使用具有 Amazon Bedrock 权限的 IAM 角色登录,然后通过以下网址打开 Amazon Bedrock 控制台。https://console.aws.amazon.com/bedrock/
-
在左侧导航窗格中,选择知识库。
-
在 “知识库” 部分中,选择 “创建”,然后选择 “带矢量存储的知识库”。
-
(可选)在知识库详细信息下,更改默认名称并提供知识库描述。
-
在 IAM 权限下,选择一个提供 Amazon Bedrock 访问其他所需 AWS 服务权限的 IAM 角色。您可以让 Amazon Bedrock 为您创建服务角色,也可以选择使用自己为 Neptune Analytics 创建的自定义角色。有关示例,请参阅在 Amazon Neptune Analytics 中访问你的矢量数据库的权限。
-
请务必选择 Amazon S3 作为您的数据源,然后选择 “下一步” 来配置您的数据源。
-
提供文件的 S3 URI,该文件将用作将您的知识库连接到 Amazon Neptune Analytics 并与之集成的数据源。有关您可以提供的其他步骤和可选信息,请参阅将数据源连接到您的知识库。
-
在嵌入模型部分,选择一个嵌入模型,将您的数据转换为矢量嵌入。或者,您可以使用其他配置部分来指定向量尺寸。对于嵌入类型,我们建议您使用浮点向量嵌入。
注意
嵌入模型的向量维度必须与您在创建 Neptune Analytics 图表时指定的向量维度相匹配。
-
在矢量数据库部分,选择创建矢量存储的方法,然后选择 Amazon Neptune Analytics (GraphRag) 作为矢量存储,以存储将用于查询的嵌入内容。要创建矢量存储,可以使用以下任一方法:
-
我们建议您使用 “快速创建新的矢量存储” 方法来快速开始创建矢量存储。选择亚马逊 Neptune Analytics (GraphRag) 作为你的矢量存储。此选项不需要您拥有任何现有的 Neptune Analytics 资源。知识库会自动生成并存储在 Amazon Neptune 中的文档嵌入以及从文档语料库中派生的实体及其关系的图表表示形式。
-
或者,如果您已经创建了 Neptune Analytics 图表和矢量索引,则可以使用 “选择已创建的矢量存储” 选项。选择 Amazon Neptune Analytics (GraphRag) 作为您的矢量存储,并在矢量索引中识别图形 ARN、矢量字段名称和元数据字段名称。有关更多信息,请参阅 使用您为知识库创建的矢量存储的先决条件。
-
-
选择 “下一步”,查看知识库的详细信息。在继续创建知识库之前,您可以编辑任何部分。
注意
创建知识库所用的时间取决于您的特定配置。知识库创建完成后,知识库的状态将更改为“已就绪”或“可用”。
知识库准备就绪并可供使用后,您可以首次同步数据来源,并在想要更新数据来源时进行同步。在控制台中选择知识库,然后在数据来源概述部分中选择同步。
-
选择 “创建知识库”。当 Amazon Bedrock 创建知识库时,您应该会看到状态为 “进行中”。必须等待创建完成后才能同步数据源。
-
在 Amazon Bedrock 完成知识库创建后,要配置数据源,请按照中的将数据源连接到您的知识库说明进行操作。
同步您的数据源
创建完知识库后,需要摄取或同步数据,以便查询数据。Ingestion 会根据您指定的矢量嵌入模型和配置,提取图形结构,并将数据源中的原始数据转换为矢量嵌入。
以下命令显示了如何使用 CLI 启动摄取任务的示例。
aws bedrock-agent start-ingestion-job \ --data-source-id
<"ABCDEFGHIJ">
\ --knowledge-base-id<"EFGHIJKLMN">
有关更多信息以及如何使用控制台和 API 同步数据源,请参阅将您的数据与 Amazon Bedrock 知识库同步。
将更改内容摄取到您的知识库中
使用 Amazon S3 作为数据源时,您可以一步修改数据源并同步更改。通过直接摄取,您只需一个操作即可直接在知识库中添加、更新或删除文件,您的知识库无需同步即可访问文档。直接摄取使用 KnowledgeBaseDocuments
API 操作将您直接提交到为知识库设置的矢量存储中的文档编制索引。您还可以通过这些操作直接查看知识库中的文档,而不必导航到连接的数据源进行查看。有关更多信息,请参阅 将更改内容直接提取到知识库中。
测试知识库
现在,您已经设置了知识库,您可以通过发送查询和生成响应来对其进行测试。
以下代码显示了 CLI 命令示例。
aws bedrock-agent-runtime retrieve \ --knowledge-base-id
<"ABCDEFGHIJ">
\ --retrieval-query="{\"text\": \"What are the top three video games available now?\"}"
有关更多信息,请参阅 查询与 Amazon Neptune Analytics 图表相关的知识库。