

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

# データソースの取り込みをカスタマイズする
<a name="kb-data-source-customize-ingestion"></a>

でデータソースを接続するとき、 AWS マネジメントコンソール または [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) リクエストを送信するときに `vectorIngestionConfiguration`フィールドの値を変更することで、ベクトル取り込みをカスタマイズできます。

次のトピックを選択して、データソースへの接続時に取り込みをカスタマイズするための構成を含める方法を確認してください。

**Topics**
+ [解析に使用するツールを選択する](#kb-data-source-customize-parsing)
+ [チャンキング戦略を選択する](#kb-data-source-customize-chunking)
+ [取り込み時に Lambda 関数を使用する](#kb-data-source-customize-lambda)

## 解析に使用するツールを選択する
<a name="kb-data-source-customize-parsing"></a>

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

**警告**  
データソースに接続後は解析戦略を変更できません。別の解析戦略を使用するには、新しいデータソースを追加します。  
ナレッジベースの作成後に、マルチモーダルデータ (画像、図、グラフ、テーブルなど) を保存するための S3 の場所を追加することはできません。マルチモーダルデータを含め、それをサポートするパーサーを使用する場合は、新しいナレッジベースを作成する必要があります。

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

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

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

  1. (解析戦略として Amazon Bedrock Data Automation または基盤モデルを使用する予定の場合) [CreateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html) リクエストの [VectorKnowledgeBaseConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_VectorKnowledgeBaseConfiguration.html) に [SupplementalDataStorageLocation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_SupplementalDataStorageLocation.html) を含めます。

  1. [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) リクエストの [VectorIngestionConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_VectorIngestionConfiguration.html) の `parsingConfiguration` フィールドに [ParsingConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ParsingConfiguration.html) を含めます。
**注記**  
この設定を省略すると、Amazon Bedrock ナレッジベースでは Amazon Bedrock のデフォルトパーサーが使用されます。

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

### Amazon Bedrock のデフォルトパーサー
<a name="w2aac32c10c23c15c17c11c13b1"></a>

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

### Amazon Bedrock Data Automation パーサー (プレビュー)
<a name="w2aac32c10c23c15c17c11c13b3"></a>

Amazon Bedrock Data Automation パーサーを使用するには、次の形式のように、`ParsingConfiguration` の `parsingStrategy` フィールドに `BEDROCK_DATA_AUTOMATION` を指定し、`bedrockDataAutomationConfiguration` フィールドに [BedrockDataAutomationConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_BedrockDataAutomationConfiguration.html) を含めます。

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

### 基盤モデル
<a name="w2aac32c10c23c15c17c11c13b5"></a>

基盤モデルをパーサーとして使用するには、次の形式のように、`ParsingConfiguration` の `parsingStrategy` フィールドに `BEDROCK_FOUNDATION_MODEL` を指定し、`bedrockFoundationModelConfiguration` フィールドに [BedrockFoundationModelConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_BedrockFoundationModelConfiguration.html) を含めます。

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

## チャンキング戦略を選択する
<a name="kb-data-source-customize-chunking"></a>

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

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

 AWS マネジメントコンソール で、データソースに接続するときにチャンキング戦略を選択します。Amazon Bedrock API を使用する場合は、[VectorIngestionConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_VectorIngestionConfiguration.html) の `chunkingConfiguration` フィールドに [ChunkingConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ChunkingConfiguration.html) を含めます。

**注記**  
この構成を省略すると、Amazon Bedrock は文の境界を維持したまま、約 300 個のトークンからなる複数のチャンクにコンテンツを分割します。

使用する解析戦略に対応するセクションを展開してください。

### チャンキングなし
<a name="w2aac32c10c23c15c17c13c13b1"></a>

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

```
{
    "chunkingStrategy": "NONE"
}
```

### 固定サイズのチャンキング
<a name="w2aac32c10c23c15c17c13c13b3"></a>

データソース内の各ドキュメントをほぼ同じサイズのチャンクに分割するには、次の形式のように、`ChunkingConfiguration` の `chunkingStrategy` フィールドに `FIXED_SIZE` を指定し、`fixedSizeChunkingConfiguration` フィールドに [FixedSizeChunkingConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_FixedSizeChunkingConfiguration.html) を含めます。

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

### 階層的チャンキング
<a name="w2aac32c10c23c15c17c13c13b5"></a>

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

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

### セマンティックチャンキング
<a name="w2aac32c10c23c15c17c13c13b7"></a>

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

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

## 取り込み時に Lambda 関数を使用する
<a name="kb-data-source-customize-lambda"></a>

Lambda 関数を使用すると、データからのソースチャンクがベクトルストアに書き込まれる方法を、次の方法で後処理できます。
+ カスタムチャンキング戦略を提供するチャンキングロジックを含めます。
+ チャンクレベルのメタデータを指定するロジックを含めます。

取り込み用のカスタム Lambda 関数の記述については、「[カスタム変換 Lambda 関数を使用してデータの取り込み方法を定義する](kb-custom-transformation.md)」を参照してください。 AWS マネジメントコンソール で、データソースに接続するときに Lambda 関数を選択します。Amazon Bedrock API では、次の形式のように、[VectorIngestionConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_VectorIngestionConfiguration.html) の `CustomTransformationConfiguration` フィールドに [CustomTransformationConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CustomTransformationConfiguration.html) を含め、Lambda の ARN を指定します。

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

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

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