翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ナレッジベースに対応する Amazon S3 に接続する
Amazon S3 は、データをオブジェクトとしてバケットに保存するオブジェクトストレージサービスです。Amazon Bedrock の AWS マネジメントコンソールまたは CreateDataSource API を使用して、Amazon Bedrock
マルチモーダルコンテンツのサポート
Amazon S3 データソースは、イメージ、オーディオ、ビデオファイルなどのマルチモーダルコンテンツをサポートしています。マルチモーダルコンテンツの使用に関する包括的なガイダンスについては、「」を参照してくださいマルチモーダルコンテンツのナレッジベースを構築する。
Amazon S3 コンソールまたは API を使用して、ファイルの小さなバッチを Amazon S3 バケットにアップロードできます。または、 AWS DataSyncを使用して複数のファイルを S3 に継続的にアップロードし、オンプレミス、エッジ、その他のクラウド、または AWS ストレージからスケジュールに従ってファイルを転送することもできます。
現在、汎用 S3 バケットのみがサポートされています。
クロールできるファイル数とファイルあたりの MB に制限があります。「Quotas for knowledge bases」を参照してください。
サポートされている機能
-
ドキュメントメタデータフィールド
-
包含プレフィックス
-
追加、更新、削除されたコンテンツの増分同期
前提条件
Amazon S3 で、以下を確認してください。
-
Amazon S3 バケット URI、Amazon リソースネーム (ARN)、およびバケットの所有者の AWS アカウント ID を書き留めます。URI と ARN は、Amazon S3 コンソールのプロパティセクションにあります。バケットは Amazon Bedrock ナレッジベースと同じリージョンにある必要があります。バケットにアクセスするにはアクセス許可が必要です。
AWS アカウントで、以下を確認してください。
-
ナレッジベースの AWS Identity and Access Management (IAM) ロール/アクセス許可ポリシーに、データソースに接続するために必要なアクセス許可を含めます。このデータソースがナレッジベース IAM ロールに追加するために必要なアクセス許可については、「データソースへのアクセス許可」を参照してください。
注記
コンソールを使用する場合、ナレッジベースを作成するステップの一部として、必要なすべてのアクセス許可を持つ IAM ロールを作成できます。データソースやその他の設定を行うと、必要なすべてのアクセス許可を持つ IAM ロールが特定のナレッジベースに適用されます。
接続設定
Amazon S3 バケットに接続するには、Amazon Bedrock がデータにアクセスしてクロールできるように、必要な設定情報を提供する必要があります。また、前提条件 に従う必要があります。
このデータソースの設定例をこのセクションに示します。
包含フィルター、ドキュメントメタデータフィールド、増分同期、およびこれらの仕組みの詳細については、次を選択してください。
Amazon S3 データソース内の各ファイルに対して、ドキュメントのメタデータフィールド/属性を指定し、データソースのインデックスを作成してベクトルストアに保存する際にそれらを埋め込みに含めるかどうかを指定する別ファイルを含めることができます。例えば、次の形式でファイルを作成し、fileName.extension.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 の制限を超えることはできません。サポートされている属性/フィールドデータ型とメタデータフィールドに適用できるフィルタリング演算子の詳細については、「メタデータとフィルタリング」を参照してください。
includeForEmbedding フィールドは、チャンクを埋め込むときにメタデータ属性を含めるかどうかを制御します。
-
includeForEmbedding: false– チャンクテキストのみが埋め込まれ、取り込み中にベクトルになります。メタデータは引き続き保存され、フィルタリングに使用できますが、セマンティック検索結果には影響しません。 -
includeForEmbedding: true– メタデータのキーと値のペアは、埋め込み前にチャンクテキストに連結されます (例:key1: value1\n\nchunk text)。つまり、メタデータ情報は埋め込みベクトルに含まれるため、メタデータキーまたは値に言及するクエリは類似度スコアに寄与し、検索の関連性を高めます。メタデータのキーと値のペアは、結果に返されるチャンクテキストに含まれないため、結果にはソースファイルからの raw コンテンツのみが含まれます。
埋め込み動作を制御する必要がない場合は、メタデータ属性に簡略化された形式を使用することもできます。
{ "metadataAttributes": { "tag": "value" } }
簡略化された形式では、メタデータはフィルタリングのために保存されますが、埋め込みには含まれません ( に相当includeForEmbedding: false)。
Amazon S3 パスプレフィックスである包含プレフィックスを指定できます。このプレフィックスでは、バケット全体ではなく、S3 ファイルまたはフォルダを使用して S3 データソースコネクタを作成できます。
データソースコネクタは、データソースがナレッジベースと同期するたびに、新規、変更、削除されたコンテンツをクロールします。 Amazon Bedrock は、データソースのメカニズムを使用してコンテンツの変更を追跡し、前回の同期以降に変更されたコンテンツをクロールできます。データソースをナレッジベースと初めて同期すると、デフォルトですべてのコンテンツがクロールされます。
データソースをナレッジベースと同期するには、StartIngestionJob API を使用するか、コンソールでナレッジベースを選択し、データソースの概要セクションで [同期] を選択します。
重要
データソースから同期するすべてのデータは、データを取得する bedrock:Retrieve アクセス許可を持つすべてのユーザーが利用できるようになります。これには、データソースのアクセス許可が制御されているデータを含めることもできます。詳細については、「Knowledge base permissions」を参照してください。