

# コネクタターゲットとしての Amazon Bedrock マネージドナレッジベース
<a name="gateway-target-connector-managed-kb"></a>

Amazon Bedrock マネージドナレッジベースは、完全マネージド型の取り出し拡張生成 (RAG) を提供します。Amazon Bedrock はベクトルストア、データ取り込み、取り出しの最適化を処理するため、プロビジョニングや運用のための取り出しインフラストラクチャはありません。Amazon Bedrock AgentCore はマネージドナレッジベースをネイティブゲートウェイコネクタとして公開します。AgentCoreゲートウェイにアタッチすると、エージェントは標準モデルコンテキストプロトコル (MCP) 呼び出しで検出してクエリを実行します。構築するカスタム取得統合はありません。マネージドナレッジベースの作成と管理の詳細については、[「Amazon Bedrock ユーザーガイド」の「Amazon Bedrock のナレッジベース](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base.html)」を参照してください。 **

コネクタは 2 つのツールを公開します。1 つ目は です`AgenticRetrieveStream`。単一の検索の代わりに、取得戦略を計画し、マネージドナレッジベース全体で複数の取得ステップを実行し、オプションで完全なドキュメントに拡張し、サポート結果と合成された引用ベースの回答の両方をストリーミングバックします。 は単一のハイブリッド検索`Retrieve`を実行し、最も関連性の高いパッセージを返します。

**注記**  
このコネクタは、Amazon Bedrock マネージドナレッジベースでのみサポートされています。

以下のセクションでは、コネクタの仕組み、詳細なエージェント検索、一般的なユースケース、ターゲットの設定方法、両方のツールの入力スキーマとレスポンススキーマについて説明します。

**Topics**
+ [仕組み](#gateway-target-connector-managed-kb-how-it-works)
+ [エージェントの取得](#gateway-target-connector-managed-kb-agentic-retrieval)
+ [ユースケース](#gateway-target-connector-managed-kb-use-cases)
+ [マネージドナレッジベースを設定する](#gateway-target-connector-managed-kb-setup)
+ [Gateway サービスロールを設定する](#gateway-target-connector-managed-kb-service-role)
+ [ツールを呼び出す](#gateway-target-connector-managed-kb-invoke)
+ [AgenticRetrieveStream 入力スキーマ](#gateway-target-connector-managed-kb-agentic-input-schema)
+ [AgenticRetrieveStream レスポンス形式](#gateway-target-connector-managed-kb-agentic-response-format)
+ [入力スキーマを取得する](#gateway-target-connector-managed-kb-input-schema)
+ [レスポンス形式を取得する](#gateway-target-connector-managed-kb-response-format)
+ [設定リファレンス](#gateway-target-connector-managed-kb-config-reference)
+ [アクセスコントロールのフィルタリング](#gateway-target-connector-managed-kb-access-control)

## 仕組み
<a name="gateway-target-connector-managed-kb-how-it-works"></a>

Amazon Bedrock AgentCore は、Amazon Bedrock マネージドナレッジベースへの組み込みコネクタを提供します。Gateway は、スキーマ管理、エンドポイント解決、サービス認証を処理します。コネクタは、エージェントが で検出する 2 つのツールを公開します`tools/list`。
+  `AgenticRetrieveStream` — 結果を返すマルチステップのストリーミングエージェント取り出し、トレースイベントの計画と取り出し、および引用を含む合成された回答 (デフォルトでは返され、 では無効`generateResponse: false`)。
+  `Retrieve` — ソース参照を含む最も関連性の高いパッセージを返す単一のハイブリッド検索。

1 回の`Retrieve`呼び出しはこのフローに従います。

1.  **ゲートウェイのセットアップ** — ゲートウェイを作成し、公開するマネージドナレッジベースを参照しながら、Amazon Bedrock マネージドナレッジベースターゲットを追加します。Gateway はツールスキーマをスナップショットし、統合をプロビジョニングします。

1.  **ツール検出** — エージェントは Gateway エンドポイント`tools/list`で を呼び出し、入力スキーマを使用して取得ツールを検出します。

1.  **取得呼び出し** — エージェントが自然言語クエリ`tools/call`を使用して を呼び出します。Gateway はバックエンドに認証し、リクエストをマネージドナレッジベースにルーティングします。マネージドナレッジベースは、取り込まれたコンテンツ全体でハイブリッド検索を実行します。

1.  **結果** — ツールは、ツール結果のテキストコンテンツ内でソース参照を JSON として最も関連性の高いパッセージを返します。

1.  **Grounded Response** — エージェントは結果を使用して、引用されたソースでレスポンスを作成します。

エージェント取り出しフローについては、[「エージェント取り出し](#gateway-target-connector-managed-kb-agentic-retrieval)」を参照してください。

## エージェントの取得
<a name="gateway-target-connector-managed-kb-agentic-retrieval"></a>

 `AgenticRetrieveStream` は質問をタスクとして扱います。1 つのクエリに対して`Retrieve`実行される単一のハイブリッド検索の代わりに、取得戦略を計画し、マネージドナレッジベース全体で複数の取得ステップを実行し、サポート結果と合成された引用ベースの回答をストリーミングバックします。これらはすべて 1 回のツール呼び出しで行われます。合成された回答はデフォルトで返されます。 `generateResponse`は結果のみを返す`false`ように設定されます。

エージェントは会話 () で呼び出します`messages`。クエリを実行するリトリーバーは、それぞれがマネージドナレッジベースを指し、エージェントから提供されるのではなく、ターゲットの管理者が設定します。として MCP 経由で進行状況ストリームを計画および取得し`notifications/message`、結果と回答がツール結果に返されます。

エージェント取り出しの仕組みの詳細については、[「Amazon Bedrock ユーザーガイド」の「Amazon Bedrock のナレッジベース](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base.html)」を参照してください。 **

リクエストスキーマとイベントスキーマについては、[AgenticRetrieveStream 入力スキーマ](#gateway-target-connector-managed-kb-agentic-input-schema)」と[AgenticRetrieveStream レスポンス形式](#gateway-target-connector-managed-kb-agentic-response-format)」を参照してください。

## ユースケース
<a name="gateway-target-connector-managed-kb-use-cases"></a>
+  **エンタープライズナレッジアシスタント** — マネージドナレッジベースに取り込まれた内部 Wiki、ランブック、ポリシードキュメントのエージェントレスポンスをグラウンドします。
+  **ドキュメント Q&A** — ベクトルストアを構築または運用することなく、大規模なドキュメントコレクションに関する質問に回答します。
+  **マルチソース RAG** — 1 回の取り出し呼び出しで、複数のデータソースのコンテンツを 1 つのマネージドナレッジベースにまとめたクエリを実行します。
+  **複数ステップ計画** — `AgenticRetrieveStream`を使用して、計画と複数の取得ステップを必要とする複数部分またはあいまいな質問に答え、合成された引用ベースの回答を 1 回の呼び出しで返します。
+  **ツール拡張エージェント** — マネージドナレッジベースの取得を他の Gateway ツールと組み合わせることで、エージェントは根拠のある事実を検索し、アクションを実行できます。

## マネージドナレッジベースを設定する
<a name="gateway-target-connector-managed-kb-setup"></a>

Python SDK と CLI を使用したセットアップ例など、Amazon Bedrock Managed Knowledge Bases コネクタ設定でゲートウェイターゲットを作成する方法については、ターゲット設定ガイドの[「マネージドナレッジベースのセットアップ](gateway-add-target-api-target-config.md#gateway-add-target-api-connector-managed-kb-setup)」を参照してください。

## Gateway サービスロールを設定する
<a name="gateway-target-connector-managed-kb-service-role"></a>

Gateway には、AgentCoreサービスがユーザーに代わってマネージドナレッジベースで取得アクションを実行できるようにするサービスロールが必要です。必要な IAM アクセス許可とポリシー設定については、ターゲット設定ガイドの[「ゲートウェイサービスロールの設定](gateway-add-target-api-target-config.md#gateway-add-target-api-connector-managed-kb-service-role)」を参照してください。

## ツールを呼び出す
<a name="gateway-target-connector-managed-kb-invoke"></a>

ターゲットを作成すると、エージェントは でツールを検出`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?" }
    }
  }
}
```

取得パラメータをエージェントに公開した場合 ([「エージェントが設定できるパラメータを制御する](gateway-add-target-api-target-config.md#gateway-add-target-api-connector-managed-kb-parameters)」を参照）、エージェントは通話時に管理者設定のデフォルトを上書きできます。

```
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "managed-kb___Retrieve",
    "arguments": {
      "retrievalQuery": { "text": "insurance benefits" },
      "retrievalConfiguration": {
        "managedSearchConfiguration": { "numberOfResults": 2 }
      }
    }
  }
}
```

## AgenticRetrieveStream 入力スキーマ
<a name="gateway-target-connector-managed-kb-agentic-input-schema"></a>

によって返されるスキーマ`tools/list`は、エージェントが を呼び出すときに設定できる一連のフィールドです`AgenticRetrieveStream`。デフォルトでは、エージェントに表示されるフィールドは のみです`messages`。クエリするリトリーバーとすべての取得設定は、ターゲットに管理者が設定します。[「マネージドナレッジベースを設定する](gateway-add-target-api-target-config.md#gateway-add-target-api-connector-managed-kb-setup)」を参照してください。さらに多くのフィールドをエージェントに公開するには、ターゲット`parameterOverrides`で を設定します。[「エージェントが設定できるパラメータを制御する](gateway-add-target-api-target-config.md#gateway-add-target-api-connector-managed-kb-parameters)」を参照してください。

```
{
  "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 | 必須 | 説明 | 
| --- | --- | --- | --- | 
|  `messages`  | array | はい | エージェント取り出しの会話。各メッセージには `role` (`user` または `assistant`) と があります`content.text`。 | 

管理者セットフィールド — `retrievers`、 `agenticRetrieveConfiguration` (基盤モデル、 による再ランク付け、`maxAgentIteration`、ガードレール`policyConfiguration`) および `generateResponse` — については、[「マネージドナレッジベースのセットアップ](gateway-add-target-api-target-config.md#gateway-add-target-api-connector-managed-kb-setup)」および[「設定リファレンス](#gateway-target-connector-managed-kb-config-reference)」を参照してください。

## AgenticRetrieveStream レスポンス形式
<a name="gateway-target-connector-managed-kb-agentic-response-format"></a>

 `AgenticRetrieveStream` は一連のイベントをストリーミングします。MCP では、トレースイベントはリアルタイムの進行`notifications/message`状況に応じて として配信され、取得結果と合成された回答はツール結果で配信されます。ストリームは次のイベントタイプを出力します。


| [Event] (イベント) | 説明 | 
| --- | --- | 
|  `traceEvent`  | (、`Planning`、、または `FullDocumentExpansion`)、 `step` (`status``IN_PROGRESS`、`SUCCEEDED`、または `FAILED`)`Retrieval``SpeculativeRetrieval`、人間が読み取り可能な `message`、`actions`取得された 、および任意の `warnings`または を含む計画または取得ステップ`failures`。 | 
|  `responseEvent`  | 生成された回答テキストのチャンク。デフォルトで出力されます。 `generateResponse` が に設定されている場合にのみ抑制されます`false`。 | 
|  `result`  | 取得`results`と、 `generateResponse`が に設定されていない限り`false`、回答と引用`generatedResponse`を含む最後の 。 | 

`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 | 必須 | 説明 | 
| --- | --- | --- | --- | 
|  `results`  | array | はい | 取得結果。各項目には`content`、 ( `text`または `byteContent`と `mimeType`)、それを生成`sourceRetriever`した 、およびオプションの があります`metadata`。 | 
|  `generatedResponse`  | オブジェクト | いいえ | デフォルトでは存在します。`generateResponse` が に設定されている場合にのみ省略されます`false`。回答スパン (`startIndex`、`endIndex`) をサポート結果にマッピング`citations`する、合成された `answer`と が含まれます。 | 
|  `nextToken`  | string | いいえ | 次の結果のセットを取得するためのトークン。 | 

## 入力スキーマを取得する
<a name="gateway-target-connector-managed-kb-input-schema"></a>

によって返されるスキーマ`tools/list`は、エージェントが を呼び出すときに設定できる一連のフィールドです`Retrieve`。デフォルトでは、エージェントに表示されるフィールドは のみです`retrievalQuery.text`。マネージドナレッジベース識別子とすべての取得設定は、ターゲットに管理者が設定します。`numberOfResults` やメタデータなどの取得設定をエージェント`filter`に公開するには、ターゲット`parameterOverrides`で を設定します。[「エージェントが設定できるパラメータを制御する](gateway-add-target-api-target-config.md#gateway-add-target-api-connector-managed-kb-parameters)」を参照してください。

```
{
  "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 | 必須 | 説明 | 
| --- | --- | --- | --- | 
|  `retrievalQuery`  | オブジェクト | はい | マネージドナレッジベースに送信するクエリ。 | 
|  `retrievalQuery.text`  | string | はい | クエリのテキスト。 | 

管理者設定フィールドと上書き可能なフィールド — `numberOfResults`、メタデータ `filter`、`overrideSearchType`、再ランク付け、およびマルチモーダルイメージクエリ — については、[「設定リファレンス](#gateway-target-connector-managed-kb-config-reference)」を参照してください。

## レスポンス形式を取得する
<a name="gateway-target-connector-managed-kb-response-format"></a>

この`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 | 必須 | 説明 | 
| --- | --- | --- | --- | 
|  `content`  | オブジェクト | はい | 取得したチャンクの内容。(`type``TEXT`、`IMAGE`、、`ROW`、`AUDIO`または `VIDEO`) と、テキストチャンク`text`の などの対応するコンテンツが含まれます。 | 
|  `location`  | オブジェクト | いいえ | ソースデータの場所。(`type``S3`、`WEB`、、`CUSTOM`、 `SHAREPOINT`など) `CONFLUENCE`と、 などの一致する場所オブジェクトが含まれます`s3Location.uri`。 | 
|  `score`  | 数値 | いいえ | クエリに対する結果の関連性。 | 
|  `metadata`  | オブジェクト | いいえ | データソース内のソースファイルのメタデータ属性とその値。 | 

## 設定リファレンス
<a name="gateway-target-connector-managed-kb-config-reference"></a>

以下のフィールドは、 の管理者が設定するか`parameterValues`、ターゲットの作成`parameterOverrides`時に でエージェントに公開されます。設定する場所については、[「マネージドナレッジベースを設定する](gateway-add-target-api-target-config.md#gateway-add-target-api-connector-managed-kb-setup)」と[「エージェントが設定できるパラメータを制御する](gateway-add-target-api-target-config.md#gateway-add-target-api-connector-managed-kb-parameters)」を参照してください。

 ** `AgenticRetrieveStream` — `agenticRetrieveConfiguration` ** 


| フィールド | 有効値 | 注意事項 | 
| --- | --- | --- | 
|  `foundationModelType`  |  `MANAGED`, `CUSTOM`  |  `MANAGED` はサービスマネージドモデル (デフォルト) を使用します。 は、指定した Bedrock モデル ARN `CUSTOM`を使用します。 | 
|  `rerankingModelType`  |  `MANAGED`, `CUSTOM`, `NONE`  |  `MANAGED` はサービス管理のリランク付け (デフォルト) を使用します。 は独自の `CUSTOM`を使用します。 はリランク付け`NONE`を無効にします。 | 
|  `foundationModelConfiguration.type`  |  `BEDROCK_FOUNDATION_MODEL`  | `foundationModelType` が の場合は必須です`CUSTOM`。 | 
|  `maxAgentIteration`  | 整数 | 計画と取得の反復回数を上限します。 | 
|  `policyConfiguration.guardrailConfiguration`  |  `guardrailId`, `guardrailVersion`  | Amazon Bedrock ガードレールをアタッチします。 | 

 ** `Retrieve` — `managedSearchConfiguration` ** 


| フィールド | 有効値 | 注意事項 | 
| --- | --- | --- | 
|  `numberOfResults`  | 整数 (1～100) | 取得するソースチャンクの数。 | 
|  `overrideSearchType`  |  `HYBRID`, `SEMANTIC`  |  `HYBRID` はキーワード検索とベクトル検索を組み合わせます。 はベクトル検索のみ`SEMANTIC`を使用します。 | 
|  `rerankingModelType`  |  `MANAGED`, `CUSTOM`, `NONE`  | と同じです`AgenticRetrieveStream`。 | 
|  `rerankingConfiguration.type`  |  `BEDROCK_RERANKING_MODEL`  | カスタム再ランク付けを使用する場合に必要です。 | 
|  `rerankingConfiguration.bedrockRerankingConfiguration.metadataConfiguration.selectionMode`  |  `SELECTIVE`, `ALL`  | リランク付けに渡されるメタデータフィールドを制御します。 | 
|  `filter`  |  `equals`, `notEquals`, `greaterThan`, `greaterThanOrEquals`, `lessThan`, `lessThanOrEquals`, `in`, `notIn`, `startsWith`, `listContains`, `stringContains`, `andAll`, `orAll`  | メタデータフィルター。演算子を 1 つだけ指定します。 | 

## アクセスコントロールのフィルタリング
<a name="gateway-target-connector-managed-kb-access-control"></a>

マネージドナレッジベースがアクセスコントロールを使用してユーザーまたはグループごとに結果をフィルタリングする場合、呼び出し元のアプリケーションはリクエスト`userContext`で を渡す必要があります。Gateway はナレッジベースにパス`userContext`スルーし、それに基づいてアクセスコントロールフィルタリングを適用します。Gateway は発信者の IAM ID `userContext`から入力しません。アプリケーションはそれを明示的に指定する必要があります。

これを使用するには:

1. ターゲット`parameterOverrides`で を設定してエージェント`$.userContext`に公開する — [「エージェントが設定できるパラメータを制御する](gateway-add-target-api-target-config.md#gateway-add-target-api-connector-managed-kb-parameters)」を参照してください。

1. 呼び出し元のアプリケーション (モデルではない) に引`tools/call`数`userContext`に を含めます。

```
{
  "arguments": {
    "retrievalQuery": { "text": "insurance benefits" },
    "userContext": {
      "userId": "user@example.com"
    }
  }
}
```