

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

# ナレッジベースのクエリを実行してデータを取得する
<a name="kb-test-retrieve"></a>

**重要**  
ガードレールは、入力と LLM から生成されたレスポンスにのみ適用されます。実行時にナレッジベースから取得したリファレンスには適用されません。

ナレッジ ベースを設定したら、それについてクエリを実行し、[https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) API オペレーションを使用して、そのクエリに関連するソースデータからチャンクを取得できます。デフォルトの Amazon Bedrock ナレッジベースランカーではなく[再ランク付けモデル](rerank.md)を使用して、取得中にソースチャンクの関連性をランク付けすることもできます。

ナレッジベースのクエリを実行する方法については、任意の方法のタブを選択し、その手順を実行してください。

------
#### [ Console ]

**ナレッジベースをテストするには**

1. Amazon Bedrock コンソールを使用するアクセス許可を持つ IAM ID AWS マネジメントコンソール を使用して にサインインします。Amazon Bedrock コンソール ([https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock)) を開きます。

1. 左側のナビゲーションペインで **[ナレッジベース]** を選択します。

1. **[ナレッジベース]** セクションで、次のいずれかの操作を行います。
   + テストするナレッジベースの横にあるラジオボタンを選択して、**[ナレッジベースをテストする]** を選択します。右側からテスウィンドウが表示されます。
   + テストするナレッジベースを選択します。右側からテスウィンドウが表示されます。

1. テストウィンドウで、**[クエリに対する応答を生成する]** をクリアして、ナレッジベースから直接取得した情報を返します。

1. (オプション) 設定アイコン (![](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/images/icons/configurations.png)) を選択して、**[設定]** を開きます。構成については、「[クエリとレスポンスの生成を設定してカスタマイズする](kb-test-config.md)」を参照してください。

1. チャットウィンドウのテキストボックスにクエリを入力して **[実行]** を選択すると、ナレッジベースからのレスポンスが表示されます。

1. ソースチャンクは関連性の高い順に直接返されます。データソースから抽出された画像もソースチャンクとして返される可能性があります。

1. 返されたチャンクの詳細を表示するには、**[ソースの詳細を表示]** を選択します。
   + クエリの設定を表示するには、**[クエリ設定]** を展開します。
   + ソースチャンクの詳細を表示するには、ソースチャンクの横の右矢印 (![](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/images/icons/caret-right-filled.png)) を選択して展開します。以下の情報が表示されます。
     + ソースチャンクからの未加工テキスト。このテキストをコピーするには、コピーアイコン (![](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/images/icons/copy.png)) を選択します。Amazon S3 を使用してデータを保存した場合は、外部リンクアイコン (![](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/images/icons/external.png)) を選択して、対象ファイルを含む S3 オブジェクトに移動します。
     + Amazon S3 を使用してデータを保存した場合、ソースチャンクに関連付けられているメタデータ。属性/フィールドのキーと値は、ソースドキュメントに関連付けられている `.metadata.json` ファイルで定義されています。詳細については、「[クエリとレスポンスの生成を設定してカスタマイズする](kb-test-config.md)」の「**メタデータとフィルタリング**」セクションを参照してください。

**チャットオプション**
+ **[回答を生成]** をオンにして、取得したソースチャンクに基づいて応答を生成するように切り替えます。設定を変更すると、チャットウィンドウ内のテキストは完全に消去されます。
+ チャットウィンドウ内のテキストを消去するには、ほうきアイコン (![](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/images/icons/broom.png)) を選択します。
+ チャットウィンドウ内のすべての出力をコピーするには、コピーアイコン (![](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/images/icons/copy.png)) を選択します。

------
#### [ API ]

ナレッジベースのクエリを実行し、データソースから関連するテキストのみを返すには、[Amazon Bedrock エージェントのランタイムエンドポイント](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-rt)を使用して [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) リクエストを送信します。

以下のフィールドが必要です。


****  

| フィールド | 基本的な説明 | 
| --- | --- | 
| knowledgeBaseId | クエリを実行するナレッジベースを指定します。 | 
| retrievalQuery | クエリを指定する text フィールドが含まれます。 | 
| guardrailsConfiguration | リクエストでガードレールを使用するために、guardrailsId や guardrailsVersion などの guardrailsConfiguration フィールドを含めます。 | 

次のフィールドはオプションです。


****  

| フィールド | ユースケース | 
| --- | --- | 
| nextToken | 応答の次のバッチを返します (以下の応答フィールドを参照)。 | 
| retrievalConfiguration | ベクトル検索をカスタマイズするための[クエリ設定](kb-test-config.md)が含まれます。詳細については、「[KnowledgeBaseVectorSearchConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseVectorSearchConfiguration.html)」を参照してください。 | 

[KnowledgeBaseVectorSearchConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseVectorSearchConfiguration.html) に `rerankingConfiguration` フィールドを含めることで、デフォルトの Amazon Bedrock ナレッジベースのランキングモデルよりも再ランク付けモデルを優先して使用できます。`rerankingConfiguration` フィールドは [VectorSearchRerankingConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_VectorSearchRerankingConfiguration.html) オブジェクトにマッピングされています。このオブジェクトでは、使用する再ランキングモデル、含める追加のリクエストフィールド、再ランキング中にドキュメントを除外するメタデータ属性、および再ランク付け後に返される結果の数を指定できます。詳細については、「[VectorSearchRerankingConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_VectorSearchRerankingConfiguration.html)」を参照してください。

**注記**  
指定した `numberOfRerankedResults` 値が [KnowledgeBaseVectorSearchConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseVectorSearchConfiguration.html) の `numberOfResults` 値より大きい場合、返される結果の最大数は `numberOfResults` の値になります。例外は、クエリ分解を使用する場合です (詳細については、「[クエリとレスポンスの生成を設定してカスタマイズする](kb-test-config.md)」の「**クエリの変更**」セクションを参照してください)。クエリ分解を使用する場合、`numberOfRerankedResults` は `numberOfResults` の最大 5 倍になります。

応答では、データソースからのソースチャンクが、`retrievalResults` フィールドの [KnowledgeBaseRetrievalResult](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalResult.html) オブジェクトの配列として返されます。各 [KnowledgeBaseRetrievalResult](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalResult.html) には、次のフィールドが含まれます。


****  

| フィールド | 説明 | 
| --- | --- | 
| content | text にテキストソースチャンクが含まれるか、byteContent フィールドに画像ソースチャンクが含まれます。コンテンツが画像の場合、base64 でエンコードされたコンテンツのデータ URI は data:image/jpeg;base64,{{${base64-encoded string}}} の形式で返されます。 | 
| メタデータ | 各メタデータ属性をキーとして、メタデータ値をキーがマッピングする JSON 値として含めます。 | 
| location | ソースチャンクが属するドキュメントの URI または URL が含まれます。 | 
| score | ドキュメントの関連性スコア。このスコアを使用して、結果のランキングを分析できます。 | 

ソースチャンクの数が応答に収まる数を超えると、`nextToken` フィールドに値が返されます。結果の次のバッチを返すには、別のリクエストでその値を使用します。

取得したデータに画像が含まれている場合、レスポンスは次のレスポンスヘッダーも返します。これには、レスポンスで返されたソースチャンクのメタデータが含まれます。
+ `x-amz-bedrock-kb-byte-content-source` – 画像の Amazon S3 URI が含まれます。
+ `x-amz-bedrock-kb-description` – 画像の Base64 でエンコードされた文字列が含まれます。

**注記**  
[メタデータフィルターを設定する](kb-test-config.md)ときに、これらのメタデータレスポンスヘッダーをフィルタリングすることはできません。

**マルチモーダルクエリ**  
マルチモーダル埋め込みモデルを使用するナレッジベースの場合、テキストまたはイメージを使用してクエリを実行できます。`retrievalQuery` フィールドは、イメージクエリの `multimodalInputList` フィールドをサポートします。

**注記**  
Nova アプローチと BDA アプローチの選択など、マルチモーダルナレッジベースのセットアップと操作に関する包括的なガイダンスについては、「」を参照してください[マルチモーダルコンテンツのナレッジベースを構築する](kb-multimodal.md)。

次の`multimodalInputList`フィールドを使用して、イメージでクエリを実行できます。

```
{
    "knowledgeBaseId": "EXAMPLE123", 
    "retrievalQuery": {
        "multimodalInputList": [
            {
                "content": {
                    "byteContent": "base64-encoded-image-data"
                },
                "modality": "IMAGE"
            }
        ]
    }
}
```

または、 `text`フィールドを使用してのみテキストでクエリを実行できます。

```
{
    "knowledgeBaseId": "EXAMPLE123",
    "retrievalQuery": {
        "text": "Find similar shoes"
    }
}
```

**一般的なマルチモーダルクエリパターン**  
以下は、一般的なクエリパターンです。

Image-to-image検索  
イメージをアップロードして、視覚的に似たイメージを見つけます。例: 赤い Nike 靴の写真をアップロードして、製品カタログで同様の靴を見つけます。

テキストベースの検索  
テキストクエリを使用して、関連するコンテンツを検索します。例: テキストの説明を使用して製品カタログを検索するには、「類似する靴を見つける」を使用します。

ビジュアルドキュメント検索  
ドキュメント内のグラフ、図、またはビジュアル要素を検索します。例: グラフイメージをアップロードして、ドキュメントコレクション内の同様のグラフを検索します。

**マルチモーダルコンテンツの Nova と BDA の選択**  
マルチモーダルコンテンツを使用する場合は、コンテンツタイプとクエリパターンに基づいてアプローチを選択します。


**Nova と BDA 決定マトリックス**  

| コンテンツタイプ | Nova マルチモーダル埋め込みを使用する | Bedrock Data Automation (BDA) パーサーを使用する | 
| --- | --- | --- | 
| 動画コンテンツ | ビジュアルストーリーテリングの焦点 (スポーツ、広告、デモンストレーション）、ビジュアル要素に関するクエリ、最小限の音声コンテンツ | 重要な音声/ナレーション (プレゼンテーション、会議、チュートリアル）、音声コンテンツに関するクエリ、文字起こしが必要 | 
| オーディオコンテンツ | 音楽またはサウンド効果の識別、非音声分析 | ポッドキャスト、インタビュー、会議、文字起こしが必要な音声を含むコンテンツ | 
| イメージコンテンツ | ビジュアル類似度検索、image-to-image取得、ビジュアルコンテンツ分析 | イメージからのテキスト抽出、ドキュメント処理、OCR 要件 | 

**注記**  
Nova マルチモーダル埋め込みでは、音声コンテンツを直接処理することはできません。音声ファイルまたは動画ファイルに重要な音声情報が含まれている場合は、まず BDA パーサーを使用して音声をテキストに変換するか、代わりにテキスト埋め込みモデルを選択します。

**マルチモーダルクエリの制限**  
マルチモーダルクエリにはいくつかの制限があります。
+ 現在のリリースでは、クエリごとに最大 1 つのイメージ
+ イメージクエリは、マルチモーダル埋め込みモデル (Titan G1 または Cohere Embed v3) でのみサポートされています。
+ RetrieveAndGenerate API は、マルチモーダル埋め込みモデルと S3 コンテンツバケットを持つナレッジベースではサポートされていません
+ テキストのみの埋め込みモデルを使用してナレッジベースにイメージクエリを指定すると、4xx エラーが返されます。

**マルチモーダル API レスポンス構造**  
マルチモーダルコンテンツの取得レスポンスには、追加のメタデータが含まれます。
+ **ソース URI:** 元の S3 バケットの場所を指す
+ **補足 URI:** マルチモーダルストレージバケット内のコピーを指す
+ **タイムスタンプメタデータ:** 正確な再生配置を可能にするビデオチャンクとオーディオチャンクに付属

**注記**  
API または SDK を使用する場合は、アプリケーションでファイルの取得とタイムスタンプナビゲーションを処理する必要があります。コンソールは、拡張ビデオ再生と自動タイムスタンプナビゲーションを使用してこれを自動的に処理します。

------

**注記**  
レスポンスの生成中にプロンプトが文字制限を超えたというエラーが表示された場合は、次の方法でプロンプトを短縮できます。  
取得される結果の最大数を減らします (これにより、[ナレッジベースのプロンプトテンプレート: オーケストレーションと生成](kb-test-config.md#kb-test-config-prompt-template) の $search\_results$ プレースホルダーで入力される内容が短縮されます)。
より小さなチャンクを使用するチャンキング戦略でデータソースを再作成します (これにより、[ナレッジベースのプロンプトテンプレート: オーケストレーションと生成](kb-test-config.md#kb-test-config-prompt-template) の $search\_results$ プレースホルダーで入力される内容が短縮されます)。
プロンプトテンプレートを短縮します。
ユーザークエリを短縮します (これにより、[ナレッジベースのプロンプトテンプレート: オーケストレーションと生成](kb-test-config.md#kb-test-config-prompt-template) の $query$ プレースホルダーに入力される内容が短縮されます)。