データソースの取り込みをカスタマイズする - Amazon Bedrock

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

データソースの取り込みをカスタマイズする

でデータソースを接続するとき、 AWS Management Console または CreateDataSource リクエストを送信するときに vectorIngestionConfigurationフィールドの値を変更することで、ベクトル取り込みをカスタマイズできます。

トピックを選択して、データソースに接続するときに取り込みをカスタマイズするための設定を含める方法について説明します。

解析に使用するツールを選択する

データ内のドキュメントの解析方法をカスタマイズできます。Amazon Bedrock ナレッジベースでデータを解析するためのオプションについては、「」を参照してくださいデータソースの解析オプション

警告

データソースに接続した後で解析戦略を変更することはできません。別の解析戦略を使用するには、新しいデータソースを追加できます。

ナレッジベースを作成した後、マルチモーダルデータ (画像、図、チャート、テーブルを含む) を保存する S3 の場所を追加することはできません。マルチモーダルデータを含め、それをサポートするパーサーを使用する場合は、新しいナレッジベースを作成する必要があります。

解析戦略の選択に関連するステップは、 AWS Management Console と Amazon Bedrock API のどちらを使用するか、および選択した解析方法によって異なります。マルチモーダルデータをサポートする解析方法を選択する場合は、ドキュメントから抽出されたマルチモーダルデータを保存する S3 URI を指定する必要があります。このデータはナレッジベースクエリで返すことができます。

  • で AWS Management Console、次の操作を行います。

    1. ナレッジベースの設定中にデータソースに接続するとき、または既存のナレッジベースに新しいデータソースを追加するときに、解析戦略を選択します。

    2. (解析戦略として Amazon Bedrock Data Automation または基盤モデルを選択した場合) 埋め込みモデルを選択し、ベクトルストアを設定するときに、ドキュメントから抽出されたマルチモーダルデータをマルチモーダルストレージ送信先セクションに保存する S3 URI を指定します。このステップでは、オプションでカスタマーマネージドキーを使用して S3 データを暗号化することもできます。

  • Amazon Bedrock API で、次の操作を行います。

    1. (Amazon Bedrock Data Automation または基盤モデルを解析戦略として使用する予定の場合) CreateKnowledgeBase リクエストの VectorKnowledgeBaseConfigurationSupplementalDataStorageLocation を含めます。 CreateKnowledgeBase

    2. CreateDataSource リクエストの VectorIngestionConfiguration の フィールドに ParsingConfiguration を含めます。 parsingConfiguration VectorIngestionConfiguration

      注記

      この設定を省略すると、Amazon Bedrock ナレッジベースは Amazon Bedrock のデフォルトパーサーを使用します。

API で解析戦略を指定する方法の詳細については、使用する解析戦略に対応するセクションを展開します。

デフォルトのパーサーを使用するには、 内にparsingConfigurationフィールドを含めないでくださいVectorIngestionConfiguration

Amazon Bedrock Data Automation パーサーを使用するには、 の BEDROCK_DATA_AUTOMATION parsingStrategyフィールドに を指定ParsingConfigurationし、次の形式のように bedrockDataAutomationConfigurationフィールドに BedrockDataAutomationConfiguration を含めます。

{ "parsingStrategy": "BEDROCK_DATA_AUTOMATION", "bedrockDataAutomationConfiguration": { "parsingModality": "string" } }

基盤モデルをパーサーとして使用するには、次の形式のように、 の BEDROCK_FOUNDATION_MODEL parsingStrategyフィールドに を指定ParsingConfigurationし、 bedrockFoundationModelConfigurationフィールドに BedrockFoundationModelConfiguration を含めます。

{ "parsingStrategy": "BEDROCK_FOUNDATION_MODEL", "bedrockFoundationModelConfiguration": { "modelArn": "string", "parsingModality": "string", "parsingPrompt": { "parsingPromptText": "string" } } }

チャンキング戦略を選択する

データ内のドキュメントをチャンク化して保存および取得する方法をカスタマイズできます。Amazon Bedrock ナレッジベースでデータをチャンキングするためのオプションについては、「」を参照してくださいナレッジベースでのコンテンツチャンキングの仕組み

警告

データソースに接続した後でチャンキング戦略を変更することはできません。

AWS Management Console で、データソースに接続するときにチャンキング戦略を選択します。Amazon Bedrock API では、VectorIngestionConfiguration の フィールドに ChunkingConfiguration を含めます。 chunkingConfiguration VectorIngestionConfiguration

注記

この設定を省略すると、Amazon Bedrock は文の境界を維持しながら、コンテンツを約 300 トークンのチャンクに分割します。

使用する解析戦略に対応するセクションを展開します。

データソース内の各ドキュメントを単一のソースチャンクとして扱うには、次の形式のようにChunkingConfiguration、 の NONEchunkingStrategyフィールドに を指定します。

{ "chunkingStrategy": "NONE" }

データソース内の各ドキュメントをほぼ同じサイズのチャンクに分割するには、 の FIXED_SIZE chunkingStrategyフィールドに を指定ChunkingConfigurationし、次の形式のように fixedSizeChunkingConfigurationフィールドに FixedSizeChunkingConfiguration を含めます。

{ "chunkingStrategy": "FIXED_SIZE", "fixedSizeChunkingConfiguration": { "maxTokens": number, "overlapPercentage": number } }

データソース内の各ドキュメントを 2 つのレベルに分割するには、2 番目のレイヤーに 1 番目のレイヤーから派生した小さなチャンクが含まれるようにするには、 の HIERARCHICAL chunkingStrategyフィールドに を指定ChunkingConfigurationし、次の形式のように hierarchicalChunkingConfigurationフィールドを含めます。

{ "chunkingStrategy": "HIERARCHICAL", "hierarchicalChunkingConfiguration": { "levelConfigurations": [{ "maxTokens": number }], "overlapTokens": number } }

データソース内の各ドキュメントを構文構造よりも意味的意味を優先するチャンクに分割するには、 の SEMANTIC chunkingStrategyフィールドに を指定ChunkingConfigurationし、次の形式のように semanticChunkingConfigurationフィールドを含めます。

{ "chunkingStrategy": "SEMANTIC", "semanticChunkingConfiguration": { "breakpointPercentileThreshold": number, "bufferSize": number, "maxTokens": number } }

取り込み中に Lambda 関数を使用する

Lambda 関数を使用して、データからのソースチャンクがベクトルストアに書き込まれる方法を後処理するには、次の方法があります。

  • カスタムチャンキング戦略を提供するチャンキングロジックを含めます。

  • チャンクレベルのメタデータを指定するロジックを含めます。

取り込み用のカスタム Lambda 関数の記述については、「」を参照してくださいカスタム変換 Lambda 関数を使用してデータの取り込み方法を定義する。 AWS Management Console で、データソースに接続するときに Lambda 関数を選択します。Amazon Bedrock API では、VectorIngestionConfiguration の フィールドに CustomTransformationConfiguration を含め、次の形式で Lambda の ARN を指定します。 CustomTransformationConfiguration VectorIngestionConfiguration

{ "transformations": [{ "transformationFunction": { "transformationLambdaConfiguration": { "lambdaArn": "string" } }, "stepToApply": "POST_CHUNKING" }], "intermediateStorage": { "s3Location": { "uri": "string" } } }

また、Lambda 関数を適用した後に出力を保存する S3 の場所も指定します。

Amazon Bedrock が提供するチャンキングオプションのいずれかを適用した後、Lambda 関数を適用する chunkingConfigurationフィールドを含めることができます。