使用 Aurora PostgreSQL 作为 Amazon Bedrock 的知识库 - Amazon Aurora
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用 Aurora PostgreSQL 作为 Amazon Bedrock 的知识库

从 Aurora PostgreSQL 15.4、14.9、13.12、12.16 版本起,您可以将 Aurora PostgreSQL 数据库集群用作 Amazon Bedrock 的知识库。有关更多信息,请参阅在 Amazon Aurora 中创建向量存储。知识库会自动获取存储在 Amazon S3 存储桶中的非结构化文本数据,将其转换为文本块和向量,然后将其存储在 PostgreSQL 数据库中。借助生成式人工智能应用程序,您可以使用 Amazon Bedrock 的代理来查询存储在知识库中的数据,并使用这些查询的结果来增强基础模型提供的答案。此工作流程称为检索增强生成(RAG)。有关 RAG 的更多信息,请参阅检索增强生成(RAG)

先决条件

要使用 Aurora PostgreSQL 集群作为 Amazon Bedrock 的知识库,请自行熟悉以下先决条件。简而言之,您需要配置以下服务以与 Bedrock 结合使用:

准备将 Aurora PostgreSQL 用作 Amazon Bedrock 的知识库

您需要按照以下步骤创建和配置 Aurora PostgreSQL 数据库集群,以将其用作 Amazon Bedrock 的知识库。

  1. 创建 Aurora PostgreSQL 数据库集群。有关更多信息,请参阅 创建 Aurora PostgreSQL 数据库集群并连接到该集群

  2. 创建 Aurora PostgreSQL 数据库集群时启用数据 API。有关支持的版本的更多信息,请参阅使用 RDS 数据 API

  3. 记下 Aurora PostgreSQL 数据库集群的 Amazon 资源名称(ARN),以便在 Amazon Bedrock 中使用它。有关更多信息,请参阅 Amazon 资源名称(ARN)

  4. 以主用户身份登录数据库并设置 pgvector。如果未安装该扩展,请使用以下命令:

    CREATE EXTENSION IF NOT EXISTS vector;

    使用支持 HNSW 索引的 pgvector 0.5.0 及更高版本。有关更多信息,请参阅支持 HNSW 索引的 pgvector 0.5.0 版本

    使用以下命令检查已安装的 pg_vector 版本:

    postgres=>SELECT extversion FROM pg_extension WHERE extname='vector';
  5. 创建 Bedrock 可以用来查询数据的特定架构。使用以下命令创建架构:

    CREATE SCHEMA bedrock_integration;
  6. 创建 Bedrock 可用来查询数据库的新角色。使用以下命令创建新角色:

    CREATE ROLE bedrock_user WITH PASSWORD password LOGIN;
    注意

    记下此密码,因为您将使用这一密码创建 Secrets Manager 密码。

  7. 授予 bedrock_user 管理 bedrock_integration 架构的权限,以便他们可以在其中创建表或索引。

    GRANT ALL ON SCHEMA bedrock_integration to bedrock_user;
  8. bedrock_user 身份登录并在 bedrock_integration schema 中创建表。

    CREATE TABLE bedrock_integration.bedrock_kb (id uuid PRIMARY KEY, embedding vector(1536), chunks text, metadata json);
  9. 我们建议您使用余弦运算符创建索引,Bedrock 可以使用该运算符来查询数据。

    CREATE INDEX on bedrock_integration.bedrock_kb USING hnsw (embedding vector_cosine_ops);
  10. 创建 Amazon Secrets Manager 数据库密钥。有关更多信息,请参阅 Amazon Secrets Manager 数据库密钥

在 Bedrock 控制台中创建知识库

在准备将 Aurora PostgreSQL 用作知识库的向量存储时,请收集您需要提供给 Amazon Bedrock 控制台的以下详细信息。

  • Amazon Aurora 数据库集群 ARN

  • 键 ARN

  • 数据库名称(例如 postgres)

  • 表名称:建议提供架构限定名称,即 CREATE TABLE bedrock_integration.bedrock_kb;这将在 bedrock_integration 架构中创建 bedrock_kb 表

  • 表字段:

    ID:(id)

    文本块(chunks)

    向量嵌入(embedding)

    元数据(metadata)

有了这些详细信息,您就可以在 Bedrock 控制台中创建知识库。有关更多信息,请参阅在 Amazon Aurora 中创建向量存储

将 Aurora 添加为知识库后,您就可以将数据来源摄取到知识库中。有关更多信息,请参阅 Ingest your data sources into the knowledge base