翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
複数のナレッジベースのセットアップとコンテンツセグメンテーション
オーケストレーション AI エージェントを使用する場合、AI エージェントがナレッジベースを検索し、関連情報を返してユーザーの質問に回答できるようにするツールの取得を設定できます。
各取得ツールは、単一のナレッジベースをクエリします。複数の取得ツールを設定することで、AI エージェントは複数のナレッジベースを同時にクエリしたり、ユーザーの質問に基づいて検索するナレッジベースをインテリジェントに選択したりできます。明確に定義されたツールの説明とプロンプトの指示により、モデルは最も関連性の高いナレッジベースにクエリを自動的にルーティングできます。
AI エージェントがコンテンツをクエリする方法は、次の 2 つのレベルで制御できます。
-
ナレッジベースレベル: 複数の取得ツールを設定して、さまざまなナレッジベースをクエリします。コンテンツが複数のナレッジベースに編成されている場合は、このアプローチを使用します。
-
コンテンツレベル: コンテンツセグメンテーションを使用して、単一のナレッジベース内の特定のコンテンツのみをクエリします。
複数のナレッジベースをクエリするようにオーケストレーションエージェントを設定する方法
複数の取得ツールを設定して、異なるナレッジベースをクエリできます。ユースケースに応じて、次のいずれかを実行できます。
すべてのナレッジベースを同時にクエリする (並列呼び出し)
リクエストのコンテキストに基づいて特定のナレッジベースをクエリする (条件付き呼び出し)
複数の取得ツールのセットアップ
どちらの設定も同じ初期設定が必要です。まずこれらのステップを完了してから、特定のユースケースの手順に従います。
-
AWS コンソールから、統合の追加を選択し、ガイド付きエクスペリエンスに従うことで、ナレッジベースを追加できます。この例では、追加のナレッジベースとして demo-byobkb を追加しました。
-
AI エージェントデザイナー から、新しいオーケストレーション AI エージェントを作成し、デフォルトの取得ツールを編集します。
-
既存のナレッジベースを Retrieve Tool に関連付けます。AI エージェントはこのナレッジベースをデフォルトとして使用します
-
追加のツールを追加し、名前空間として Amazon Connect を選択し、AI ツールのタイプの取得を選択します。
-
次に、デフォルトのナレッジベースを超えて関連付ける追加のナレッジベースを選択します。
-
「Retrieve」で始まる追加の各 Retrieve ツールに名前を付けます (例: Retrieve2, Retrieve3、RetrieveProducts、RetrievePolicies)。
-
次に、ツールの手順と例を設定します。設定はユースケースによって異なります。以下のセクションでは、すべてのナレッジベースを同時にクエリし、ナレッジベースを選択的にクエリする 2 つのシナリオについて説明します。
すべてのナレッジベースを同時にクエリする
この設定は、エージェントがすべてのクエリについてすべてのナレッジベースを同時に検索する場合に使用します。
ツールの手順の設定
-
デフォルトの取得ツールから手順と例をコピーして、ツールの手順を入力します。
-
追加ボタンをクリックして、新しい取得ツールを作成します。これで、ツールリストに新しい取得ツールが追加されました。
これで、2 つ目の取得ツールができました。すべての取得ツールを一緒に使用するには、プロンプトを変更し、同時に呼び出す手順を指定する必要があります。この変更を行わないと、1 つの取得ツールのみが使用されます。
並列呼び出しのプロンプトの更新
-
プロンプトを変更して、複数の 取得ツールを使用するように指示します。デフォルトのオーケストレーションプロンプトは直接編集できないため、変更を加えたコピーを作成する必要があります。
ユースケースに一致するデフォルトのオーケストレーションプロンプトをコピーして、新しいプロンプトを作成します。この例では、AgentAssistanceOrchestration プロンプトからコピーします。
-
作成ボタンをクリックすると、プロンプトを変更できるページが表示されます。
-
オーケストレーションタイプに基づいてプロンプトを変更します。
-
エージェントアシスタンスオーケストレーションプロンプトの場合:
オーケストレーションプロンプトで番号付きルールセクションを見つけます。このセクションでは、次のような行から始めます。
Your goal is to resolve the customer's issue while also being responsive. While responding, follow these important rules:このセクションの最後の番号付きルールとして以下を追加します。
CRITICAL - Multiple Retrieve Tools: When multiple Retrieve-type tools are available ([Retrieve], [Retrieve2]), you MUST invoke ALL of them simultaneously for any search request. Never use only one Retrieve tool when multiple are available-always select and invoke them together to ensure comprehensive results from all knowledge sources. -
セルフサービスオーケストレーションプロンプトの場合:
core_behaviorセクションの位置を確認します。そのセクションに次のルールを追加します。CRITICAL - Multiple Retrieve Tools: When multiple Retrieve-type tools are available ([Retrieve], [Retrieve2]), you MUST invoke ALL of them simultaneously for any search request. Never use only one Retrieve tool when multiple are available—always invoke them together to ensure comprehensive results from all knowledge sources.
注記
角括弧で囲まれたプレースホルダーを実際のツール名に置き換えます。
-
ナレッジベースの選択的クエリ
この設定は、エージェントが質問またはコンテキストのタイプに基づいて適切なナレッジベースを選択する場合に使用します。
ナレッジベースごとのツール手順の設定
並列呼び出しとは異なり、各取得ツールには、使用すべきタイミングを説明する個別の手順が必要です。これにはデフォルトの取得ツールが含まれます。追加の取得ツールと区別するには、その手順を更新する必要があります。各ナレッジベースのコンテンツ (RetrieveProducts、RetrievePolicies など) を反映するわかりやすい名前を使用して、モデルが正しいツールを選択するのに役立ちます。
-
デフォルトを含む各取得ツールについて、関連するナレッジベースの内容と、それを使用するタイミングを記述する具体的な指示を記述します。
-
追加ボタンをクリックして、新しい取得ツールを作成します。これで、ツールリストに新しい取得ツールが追加されました。
これで、2 つ目の取得ツールができました。エージェントがコンテキストに基づいて適切なツールを選択するには、各ツールをいつ使用するかに関する指示でプロンプトを変更する必要があります。
条件付き呼び出しのプロンプトの更新
-
プロンプトを変更して、コンテキストに基づいて適切な取得ツールを選択するように指示します。デフォルトのオーケストレーションプロンプトは直接編集できないため、変更を加えたコピーを作成する必要があります。
ユースケースに一致するデフォルトのオーケストレーションプロンプトをコピーして、新しいプロンプトを作成します。この例では、AgentAssistanceOrchestration プロンプトからコピーします。
-
作成ボタンをクリックすると、プロンプトを変更できるページが表示されます。
-
オーケストレーションタイプに基づいてプロンプトを変更します。
-
エージェントアシスタンスオーケストレーションプロンプトの場合:
オーケストレーションプロンプトで番号付きルールセクションを見つけます。このセクションでは、次のような行から始めます。
Your goal is to resolve the customer's issue while also being responsive. While responding, follow these important rules:このセクションの最後の番号付きルールとして以下を追加します。
CRITICAL - Retrieve Tool Selection: You have multiple Retrieve tools. Each queries a different knowledge base. You MUST select only ONE tool per question based on the topic. - [Retrieve] contains [description]. - [Retrieve2] contains [description]. Evaluate the question, match it to the most relevant tool, and invoke only that tool. -
セルフサービスオーケストレーションプロンプトの場合:
core_behaviorセクションの位置を確認します。そのセクションに次のルールを追加します。CRITICAL - Retrieve Tool Selection: You have multiple Retrieve tools. Each queries a different knowledge base. You MUST select only ONE tool per question based on the topic. - [Retrieve] contains [description]. - [Retrieve2] contains [description]. Evaluate the question, match it to the most relevant tool, and invoke only that tool.
注記
括弧で囲まれたプレースホルダーを実際のツール名、説明、質問例に置き換えます。
正確なツール選択のベストプラクティス
モデルの正しい取得ツールを選択する機能は、ツール名、ツールの説明、ツールの例、プロンプトの指示など、いくつかの要因によって異なります。次のガイドラインに従ってください:
-
わかりやすいツール名を使用する: RetrieveProducts や RetrievePolicies などの名前は、モデルが各ツールの目的を理解するのに役立ちます。
-
具体的に説明してください。「一般的な情報」などのあいまいな説明は避けてください。各ナレッジベースが処理する特定のトピック、ドキュメントタイプ、または質問カテゴリを一覧表示します。
-
質問例を追加する: モデルが意図したユースケースを理解するのに役立つように、ツールの手順にサンプル質問を含めます。
-
重複を避ける: ツール名、説明、および例が相互に排他的であることを確認します。コンテンツが重複すると、モデルの選択に一貫性がなくなる可能性があります。
-
用語をユーザー言語に一致: 内部用語や技術用語だけでなく、ユーザーが通常使用するのと同じ単語やフレーズを使用します。
ユースケースでは、ここに示す例以外のプロンプトの変更が必要になる場合があります。
-
コンテンツセグメンテーション
コンテンツセグメンテーションを使用すると、ナレッジベースのコンテンツにタグを付け、それらのタグに基づいて取得結果をフィルタリングできます。LLM ツールがナレッジベースにクエリを実行すると、タグを指定してタグに一致するコンテンツのみを取得できるため、特定のコンテンツサブセットからのターゲットを絞ったレスポンスが可能になります。
注記
コンテンツセグメンテーションは、ウェブクローラーデータソースタイプでは使用できません。
データソースタイプによるコンテンツのタグ付け
コンテンツのタグ付けプロセスは、データソースタイプによって異なります。
S3、Salesforce、SharePoint、Zendesk、ServiceNow
ナレッジベースを作成したら、セグメンテーションのために個々のコンテンツ項目にタグを適用できます。タグはコンテンツレベルで適用されます。つまり、各コンテンツには個別にタグを付ける必要があります。
コンテンツにタグを付けるには、Amazon Connect TagResource API を使用します。この API を使用すると、ナレッジベースコンテンツにプログラムでタグを追加し、取得時のコンテンツセグメンテーションフィルタリングに使用できます。
コンテンツのタグ付けの例については、コンテンツセグメンテーションワークショップ
取得ツールでのタグの使用
コンテンツにタグが付けられたら、ツールの取得設定でタグフィルターを指定して、取得結果をフィルタリングできます。
-
ツールの取得設定で、入力値の上書きセクションに移動します。
-
キーと値のペアを追加して、タグフィルターを定義します。1 つのタグでフィルタリングするには、2 つのオーバーライドが必要です。この例では、フィルター演算子
equalsとして を使用します。-
プロパティキーを に設定
retrievalConfiguration.filter.equals.keyし、値をタグ名として使用します (例:number)。
-
プロパティキーをタグ
retrievalConfiguration.filter.equals.value値として に設定します (例:one)。
-
で始まる任意のフィルター設定を使用してretrievalConfiguration.filter、タグフィルタリング条件を定義できます。
Bedrock ナレッジベース
Bedrock ナレッジベースデータソースの場合、コンテンツは Amazon Connect リソースとして保存されないため、TagResource API を介したタグ付けは使用できません。代わりに、Bedrock ナレッジベースデータソースでメタデータフィールドを直接定義する必要があります。
S3 データソースについては、「Amazon Bedrock S3 データソースコネクタユーザーガイド」の「ドキュメントメタデータフィールド」セクションを参照してください。
その他のデータソースタイプについては、Amazon Bedrock ドキュメントの「取り込み中のカスタム変換」を参照してください。
取得ツールでのメタデータフィールドの使用
Bedrock ナレッジベースは、すべてのファイルに組み込みメタデータフィールドを自動的に提供します。これらのフィールドを使用して、上記の例に示すのと同じ設定方法を使用して、取得ツールで取得結果をフィルタリングできます。
Bedrock ナレッジベース内の特定のデータソースのみから結果を取得するには、次のようにフィルタオーバーライドを設定します。
-
retrievalConfiguration.filter.equals.key=x-amz-bedrock-kb-data-source-id -
retrievalConfiguration.filter.equals.value=[your-data-source-id]
これにより、取得ツールがフィルタリングされ、その特定のデータソースからのみ結果を取得します。同じオーバーライド設定を使用して、Bedrock データソースで定義したカスタムメタデータフィールドでフィルタリングすることもできます。