翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ナレッジベースをクエリし、取得したデータに基づいてレスポンスを生成する
重要
ガードレールは、入力と LLM から生成されたレスポンスにのみ適用されます。実行時にナレッジベースから取得したリファレンスには適用されません。
ナレッジベースをセットアップした後、ナレッジベースをクエリし、RetrieveAndGenerate APIオペレーションを使用してソースデータから取得されたチャンクに基づいてレスポンスを生成できます。元のソースデータへの引用を含めてレスポンスが返されます。デフォルトの Amazon Bedrock ナレッジベースランカーではなく再ランク付けモデルを使用して、取得中にソースチャンクの関連性をランク付けすることもできます。
マルチモーダルコンテンツの制限
RetrieveAndGenerate では、マルチモーダルコンテンツのサポートが制限されています。Nova マルチモーダル埋め込みを使用する場合、RAG 機能はテキストコンテンツのみに制限されます。オーディオおよびビデオ処理を含むマルチモーダルを完全にサポートするには、テキスト埋め込みモデルで BDA を使用します。詳細については、「マルチモーダルコンテンツのナレッジベースを構築する」を参照してください。
注記
RetrieveAndGenerate フロー中に Retrieve レスポンスから返されたイメージは、レスポンス生成のプロンプトに含まれます。RetrieveAndGenerate レスポンスにはイメージを含めることはできませんが、イメージを含むソースを引用できます。
ナレッジベースのクエリを実行する方法については、任意の方法のタブを選択し、その手順を実行してください。
- Console
-
ナレッジベースをテストするには
-
Amazon Bedrock コンソールを使用するアクセス許可を持つ IAM ID AWS マネジメントコンソールを使用して にサインインします。Amazon Bedrock コンソール (https://console.aws.amazon.com/bedrock
) を開きます。 -
左側のナビゲーションペインで [ナレッジベース] を選択します。
-
[ナレッジベース] セクションで、次のいずれかの操作を行います。
-
テストするナレッジベースの横にあるラジオボタンを選択して、[ナレッジベースをテストする] を選択します。右側からテスウィンドウが表示されます。
-
テストするナレッジベースを選択します。右側からテスウィンドウが表示されます。
-
-
ナレッジベースから取得した情報を基にしたレスポンスを生成するには、[クエリに対するレスポンスを生成する] を有効にします。Amazon Bedrock はデータソースに基づいてレスポンスを生成し、提供された情報を脚注とともに引用します。
-
レスポンスの生成に使用するモデルを選択するには、[モデルを選択] を選択します。次に、[適用] を選択します。
-
(オプション) 設定アイコン (
) を選択して、[設定] を開きます。構成については、「クエリとレスポンスの生成を設定してカスタマイズする」を参照してください。 -
チャットウィンドウのテキストボックスにクエリを入力して [実行] を選択すると、ナレッジベースからのレスポンスが表示されます。
-
脚注を選択して、レスポンスのその部分の引用元からの抜粋を表示します。ファイルを含む S3 オブジェクトに移動するリンクを選択します。
-
返されたチャンクの詳細を表示するには、[ソースの詳細を表示] を選択します。
-
クエリの設定を表示するには、[クエリ設定] を展開します。
-
ソースチャンクの詳細を表示するには、ソースチャンクの横の右矢印 (
) を選択して展開します。以下の情報が表示されます。-
ソースチャンクからの未加工テキスト。このテキストをコピーするには、コピーアイコン (
) を選択します。Amazon S3 を使用してデータを保存した場合は、外部リンクアイコン (
) を選択して、対象ファイルを含む S3 オブジェクトに移動します。 -
Amazon S3 を使用してデータを保存した場合、ソースチャンクに関連付けられているメタデータ。属性/フィールドのキーと値は、ソースドキュメントに関連付けられている
.metadata.jsonファイルで定義されています。詳細については、「クエリとレスポンスの生成を設定してカスタマイズする」の「メタデータとフィルタリング」セクションを参照してください。
-
-
チャットオプション
-
レスポンス生成に別のモデルを使用するには、[モデルを変更] を選択します。モデルを変更すると、チャットウィンドウ内のテキストは完全に消去されます。
-
[レスポンスを生成] をクリアして、ソースチャンクを直接取得するに切り替えます。設定を変更すると、チャットウィンドウ内のテキストは完全に消去されます。
-
チャットウィンドウ内のテキストを消去するには、ほうきアイコン (
) を選択します。 -
チャットウィンドウ内のすべての出力をコピーするには、コピーアイコン (
) を選択します。
-
- API
-
ナレッジベースにクエリを実行し、基盤モデルを使用してデータソースからの結果に基づいてレスポンスを生成するには、Amazon Bedrock エージェントランタイムエンドポイントを使用して、RetrieveAndGenerate リクエストを送信します。
RetrieveAndGenerateStream API はストリーミング形式でデータを返すため、結果全体を待たずにチャンクで生成されたレスポンスにアクセスできます。
以下のフィールドが必要です。
注記
API レスポンスには引用イベントが含まれています。
citationメンバーは非推奨になりました。代わりに、generatedResponseおよびretrievedReferencesフィールドを使用することをお勧めします。参考までに、「CitationEvent」を参照してください。フィールド 基本的な説明 input クエリを指定する textフィールドが含まれます。retrieveAndGenerateConfiguration 取得と生成の設定を指定する RetrieveAndGenerateConfiguration が含まれます。詳細については、以下を参照してください。 次のフィールドはオプションです。
フィールド ユースケース sessionId 前のセッションと同じ値を使用してそのセッションを続行し、モデルのコンテキストを維持します。 sessionConfiguration セッションの暗号化用のカスタム KMS キーが含まれます。 RetrieveAndGenerateConfiguration に
knowledgeBaseConfigurationフィールドを含めます。このフィールドは、次のフィールドを含む KnowledgeBaseRetrieveAndGenerateConfiguration オブジェクトにマッピングされます。-
以下のフィールドが必要です。
フィールド 基本的な説明 knowledgeBaseId クエリするナレッジベースの ID。 modelArn 生成に使用する基盤モデルまたは推論プロファイルの ARN。 -
次のフィールドはオプションです。
フィールド ユースケース retrievalConfiguration ベクトル検索をカスタマイズするためのクエリ設定が含まれます。詳細については、「KnowledgeBaseRetrievalConfiguration」を参照してください。 orchestrationConfiguration 取得と生成の前にモデルがプロンプトを処理する方法の設定を指定するには。詳細については、「OrchestrationConfiguration」を参照してください。 generationConfiguration レスポンス生成の設定を指定するには。詳細については、「GenerationConfiguration」を参照してください。
KnowledgeBaseRetrievalConfiguration 内の KnowledgeBaseVectorSearchConfiguration に
rerankingConfigurationフィールドを含めることで、デフォルトの Amazon Bedrock ナレッジベースランキングモデルで再ランキングモデルを使用できます。rerankingConfigurationフィールドは VectorSearchRerankingConfiguration オブジェクトにマッピングされています。このオブジェクトでは、使用する再ランキングモデル、含める追加のリクエストフィールド、再ランキング中にドキュメントを除外するメタデータ属性、および再ランク付け後に返される結果の数を指定できます。詳細については、「VectorSearchRerankingConfiguration」を参照してください。注記
指定した
numberOfRerankedResults値が KnowledgeBaseVectorSearchConfiguration のnumberOfResults値より大きい場合、返される結果の最大数はnumberOfResultsの値になります。例外は、クエリ分解を使用する場合です (詳細については、「クエリとレスポンスの生成を設定してカスタマイズする」の「クエリの変更」セクションを参照してください)。クエリ分解を使用する場合、numberOfRerankedResultsはnumberOfResultsの最大 5 倍になります。レスポンスは、生成されたレスポンスを
outputフィールドに返し、引用されたソースチャンクをcitationsフィールドの配列として返します。各 Citation オブジェクトは以下のフィールドを含みます。フィールド 基本的な説明 generatedResponsePart textResponsePartフィールドには、引用が関係するtextが含まれます。spanフィールドは、引用を含む出力の部分の先頭と末尾のインデックスを提供します。retrievedReferences RetrievedReference オブジェクトの配列。各オブジェクトには、ソースチャンクの content、ドキュメントに関連付けられたmetadata、データソース内のドキュメントの URI または URL のlocationが含まれます。コンテンツが画像の場合、base64 でエンコードされたコンテンツのデータ URI はdata:image/jpeg;base64,の形式で返されます。${base64-encoded string}レスポンスは
sessionId値も返します。この値は、同じ会話を維持するために別のリクエストで再利用できます。リクエストに
guardrailConfigurationを含めた場合、guardrailActionフィールドはコンテンツがブロックされたかどうかを通知します。取得したデータに画像が含まれている場合、レスポンスは次のレスポンスヘッダーも返します。これには、レスポンスで返されたソースチャンクのメタデータが含まれます。
-
x-amz-bedrock-kb-byte-content-source– 画像の Amazon S3 URI が含まれます。 -
x-amz-bedrock-kb-description– 画像の Base64 でエンコードされた文字列が含まれます。
注記
メタデータフィルターを設定するときに、これらのメタデータレスポンスヘッダーをフィルタリングすることはできません。
-
注記
レスポンスの生成中にプロンプトが文字制限を超えたというエラーが表示された場合は、次の方法でプロンプトを短縮できます。
-
取得される結果の最大数を減らします (これにより、ナレッジベースのプロンプトテンプレート: オーケストレーションと生成 の $search_results$ プレースホルダーで入力される内容が短縮されます)。
-
より小さなチャンクを使用するチャンキング戦略でデータソースを再作成します (これにより、ナレッジベースのプロンプトテンプレート: オーケストレーションと生成 の $search_results$ プレースホルダーで入力される内容が短縮されます)。
-
プロンプトテンプレートを短縮します。
-
ユーザークエリを短縮します (これにより、ナレッジベースのプロンプトテンプレート: オーケストレーションと生成 の $query$ プレースホルダーに入力される内容が短縮されます)。