使用 Aurora 波斯特格雷SQL作為 Amazon 基岩的知識庫 - Amazon Aurora

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 Aurora 波斯特格雷SQL作為 Amazon 基岩的知識庫

您可以使用 Aurora Postgre SQL 資料庫叢集做為 Amazon 基岩的知識庫。如需詳細資訊,請參閱在 Amazon Aurora 中建立向量存放區。知識庫會自動獲取存放在 Amazon S3 儲存貯體中的非結構化文字資料,將其轉換為文字區塊和向量,並將其存放在 Postgre SQL 資料庫中。使用生成 AI 應用程式,您可以使用 Amazon Bedrock 代理程式查詢儲存在知識庫中的資料,並使用這些查詢的結果來增強基礎模型提供的答案。此工作流程稱為擷取增強產生 (RAG)。如需有關的詳細資訊RAG,請參閱擷取增強層代 (RAG)

如需使用 Aurora Postgre SQL 建置生成人工智慧應用程式的詳細資訊RAG,請參閱此部落格文章

必要條件

熟悉下列先決條件,以使用 Aurora Postgre SQL 叢集做為 Amazon 基岩的知識庫。在高層次上,您需要配置以下服務以與基岩一起使用:

  • 在下列任一版本中建立的 Amazon Aurora 後SQL資料庫叢集:

    • 16.1 及所有更高版本

    • 15.4 和更新版本

    • 14.9 和更新版本

    • 13.12 及更高版本

    • 12.16 及更高版本

    注意

    您必須在目標資料庫中啟用pgvector擴充功能,並使用 0.5.0 或更高版本。如需詳細資訊,請參閱含索引的 pgvector v0.5.0。HNSW

  • RDS資料 API

  • 中管理的使用者 AWS Secrets Manager。如需詳細資訊,請參閱使用 Aurora 和密碼管理 AWS Secrets Manager

準備 Aurora 波斯特格雷SQL被用作 Amazon 基岩的知識庫

請遵循以下各節中說明的步驟,準備將 Aurora Postgre SQL 用作 Amazon 基岩的知識庫。

創建和配置 Aurora 郵政 SQL

若要使用 Aurora Postgre SQL 資料庫叢集設定 Amazon 基岩,您必須先建立 Aurora Postgre SQL 資料庫叢集,並記下使用 Amazon 基岩進行設定的重要欄位。如需建立 Aurora Postgre 資SQL料庫叢集的詳細資訊,請參閱建立 Aurora PostgreSQL 資料庫叢集並與之連線

  • 建立 Aurora 後資料SQL庫叢集API時啟用資料。如需支援版本的詳細資訊,請參閱使用RDS資料 API

  • 請務必記下您的 Aurora Postgre 資SQL料庫叢集的 Amazon 資源名稱 (ARN)。您將需要它來設定資料庫叢集以與 Amazon 基岩搭配使用。如需詳細資訊,請參閱 Amazon 資源名稱 (ARNs)

連接到數據庫並安裝 pgvector

您可以SQL使用任何連線公用程式連線至 Aurora Postgre。如需這些公用程式的更多詳細資訊,請參閱連接到 Amazon Aurora 郵政SQL數據庫集群。或者,您可以使用RDS控制台查詢編輯器來運行查詢。您需要API啟用資料的 Aurora RDS 資料庫叢集,才能使用查詢編輯器。

  1. 使用您的主要使用者登入資料庫並設定 pgvector。如果未安裝擴充功能,請使用下列命令:

    CREATE EXTENSION IF NOT EXISTS vector;

    使用支持HNSW索引的 pgvector 0.5.0 及更高版本。如需詳細資訊,請參閱含索引的 pgvector v0.5.0。HNSW

  2. 使用以下命令來檢查pg_vector已安裝的版本:

    SELECT extversion FROM pg_extension WHERE extname='vector';

設定資料庫物件和權限

  1. 創建一個基岩可用於查詢數據的特定模式。使用下列指令建立結構描述:

    CREATE SCHEMA bedrock_integration;
  2. 建立基岩可用來查詢資料庫的新角色。使用下列命令建立新角色:

    CREATE ROLE bedrock_user WITH PASSWORD 'password' LOGIN;
    注意

    請記下此密碼,因為您稍後將需要它來建立「秘密管理員」密碼。

    如果您使用的是 psql client,請使用下列命令來建立新角色:

    CREATE ROLE bedrock_user LOGIN; \PASSWORD password;
  3. 授與管理bedrock_integration結構描述的bedrock_user權限。這將提供在模式中創建表或索引的能力。

    GRANT ALL ON SCHEMA bedrock_integration to bedrock_user;
  4. 登入為,bedrock_user並在中建立資料表bedrock_integration schema

    CREATE TABLE bedrock_integration.bedrock_kb (id uuid PRIMARY KEY, embedding vector(1024), chunks text, metadata json);

    這個命令會在bedrock_integration結構描述bedrock_kb中使用 Titan V2 嵌入建立資料表。

  5. 我們建議您使用餘弦運算符創建一個索引,基岩可以用它來查詢數據。

    CREATE INDEX ON bedrock_integration.bedrock_kb USING hnsw (embedding vector_cosine_ops);
  6. 對於使用 parallel 索引建立的 pgvector 0.6.0 和更高版本,我們建議您ef_construction將值設定為 256。

    CREATE INDEX ON bedrock_integration.bedrock_kb USING hnsw (embedding vector_cosine_ops) WITH (ef_construction=256);

在密碼管理員中建立密碼

Secrets Manager 可讓您儲存 Aurora 認證,以便安全地傳輸到應用程式。如果您在建立 Aurora Postgre SQL 資料庫叢集時未選擇 AWS 密碼管理員選項,您現在可以建立密碼。如需有關建立資 AWS Secrets Manager 料庫密碼的詳細資訊,請參閱 AWS Secret Manager 資料庫密碼

在基岩主控台中建立知識庫

在準備將 Aurora Postgre SQL 用作知識庫的向量存放區時,您必須收集以下詳細資訊,以提供給 Amazon 基岩主控台。

  • Amazon Aurora 資料庫叢集 ARN — 您ARN的資料庫叢集。

  • 密 ARN — 資ARN料庫叢集的 AWS Secrets Manager 金鑰。

  • 資料庫名稱 — 資料庫的名稱。例如,您可以使用預設資料庫 postgres.

  • 表格名稱 — 建議您在使用類似下列命令建立表格時,提供結構描述限定名稱:

    CREATE TABLE bedrock_integration.bedrock_kb;

    此命令將在bedrock_integration模式中創建bedrock_kb表。

  • 建立資料表時,請務必使用指定的資料行和資料類型進行設定。您可以使用偏好的欄名稱,而不是表格中列出的名稱。請記得記下您在知識庫設定期間選擇供參考的名稱。

    欄名稱 資料類型 描述
    id UUID主索引鍵

    包含每個記錄的唯一識別碼。

    大塊 文字

    包含來自資料來源的原始文字區塊。

    內嵌項目 向量

    包含資料來源的向量內嵌項目。

    中繼資料 JSON

    包含執行來源歸因及啟用資料擷取和查詢所需的中繼資料。

有了這些詳細資料,您現在可以在基岩主控台中建立知識庫。如需有關設定向量索引和建立知識庫資訊的詳細資訊,請參閱在 Amazon Aurora 中建立向量存放區和在 Amazon Aurora 中建立向量存放區

將 Aurora 新增為知識庫後,您現在可以擷取資料來源以進行搜尋和查詢。如需詳細資訊,請參閱將資料來源導入知識庫