在 Amazon Bedrock 知识库中创建知识库 - Amazon Bedrock

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 Amazon Bedrock 知识库中创建知识库

Amazon Bedrock 知识库允许您将专有信息集成到生成人工智能应用程序中,以创建检索增强生成 () 解决方案。RAG知识库会搜索您的数据以找到最有用的信息,并可以用它来回答自然语言问题。

注意

您无法使用根用户创建知识库。在开始这些步骤之前,请先IAM使用用户登录。

创建知识库时,需要设置知识库的配置和权限,选择要连接的数据源,选择将数据转换为嵌入的嵌入模型,以及用于保存矢量嵌入的矢量存储。选择您首选方法的选项卡,然后按照以下步骤操作:

Console
为知识库设置配置和权限
  1. AWS Management Console 使用具有 Amazon Bedrock 权限的IAM角色登录,然后通过以下网址打开 Amazon Bedrock 控制台。https://console.aws.amazon.com/bedrock/

  2. 在左侧导航窗格中,选择知识库

  3. 知识库部分,选择创建按钮。

  4. (可选)更改默认名称并提供知识库的描述。

  5. 选择一个向 Amazon Bedrock 提供访问其他所需 AWS 服务的权限的 AWS Identity and Access Management (IAM) 角色。您可以让 Amazon Bedrock 创建服务角色,也可以选择您已创建的自定义角色

  6. 选择要连接知识库的数据源。

  7. (可选)向知识库添加标签。有关更多信息,请参阅 标记 Amazon Bedrock 资源

  8. (可选)配置要为知识库提供活动日志的服务。

  9. 转至下一节并按照中的将数据源连接到您的知识库步骤配置数据源。

  10. 选择嵌入模型,将您的数据转换为矢量嵌入。

  11. (可选)展开 “其他配置” 部分以查看以下配置选项(并非所有型号都支持所有配置):

    • 嵌入类型-是将数据转换为浮点 (float32) 向量嵌入(更精确,但成本更高)还是二进制向量嵌入(精度较低,但成本更低)。要了解哪些嵌入模型支持二进制向量,请参阅支持的嵌入模型。

    • 矢量维度-值越高,精度越高,但会增加成本和延迟。

  12. 选择矢量存储来存储将用于查询的矢量嵌入。您有以下选项:

    • 快速创建新的矢量存储库 — 选择一个可用的矢量库供亚马逊 Bedrock 创建。

      • Amazon OpenSearch Serverless — Amazon Bedrock 知识库创建了亚马逊 OpenSearch 无服务器矢量搜索集合和索引,并为您配置必填字段。

      • 亚马逊 Aurora Postgre SQL Serverless — 亚马逊 Bedrock 开设了一家亚马逊 Aurora Postgre SQL 无服务器矢量商店。此过程从 Amazon S3 存储桶中获取非结构化文本数据,将其转换为文本块和矢量,然后将其存储在 Postgre 数据库中。SQL有关更多信息,请参阅为亚马逊 Bedrock 快速创建 Aurora Postgre SQL 知识库

      • Amazon Neptune Analytics — Amazon Bedrock 使用检索增强生成 (RAG) 技术与图表相结合,增强生成式人工智能应用程序,以便最终用户可以获得更准确、更全面的响应。

    • 选择已创建的矢量存储-选择支持的矢量存储,并在向量索引中标识矢量字段名称和元数据字段名称。有关更多信息,请参阅 将自己的向量存储用于知识库的先决条件

      注意

      如果您的数据源是 Confluence SharePoint、Microsoft 或 Salesforce 实例,则唯一支持的矢量存储服务是 Amazon Serverless。 OpenSearch

  13. 如果您的数据源包含图像,请指定用于存储解析器将从数据URI中提取的图像的 Amazon S3。可以在查询期间返回图像。

    注意

    只有 Amazon S3 和自定义数据源支持多模式数据。

  14. 查看知识库的详细信息。在继续创建知识库之前,您可以编辑任何部分。

    注意

    创建知识库所用的时间取决于您的特定配置。知识库创建完成后,知识库的状态将更改为“已就绪”或“可用”。

    知识库准备就绪并可供使用后,您可以首次同步数据来源,并在想要更新数据来源时进行同步。在控制台中选择知识库,然后在数据来源概述部分中选择同步

API

要创建知识库,请使用适用于 Amazon Bedrock 的代理构建时终端节点发送CreateKnowledgeBase请求。

注意

如果您要连接到非结构化数据源,并且希望让 Amazon Bedrock 在亚马逊 OpenSearch 服务中为您创建和管理矢量存储,请使用控制台。有关更多信息,请参阅 在 Amazon Bedrock 知识库中创建知识库。

以下字段是必填字段:

字段 Basic description
名称 知识库的名称
roleArn 知识库服务角色的。ARN
knowledgeBaseConfiguration 包含知识库的配置。详情请见下文。
storageConfiguration (仅在连接到非结构化数据源时才需要)。包含您选择的数据源服务的配置。

在中knowledgeBaseConfiguration,指定您计划连接知识库的数据源,然后指定要使用的嵌入模型及其配置。type ARN有关更多信息,请参阅VectorKnowledgeBaseConfiguration您可以指定以下类型:

  • VECTOR— 适用于非结构化数据源。指定ARN要使用的嵌入模型及其配置。有关更多信息,请参阅 VectorKnowledgeBaseConfiguration

  • STRUCTURED— 适用于结构化数据存储。指定要使用的结构化数据存储类型以及该数据存储的配置。

以下字段是可选字段:

字段 应用场景
description 知识库的描述。
clientToken 确保API请求只完成一次。有关更多信息,请参阅确保幂等性
tags 将标签与流相关联。有关更多信息,请参阅 标记 Amazon Bedrock 资源

knowledgeBaseConfiguration字段映射到一个KnowledgeBaseConfiguration对象。在其中,在type字段VECTOR中指定。在中 VectorKnowledgeBaseConfiguration,指定ARN要使用的嵌入模型及其配置。

storageConfiguration字段映射到一个StorageConfiguration对象。在其中,指定您计划在type字段中连接的矢量存储,并包括与该矢量存储对应的字段。有关您需要提供的信息的详细信息,请参阅中的每种矢量存储配置类型。StorageConfiguration