コネクタターゲットとしての Amazon Bedrock マネージドナレッジベース
Amazon Bedrock マネージドナレッジベースは、完全マネージド型の取り出し拡張生成 (RAG) を提供します。Amazon Bedrock はベクトルストア、データ取り込み、取り出しの最適化を処理するため、プロビジョニングや運用のための取り出しインフラストラクチャはありません。Amazon Bedrock AgentCore はマネージドナレッジベースをネイティブゲートウェイコネクタとして公開します。AgentCoreゲートウェイにアタッチすると、エージェントは標準モデルコンテキストプロトコル (MCP) 呼び出しで検出してクエリを実行します。構築するカスタム取得統合はありません。マネージドナレッジベースの作成と管理の詳細については、「Amazon Bedrock ユーザーガイド」の「Amazon Bedrock のナレッジベース」を参照してください。
コネクタは 2 つのツールを公開します。1 つ目は ですAgenticRetrieveStream。単一の検索の代わりに、取得戦略を計画し、マネージドナレッジベース全体で複数の取得ステップを実行し、オプションで完全なドキュメントに拡張し、サポート結果と合成された引用ベースの回答の両方をストリーミングバックします。 は単一のハイブリッド検索Retrieveを実行し、最も関連性の高いパッセージを返します。
注記
このコネクタは、Amazon Bedrock マネージドナレッジベースでのみサポートされています。
以下のセクションでは、コネクタの仕組み、詳細なエージェント検索、一般的なユースケース、ターゲットの設定方法、両方のツールの入力スキーマとレスポンススキーマについて説明します。
トピック
仕組み
Amazon Bedrock AgentCore は、Amazon Bedrock マネージドナレッジベースへの組み込みコネクタを提供します。Gateway は、スキーマ管理、エンドポイント解決、サービス認証を処理します。コネクタは、エージェントが で検出する 2 つのツールを公開しますtools/list。
-
AgenticRetrieveStream— 結果を返すマルチステップのストリーミングエージェント取り出し、トレースイベントの計画と取り出し、および引用を含む合成された回答 (デフォルトでは返され、 では無効generateResponse: false)。 -
Retrieve— ソース参照を含む最も関連性の高いパッセージを返す単一のハイブリッド検索。
1 回のRetrieve呼び出しはこのフローに従います。
-
ゲートウェイのセットアップ — ゲートウェイを作成し、公開するマネージドナレッジベースを参照しながら、Amazon Bedrock マネージドナレッジベースターゲットを追加します。Gateway はツールスキーマをスナップショットし、統合をプロビジョニングします。
-
ツール検出 — エージェントは Gateway エンドポイント
tools/listで を呼び出し、入力スキーマを使用して取得ツールを検出します。 -
取得呼び出し — エージェントが自然言語クエリ
tools/callを使用して を呼び出します。Gateway はバックエンドに認証し、リクエストをマネージドナレッジベースにルーティングします。マネージドナレッジベースは、取り込まれたコンテンツ全体でハイブリッド検索を実行します。 -
結果 — ツールは、ツール結果のテキストコンテンツ内でソース参照を JSON として最も関連性の高いパッセージを返します。
-
Grounded Response — エージェントは結果を使用して、引用されたソースでレスポンスを作成します。
エージェント取り出しフローについては、「エージェント取り出し」を参照してください。
エージェントの取得
AgenticRetrieveStream は質問をタスクとして扱います。1 つのクエリに対してRetrieve実行される単一のハイブリッド検索の代わりに、取得戦略を計画し、マネージドナレッジベース全体で複数の取得ステップを実行し、サポート結果と合成された引用ベースの回答をストリーミングバックします。これらはすべて 1 回のツール呼び出しで行われます。合成された回答はデフォルトで返されます。 generateResponseは結果のみを返すfalseように設定されます。
エージェントは会話 () で呼び出しますmessages。クエリを実行するリトリーバーは、それぞれがマネージドナレッジベースを指し、エージェントから提供されるのではなく、ターゲットの管理者が設定します。として MCP 経由で進行状況ストリームを計画および取得しnotifications/message、結果と回答がツール結果に返されます。
エージェント取り出しの仕組みの詳細については、「Amazon Bedrock ユーザーガイド」の「Amazon Bedrock のナレッジベース」を参照してください。
リクエストスキーマとイベントスキーマについては、AgenticRetrieveStream 入力スキーマ」とAgenticRetrieveStream レスポンス形式」を参照してください。
ユースケース
-
エンタープライズナレッジアシスタント — マネージドナレッジベースに取り込まれた内部 Wiki、ランブック、ポリシードキュメントのエージェントレスポンスをグラウンドします。
-
ドキュメント Q&A — ベクトルストアを構築または運用することなく、大規模なドキュメントコレクションに関する質問に回答します。
-
マルチソース RAG — 1 回の取り出し呼び出しで、複数のデータソースのコンテンツを 1 つのマネージドナレッジベースにまとめたクエリを実行します。
-
複数ステップ計画 —
AgenticRetrieveStreamを使用して、計画と複数の取得ステップを必要とする複数部分またはあいまいな質問に答え、合成された引用ベースの回答を 1 回の呼び出しで返します。 -
ツール拡張エージェント — マネージドナレッジベースの取得を他の Gateway ツールと組み合わせることで、エージェントは根拠のある事実を検索し、アクションを実行できます。
マネージドナレッジベースを設定する
Python SDK と CLI を使用したセットアップ例など、Amazon Bedrock Managed Knowledge Bases コネクタ設定でゲートウェイターゲットを作成する方法については、ターゲット設定ガイドの「マネージドナレッジベースのセットアップ」を参照してください。
Gateway サービスロールを設定する
Gateway には、AgentCoreサービスがユーザーに代わってマネージドナレッジベースで取得アクションを実行できるようにするサービスロールが必要です。必要な IAM アクセス許可とポリシー設定については、ターゲット設定ガイドの「ゲートウェイサービスロールの設定」を参照してください。
ツールを呼び出す
ターゲットを作成すると、エージェントは でツールを検出tools/listし、 で呼び出しますtools/call。各ツール名には、 <target-name>_<tool-name>_AgenticRetrieveStreamまたは の形式でターゲット名のプレフィックスが付けられますmanaged-kb___Retrieve)。
の場合AgenticRetrieveStream、エージェントは会話のみを渡します。リトリーバーは管理者によってターゲットに設定されるため、エージェントはナレッジベース IDsを送信しません。
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "managed-kb___AgenticRetrieveStream", "arguments": { "messages": [ { "role": "user", "content": { "text": "How do I configure a knowledge base target?" } } ] } } }
の場合Retrieve、マネージドナレッジベース識別子はターゲットにバインドされるため、エージェントはクエリのみを渡します。
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "managed-kb___Retrieve", "arguments": { "retrievalQuery": { "text": "What is Amazon Bedrock AgentCore?" } } } }
取得パラメータをエージェントに公開した場合 (「エージェントが設定できるパラメータを制御する」を参照)、エージェントは通話時に管理者設定のデフォルトを上書きできます。
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "managed-kb___Retrieve", "arguments": { "retrievalQuery": { "text": "insurance benefits" }, "retrievalConfiguration": { "managedSearchConfiguration": { "numberOfResults": 2 } } } } }
AgenticRetrieveStream 入力スキーマ
によって返されるスキーマtools/listは、エージェントが を呼び出すときに設定できる一連のフィールドですAgenticRetrieveStream。デフォルトでは、エージェントに表示されるフィールドは のみですmessages。クエリするリトリーバーとすべての取得設定は、ターゲットに管理者が設定します。「マネージドナレッジベースを設定する」を参照してください。さらに多くのフィールドをエージェントに公開するには、ターゲットparameterOverridesで を設定します。「エージェントが設定できるパラメータを制御する」を参照してください。
{ "type": "object", "properties": { "messages": { "description": "The messages for the agentic retrieval conversation. Contains the user query and conversation history.", "type": "array", "items": { "type": "object", "properties": { "role": { "description": "The role of the message sender (user or assistant).", "type": "string", "enum": ["user", "assistant"] }, "content": { "description": "The content of the message.", "type": "object", "properties": { "text": { "description": "The text content of the message.", "type": "string" } } } }, "required": ["content", "role"] } } }, "required": ["messages"] }
| フィールド | Type | 必須 | 説明 |
|---|---|---|---|
|
|
array |
はい |
エージェント取り出しの会話。各メッセージには |
管理者セットフィールド — retrievers、 agenticRetrieveConfiguration (基盤モデル、 による再ランク付け、maxAgentIteration、ガードレールpolicyConfiguration) および generateResponse — については、「マネージドナレッジベースのセットアップ」および「設定リファレンス」を参照してください。
AgenticRetrieveStream レスポンス形式
AgenticRetrieveStream は一連のイベントをストリーミングします。MCP では、トレースイベントはリアルタイムの進行notifications/message状況に応じて として配信され、取得結果と合成された回答はツール結果で配信されます。ストリームは次のイベントタイプを出力します。
| [Event] (イベント) | 説明 |
|---|---|
|
|
(、 |
|
|
生成された回答テキストのチャンク。デフォルトで出力されます。 |
|
|
取得 |
result イベントには次の構造があります。
{ "result": { "results": [ { "content": { "text": "Amazon Bedrock AgentCore manages the storage, indexing, and retrieval infrastructure for a managed knowledge base...", "mimeType": "text/plain" }, "sourceRetriever": { "identifier": "kb-retriever-1" }, "metadata": { "x-amz-bedrock-kb-source-uri": "s3://example-bucket/docs/overview.pdf" } } ], "generatedResponse": { "answer": "A managed knowledge base lets Amazon Bedrock AgentCore handle the vector store, ingestion, and retrieval for you.", "citations": [ { "startIndex": 0, "endIndex": 98, "references": [ { "..." : "references to supporting results" } ] } ] } } }
| フィールド | Type | 必須 | 説明 |
|---|---|---|---|
|
|
array |
はい |
取得結果。各項目には |
|
|
オブジェクト |
いいえ |
デフォルトでは存在します。 |
|
|
string |
いいえ |
次の結果のセットを取得するためのトークン。 |
入力スキーマを取得する
によって返されるスキーマtools/listは、エージェントが を呼び出すときに設定できる一連のフィールドですRetrieve。デフォルトでは、エージェントに表示されるフィールドは のみですretrievalQuery.text。マネージドナレッジベース識別子とすべての取得設定は、ターゲットに管理者が設定します。numberOfResults やメタデータなどの取得設定をエージェントfilterに公開するには、ターゲットparameterOverridesで を設定します。「エージェントが設定できるパラメータを制御する」を参照してください。
{ "type": "object", "properties": { "retrievalQuery": { "description": "Contains the query to send the managed knowledge base.", "type": "object", "properties": { "text": { "description": "The text of the query made to the managed knowledge base.", "type": "string" } } } }, "required": ["retrievalQuery"] }
| フィールド | Type | 必須 | 説明 |
|---|---|---|---|
|
|
オブジェクト |
はい |
マネージドナレッジベースに送信するクエリ。 |
|
|
string |
はい |
クエリのテキスト。 |
管理者設定フィールドと上書き可能なフィールド — numberOfResults、メタデータ filter、overrideSearchType、再ランク付け、およびマルチモーダルイメージクエリ — については、「設定リファレンス」を参照してください。
レスポンス形式を取得する
このRetrieveツールは、JSON-RPC エンベロープでラップされた MCP tools/call結果を返します。isError および contentフィールドは 内にありresult、 textフィールドにはシリアル化されたretrievalResultsペイロードが含まれます。
{ "jsonrpc": "2.0", "id": 1, "result": { "isError": false, "content": [ { "type": "text", "text": "{\"retrievalResults\":[{\"content\":{\"type\":\"TEXT\",\"text\":\"Amazon Bedrock AgentCore manages the storage, indexing, and retrieval infrastructure for a managed knowledge base...\"},\"location\":{\"type\":\"S3\",\"s3Location\":{\"uri\":\"s3://example-bucket/docs/overview.pdf\"}},\"score\":0.87,\"metadata\":{\"x-amz-bedrock-kb-source-uri\":\"s3://example-bucket/docs/overview.pdf\"}}]}" } ] } }
の各項目retrievalResultsには次の構造があります。
| フィールド | Type | 必須 | 説明 |
|---|---|---|---|
|
|
オブジェクト |
はい |
取得したチャンクの内容。( |
|
|
オブジェクト |
いいえ |
ソースデータの場所。( |
|
|
数値 |
いいえ |
クエリに対する結果の関連性。 |
|
|
オブジェクト |
いいえ |
データソース内のソースファイルのメタデータ属性とその値。 |
設定リファレンス
以下のフィールドは、 の管理者が設定するかparameterValues、ターゲットの作成parameterOverrides時に でエージェントに公開されます。設定する場所については、「マネージドナレッジベースを設定する」と「エージェントが設定できるパラメータを制御する」を参照してください。
AgenticRetrieveStream — agenticRetrieveConfiguration
| フィールド | 有効値 | 注意事項 |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
整数 |
計画と取得の反復回数を上限します。 |
|
|
|
Amazon Bedrock ガードレールをアタッチします。 |
Retrieve — managedSearchConfiguration
| フィールド | 有効値 | 注意事項 |
|---|---|---|
|
|
整数 (1~100) |
取得するソースチャンクの数。 |
|
|
|
|
|
|
|
と同じです |
|
|
|
カスタム再ランク付けを使用する場合に必要です。 |
|
|
|
リランク付けに渡されるメタデータフィールドを制御します。 |
|
|
|
メタデータフィルター。演算子を 1 つだけ指定します。 |
アクセスコントロールのフィルタリング
マネージドナレッジベースがアクセスコントロールを使用してユーザーまたはグループごとに結果をフィルタリングする場合、呼び出し元のアプリケーションはリクエストuserContextで を渡す必要があります。Gateway はナレッジベースにパスuserContextスルーし、それに基づいてアクセスコントロールフィルタリングを適用します。Gateway は発信者の IAM ID userContextから入力しません。アプリケーションはそれを明示的に指定する必要があります。
これを使用するには:
-
ターゲット
parameterOverridesで を設定してエージェント$.userContextに公開する — 「エージェントが設定できるパラメータを制御する」を参照してください。 -
呼び出し元のアプリケーション (モデルではない) に引
tools/call数userContextに を含めます。
{ "arguments": { "retrievalQuery": { "text": "insurance benefits" }, "userContext": { "userId": "user@example.com" } } }