建立知識庫 - Amazon Bedrock

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

建立知識庫

注意

您無法使用 root 使用者建立知識庫。在開始這些步驟之前,請先使用 IAM 使用者登入。

在 Amazon S3 中設定資料來源和您選擇的向量存放後,您可以建立知識庫。選擇與您選擇的方法相對應的選項卡,然後按照步驟操作。

Console
建立知識庫
  1. 登錄到 AWS Management Console,然後打開 Amazon 基岩控制台 https://console.aws.amazon.com/bedrock/。

  2. 從左側導覽窗格選取知識庫

  3. 在 [知識庫] 區段中,選取 [建立知識庫]。

  4. 在 [提供知識庫詳細資料] 頁面上,設定下列組態:

    1. (選擇性) 在知識庫詳細資料區段中,變更預設名稱並提供知識庫的說明。

    2. IAM 許可區段中,選擇提供 Amazon 基岩權限以存取其他 AWS 服務的 AWS Identity and Access Management (IAM) 角色。您可以讓 Amazon 基岩建立服務角色,或選擇您已建立的自訂角色

    3. (選擇性) 將標籤新增至您的知識庫。如需詳細資訊,請參閱 標籤資源

    4. 選取下一步

  5. 在 [設定資料來源] 頁面上,提供要用於知識庫之資料來源的資訊:

    1. (選擇性) 變更預設資料來源名稱

    2. 資料來源位置選取目前帳戶或其他帳戶

    3. 您準備的資料來源提供包含檔案之物件的 S3 URI。如果選取 [其他帳戶],您可能需要更新其他帳戶的 Amazon S3 儲存貯體政策、AWS KMS 金鑰政策和目前帳戶的知識庫角色。

      注意

      選擇與您建立的知識庫位於相同區域的 Amazon S3 儲存貯體。否則,您的資料來源將無法同步

    4. 如果您使用客戶受管金鑰加密 Amazon S3 資料,請選取為 Amazon S3 資料新增客戶受管金 AWS KMS 鑰,然後選擇 KMS 金鑰以允許 Amazon 基岩解密。如需詳細資訊,請參閱 加密傳遞給 Amazon OpenSearch 服務的信息

    5. (選擇性) 若要設定下列進階設定,請展開 [進階設定-選用] 區段。

      1. 將資料轉換為嵌入式時,Amazon Bedrock 預設會使用 AWS 擁有和管理的金鑰來加密您的資料。若要使用您自己的 KMS 金鑰,請展開 [進階設定],選取 [自訂加密設定 (進階)],然後選擇金鑰。如需詳細資訊,請參閱 資料擷取期間的暫時性資料儲存加密

      2. 從下列選項中選擇資料來源的區塊策略

        • 預設區塊 — 根據預設,Amazon Bedrock 會自動將來源資料分割成多個區塊,讓每個區塊最多包含 300 個字符。如果文件包含少於 300 個字符,那麼就不會進一步分割。

        • 固定大小區塊 — Amazon Bedrock 會將您的來源資料分割成約略您設定的大小區塊。設定下列的選項。

          • 權杖上限 — Amazon Bedrock 建立的區塊不超過您選擇的字符數量。

          • 區塊之間的重疊百分比 — 每個區塊會依您選擇的百分比與連續區塊重疊。

        • 沒有區塊 — Amazon Bedrock 會將每個檔案視為一個區塊。如果選擇此選項,您可能想要先將文件分割成不同的檔案,以預先處理文件。

        注意

        在建立資料來源之後,便無法變更分塊策略。

      3. 針對資料來源的資料刪除原則,從下列選項中選擇:

        • 刪除:刪除知識庫或資料來源資源時,從向量存放區刪除屬於資料來源的所有基礎資料。請注意,矢量存儲本身不會被刪除,只有基礎數據。如果刪除 AWS 帳號,則會忽略此旗標。

        • :刪除知識庫或資料來源資源時,保留向量存放區中的所有基礎資料。

    6. 選取下一步

  6. 在「嵌入模型」區段中,選擇支援的嵌入模型,將資料轉換為知識庫的向量嵌入。

  7. 在「向量資料庫」區段中,選擇下列其中一個選項來儲存知識庫的向量嵌入:

    • 快速建立新的向量存放區 — Amazon 基岩為您建立 Amazon OpenSearch 無伺服器向量搜尋集合。使用此選項,系統會使用必要欄位和必要組態為您設定公用向量搜尋集合和向量索引。建立集合後,您可以在 Amazon OpenSearch 無伺服器主控台或透過 AWS API 管理它。如需詳細資訊,請參閱 Amazon OpenSearch 服務開發人員指南中的使用向量搜尋集合。如果您選取此選項,您可以選擇性地啟用下列設定:

      1. 若要啟用備援主動複本,以便在基礎結構故障時不會影響向量存放區的可用性,請選取啟用備援 (主動複本)。

        注意

        我們建議您在測試知識庫時停用此選項。當您準備好部署到生產環境時,建議您啟用備援的主動複本。如需定價的相關資訊,請參閱 OpenSearch 無伺服器定價

      2. 若要使用客戶受管金鑰加密自動向量存放區,請選取為 Amazon OpenSearch 無伺服器向量新增客戶管理的 KMS 金鑰 — 選用並選擇金鑰。如需詳細資訊,請參閱 加密傳遞給 Amazon OpenSearch 服務的信息

    • 選取您已建立的向量存放區 — 選取包含您已建立之向量資料庫的服務。填寫欄位以允許 Amazon Bedrock 將資訊從知識庫對應到您的資料庫,以便其可以存放、更新和管理內嵌項目。如需這些欄位如何對應至您建立的欄位的詳細資訊,請參閱在支援的向量存放區中為您的知識庫設定向量索引

      注意

      如果您在 Amazon OpenSearch 無伺服器、Amazon Aurora 或 MongoDB 地圖集中使用資料庫,您需要事先設定欄位對應下的欄位。如果您在Pinecone或中使用資料庫Redis Enterprise Cloud,您可以在此處提供這些欄位的名稱,Amazon Bedrock 會在向量存放區中為您動態建立這些欄位。

  8. 選取下一步

  9. 檢閱和建立頁面上,檢查知識庫的組態和詳細資料。在您需要修的任何區段中選擇「編輯」。如果您滿意,請選取建立知識庫

  10. 建立知識庫所需的時間取決於您提供的資料量。知識庫建立完成後,知識庫的 [狀態] 會變更為 [就緒]。

API

若要建立知識庫,請向 Amazon Bedrock 建置時間端點的代理程式傳送CreateKnowledgeBase請求,並提供名稱、說明、應執行的操作說明以及基礎模型,以供其協調。

注意

如果您希望讓 Amazon 基岩在 Amazon OpenSearch 服務中為您創建和管理向量存儲,請使用控制台。如需詳細資訊,請參閱 建立知識庫。

  • 提供 ARN 在 roleArn 欄位中建立知識庫的許可權。

  • 提供要在 knowledgeBaseConfiguration 物件 embeddingModelArn 欄位中使用的內嵌模型。

  • 為您的向量存放區在 storageConfiguration 物件中提供組態設定。如需更多資訊,請參閱在支援的向量存放區中為您的知識庫設定向量索引

    • 對於 Amazon OpenSearch 服務數據庫,請使用該opensearchServerlessConfiguration對象。

    • 對於數Pinecone據庫,請使用該pineconeConfiguration對象。

    • 對於數Redis Enterprise Cloud據庫,請使用該redisEnterpriseCloudConfiguration對象。

    • 對於 Amazon Aurora 數據庫,請使用該rdsConfiguration對象。

    • 對於 MongoDB 地圖集數據庫,請使用該mongodbConfiguration對象。

建立知識庫之後,請從 S3 儲存貯體建立資料來源,其中包含您知識庫的檔案。要創建數據源發送CreateDataSource請求。

  • dataSourceConfiguration欄位中提供包含資料來源檔案的 S3 儲存貯體的資訊。

  • 指定如何在vectorIngestionConfiguration欄位中對資料來源進行區塊化。如需詳細資訊,請參閱 為您的知識庫設定資料來源

    注意

    建立資料來源之後,您無法變更區塊設定。

  • dataDeletionPolicy為您的資料來源提供。刪除知識庫或資料來源資源後,您可以從向量存放區屬於資料來源的DELETE所有基礎資料。請注意,矢量存儲本身不會被刪除,只有基礎數據。如果刪除 AWS 帳號,則會忽略此旗標。刪除知識庫或數據源資源後,您可以在向量存儲中的RETAIN所有基礎數據。

  • (選擇性) 將資料轉換為嵌入式時,Amazon Bedrock 預設會使用 AWS 擁有和管理的金鑰加密您的資料。若要使用您自己的 KMS 金鑰,請將其包含在serverSideEncryptionConfiguration物件中。如需詳細資訊,請參閱 知識庫資源的加密

為您的知識庫設定安全性設定

建立知識庫之後,您可能必須設定下列安全性設定:

為您的知識庫設定資料存取原則

如果您使用自訂角色,請為新建立的知識庫設定安全性設定。如果您讓 Amazon 基岩為您建立服務角色,則可以略過此步驟。依照您設定之資料庫對應索引標籤中的步驟進行。

Amazon OpenSearch Serverless

若要限制對知識庫服務角色的 Amazon OpenSearch 無伺服器集合的存取,請建立資料存取政策。您可以通過以下方式進行此操作:

使用下列資料存取政策,指定 Amazon OpenSearch 無伺服器收集和您的服務角色:

[ { "Description": "${data access policy description}", "Rules": [ { "Resource": [ "index/${collection_name}/*" ], "Permission": [ "aoss:DescribeIndex", "aoss:ReadDocument", "aoss:WriteDocument" ], "ResourceType": "index" } ], "Principal": [ "arn:aws:iam::${account-id}:role/${kb-service-role}" ] } ]
Pinecone, Redis Enterprise Cloud or MongoDB Atlas

若要整合PineconeRedis Enterprise Cloud、MongoDB Atlas 向量索引,請將下列以身分識別為基礎的原則附加至您的知識庫服務角色,以允許其存取向量索引的 AWS Secrets Manager 密碼。

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "bedrock:AssociateThirdPartyKnowledgeBase" ], "Resource": "*", "Condition": { "StringEquals": { "bedrock:ThirdPartyKnowledgeBaseCredentialsSecretArn": "arn:aws:iam::${region}:${account-id}:secret:${secret-id}" } } }] }

為您的 Amazon OpenSearch 無伺服器知識庫設定網路存取政策

如果您的知識庫使用私有 Amazon OpenSearch 無伺服器集合,則只能透過 AWS PrivateLink VPC 端點存取。您可以在設定 Amazon OpenSearch 無伺服器向量集合時建立私人 Amazon OpenSearch 無伺服器集合,或者在設定網路存取政策時,將現有的 Amazon OpenSearch 無伺服器集合 (包括 Amazon 基岩主控台為您建立的集合) 設為私有。

Amazon OpenSearch 服務開發人員指南中的下列資源可協助您瞭解私有 Amazon OpenSearch 無伺服器集合所需的設定:

若要允許 Amazon 基岩知識庫存取私有 Amazon OpenSearch 無伺服器集合,您必須編輯 Amazon 無伺服器集合的網路存取政策,以允許 Amazon 基岩做為來源 OpenSearch 服務。選擇與您選擇的方法相對應的選項卡,然後按照步驟操作。

Console
  1. 在以下位置打開 Amazon OpenSearch 服務控制台 https://console.aws.amazon.com/aos/

  2. 在左側導覽窗格中,選取「商品系列」。然後選擇您的收藏。

  3. 在「網路」區段中,選取「關聯的策略」。

  4. 選擇編輯

  5. 針對 [選取原則定義方法],執行下列其中一個動作:

    • [選取原則定義方法] 保留為視覺化編輯器,並在 [規則 1] 區段中設定下列設定:

      1. (選擇性) 在規則名稱欄位中,輸入網路存取規則的名稱。

      2. 在 [存取集合來源] 下,選取 [私人 (建議)]。

      3. 選取「AWS 服務私人存取」。在文字方塊中輸入bedrock.amazonaws.com

      4. 取消選取「啟用 OpenSearch 控制面板存取」。

    • 選擇 JSON 並將下列政策貼到 JSON 編輯器中。

      [ { "AllowFromPublic": false, "Description":"${network access policy description}", "Rules":[ { "ResourceType": "collection", "Resource":[ "collection/${collection-id}" ] }, ], "SourceServices":[ "bedrock.amazonaws.com" ] } ]
  6. 選擇更新

API

若要編輯 Amazon OpenSearch 無伺服器集合的網路存取政策,請執行以下操作:

  1. 使用OpenSearch 無伺服器端點傳送GetSecurityPolicy要求。指定策略name的,並將其指定typenetwork。記下回應中的 policyVersion

  2. 使用OpenSearch 無伺服器端點傳送UpdateSecurityPolicy要求。最低限度地指定下列欄位:

    欄位 描述
    name 政策的名稱
    政策版本 policyVersion回應中傳GetSecurityPolicy回給您。
    type 安全政策的類型。指定 network
    政策 要使用的政策。指定下列 JSON 物件
    [ { "AllowFromPublic": false, "Description":"${network access policy description}", "Rules":[ { "ResourceType": "collection", "Resource":[ "collection/${collection-id}" ] }, ], "SourceServices":[ "bedrock.amazonaws.com" ] } ]

如需範 AWS CLI 例,請參閱建立資料存取原則 (AWS CLI)