連線至 Amazon S3 以存取 Amazon Bedrock 知識庫 - Amazon Bedrock

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

連線至 Amazon S3 以存取 Amazon Bedrock 知識庫

Amazon S3 是將資料當做物件存放在儲存貯體中的物件儲存服務。您可以使用 Amazon S3 Bedrock 的AWS 管理主控台或 (請參閱支援 Amazon Bedrock 的 和) 來連線至 Amazon Bedrock 知識庫的 Amazon S3 儲存貯體。 CreateDataSource API SDKs AWS CLI

您可以使用 Amazon S3 主控台或 ,將一小批檔案上傳至 Amazon S3 儲存貯體API。或者,您可以使用 AWS DataSync 持續將多個檔案上傳至 S3,並依排程從內部部署、邊緣、其他雲端或 AWS 儲存體傳輸檔案。

目前僅支援一般用途 S3 儲存貯體。

每個檔案可以爬取的檔案和 MB 數量有限制。如需知識庫,請參閱配額

支援的功能

  • 文件中繼資料欄位

  • 包含/排除內容篩選條件

  • 新增、更新、刪除內容的增量內容同步

必要條件

在 Amazon S3 中,請確定您

  • 請注意 Amazon S3 儲存貯體 URI、Amazon Resource Name (ARN), AWS 以及儲存貯體擁有者的帳戶 ID。您可以在 Amazon S3 主控台的屬性區段ARN中找到 URI和 。您的儲存貯體必須與 Amazon Bedrock 知識庫位於相同的區域。您必須具有存取儲存貯體的許可。

在您的帳戶中 AWS ,請確定您

  • 在知識庫的 AWS Identity and Access Management (IAM) 角色/許可政策中包含連接到資料來源的必要許可。如需此資料來源新增至知識庫 IAM 角色所需的許可資訊,請參閱存取資料來源的許可

注意

如果您使用 主控台,則可以在建立知識庫的步驟中為您建立具有所有必要許可 IAM 的角色。在您設定好資料來源和其他組態之後, IAM 具有所有必要許可的角色會套用至您的特定知識庫。

連線組態

若要連線至 Amazon S3 儲存貯體,您必須提供必要的組態資訊,Amazon Bedrock 才能存取和擷取您的資料。您也必須遵循 必要條件

本節包含此資料來源的組態範例。

如需包含/排除篩選條件、文件中繼資料欄位、增量同步以及這些運作方式的詳細資訊,請選取下列內容:

您可以包含個別檔案,指定 Amazon S3 資料來源中每個檔案的文件中繼資料欄位/屬性,以及是否要在將資料來源編製索引至向量存放區時將其包含在內嵌中。例如,您可以建立下列格式的檔案、命名檔案example.metadata.json,並將其上傳至 S3 儲存貯體。

{ "metadataAttributes": { "company": { "value": { "type": "STRING", "stringValue": "BioPharm Innovations" }, "includeForEmbedding": true }, "created_date": { "value": { "type": "NUMBER", "numberValue": 20221205 }, "includeForEmbedding": true }, "author": { "value": { "type": "STRING", "stringValue": "Lisa Thompson" }, "includeForEmbedding": true }, "origin": { "value": { "type": "STRING", "stringValue": "Overview" }, "includeForEmbedding": true } } }

中繼資料檔案必須使用與其相關聯來源文件檔案相同的名稱,並將 .metadata.json附加到檔案名稱的結尾。中繼資料檔案必須存放在與 Amazon S3 儲存貯體中的來源檔案相同的資料夾或位置。檔案不得超過 10 KB 的限制。如需支援的屬性/欄位資料類型,以及您可以套用至中繼資料欄位的篩選運算子的相關資訊,請參閱中繼資料和篩選

您可以包含或排除爬取特定內容。例如,您可以指定排除prefix/regular expression pattern to skip crawling any file that contains “private” in the file name. You could also specify an inclusion prefix/regular表達式模式,以包含特定內容實體或內容類型。如果您指定包含和排除篩選條件,且兩者都符合文件,則排除篩選條件優先,且文件不會編目。

僅包含PDF檔案的篩選條件模式範例:".*\\.pdf"

每次資料來源與知識庫同步時,資料來源連接器都會編目新的、修改過的和刪除的內容。 Amazon Bedrock 可以使用資料來源的機制來追蹤自上次同步以來變更的內容和編目內容。當您第一次將資料來源與知識庫同步時,預設會爬取所有內容。

若要將資料來源與知識庫同步,請使用 StartIngestionJobAPI或在主控台中選取知識庫,然後在資料來源概觀區段中選取同步

重要

您從資料來源同步的所有資料可供具有擷取資料bedrock:Retrieve許可的任何人使用。這也可以包含具有受控資料來源許可的任何資料。如需詳細資訊,請參閱知識庫許可

Console
將 Amazon S3 儲存貯體連接至知識庫
  1. 遵循 中的步驟在 Amazon Bedrock 知識庫中建立知識庫,然後選擇 Amazon S3 作為資料來源。

  2. 提供資料來源的名稱。

  3. 指定 Amazon S3 儲存貯體是否位於您目前的 AWS 帳戶或其他 AWS 帳戶中。您的儲存貯體必須與知識庫位於相同的區域。

  4. (選用) 如果 Amazon S3 儲存貯體使用KMS金鑰加密,請包含 金鑰。如需詳細資訊,請參閱在 Amazon S3 中為您的資料來源解密 AWS KMS 金鑰的許可

  5. (選用) 在內容剖析和區塊化區段中,您可以自訂如何剖析和區塊化資料。請參閱下列資源,進一步了解這些自訂項目:

  6. 進階設定區段中,您可以選擇設定下列項目:

    • KMS 暫時性資料儲存的 金鑰。– 您可以在將資料轉換為內嵌時,使用預設 AWS 受管金鑰 或您自己的KMS金鑰來加密暫時性資料。如需詳細資訊,請參閱資料擷取期間的暫時性資料儲存加密

    • 資料刪除政策 – 預設情況下,您可以刪除存放於向量存放區之資料來源的向量內嵌,或選擇保留向量存放區資料。

  7. 繼續選擇內嵌模型和向量存放區。若要查看剩餘的步驟,請返回 ,在 Amazon Bedrock 知識庫中建立知識庫並在連接資料來源後繼續執行該步驟。

API

以下是 Amazon Bedrock 知識庫連線至 Amazon S3 的組態範例。您可以使用 API 搭配 AWS CLI 或支援的 來設定資料來源SDK,例如 Python。呼叫 之後CreateKnowledgeBase,您可以呼叫 CreateDataSource ,在 中使用連線資訊建立資料來源dataSourceConfiguration

若要了解您可以透過包含選用vectorIngestionConfiguration欄位套用至擷取的自訂,請參閱 自訂資料來源的擷取

AWS Command Line Interface

aws bedrock create-data-source \ --name "S3 connector" \ --description "S3 data source connector for Amazon Bedrock to use content in S3" \ --knowledge-base-id "your-knowledge-base-id" \ --data-source-configuration file://s3-bedrock-connector-configuration.json \ --data-deletion-policy "DELETE" \ --vector-ingestion-configuration '{"chunkingConfiguration":[{"chunkingStrategy":"FIXED_SIZE","fixedSizeChunkingConfiguration":[{"maxTokens":"100","overlapPercentage":"10"}]}]}' s3-bedrock-connector-configuration.json { "s3Configuration": { "bucketArn": "arn:aws:s3:::bucket-name", "bucketOwnerAccountId": "000000000000", "inclusionPrefixes": [ ".*\\.pdf" ] }, "type": "S3" }