View a markdown version of this page

ナレッジベースの取得設定 - Amazon Connect Customer

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

ナレッジベースの取得設定

オーケストレーション AI エージェントを使用する場合、AI エージェントがナレッジベースを検索し、関連情報を返してユーザーの質問に回答できるようにするツールの取得を設定できます。

各取得ツールは、単一のナレッジベースをクエリします。複数の取得ツールを設定することで、AI エージェントは複数のナレッジベースを同時にクエリしたり、ユーザーの質問に基づいて検索するナレッジベースをインテリジェントに選択したりできます。明確に定義されたツールの説明とプロンプトの指示により、モデルは最も関連性の高いナレッジベースにクエリを自動的にルーティングできます。

AI エージェントがコンテンツをクエリする方法は、次の 2 つのレベルで制御できます。

  • ナレッジベースレベル: 複数の取得ツールを設定して、さまざまなナレッジベースをクエリします。コンテンツが複数のナレッジベースに編成されている場合は、このアプローチを使用します。

  • コンテンツレベル: コンテンツセグメンテーションを使用して、単一のナレッジベース内の特定のコンテンツのみをクエリします。

複数のナレッジベースをクエリするようにオーケストレーションエージェントを設定する方法

複数の Retrieve ツールを設定して、さまざまなナレッジベースをクエリできます。ユースケースに応じて、次のいずれかを実行できます。

  • すべてのナレッジベースを同時にクエリする (並列呼び出し)

  • リクエストのコンテキストに基づいて特定のナレッジベースをクエリする (条件付き呼び出し)

複数の取得ツールの設定

どちらの設定も同じ初期設定が必要です。まずこれらのステップを完了してから、特定のユースケースの手順に従います。

  1. AWS コンソールから、統合の追加を選択し、ガイド付きエクスペリエンスに従うことで、ナレッジベースを追加できます。この例では、追加のナレッジベースとして demo-byobkb を追加しました。

    AI エージェントドメインページに複数の統合が表示されます。
  2. AI Agent Designer から新しいオーケストレーション AI エージェントを作成し、デフォルトの取得ツールを編集します。

    AI エージェントビルダーページ。
  3. 既存のナレッジベースを Retrieve Tool に関連付けます。AI エージェントはこのナレッジベースをデフォルトとして使用します

    取得ツールのアシスタントの関連付けを選択します。
  4. 追加のツールを追加し、名前空間として Amazon Connect を選択し、AI ツールのタイプの取得を選択します。

    取得ツールを選択します。
  5. 次に、デフォルトのナレッジベースを超えて関連付ける追加のナレッジベースを選択します。

    取得ツールのアシスタントの関連付けを選択します。
  6. 「Retrieve」で始まる追加の各 Retrieve ツールに名前を付けます (例: Retrieve2、Retrieve3、RetrieveProducts、RetrievePolicies)。

    取得ツールに名前を付けます。
  7. 次に、ツールの手順と例を設定します。設定はユースケースによって異なります。以下のセクションでは、すべてのナレッジベースを同時にクエリし、ナレッジベースを選択的にクエリする 2 つのシナリオについて説明します。

すべてのナレッジベースを同時にクエリする

エージェントがすべてのクエリですべてのナレッジベースを同時に検索する場合は、この設定を使用します。

ツールの手順の設定

  1. デフォルトの取得ツールから手順と例をコピーして、ツールの手順を入力します。

    ツールの手順を取得します。
  2. 追加ボタンを選択して、新しい取得ツールを作成します。これで、ツールリストに新しい取得ツールが追加されました。

    複数の取得ツールを含むツールリスト。

    これで、2 つ目の取得ツールができました。すべての取得ツールを一緒に使用するには、プロンプトを変更して、同時に呼び出す手順を指定する必要があります。この変更を行わないと、1 つの取得ツールのみが使用されます。

並列呼び出しのプロンプトの更新

  1. プロンプトを変更して、複数の 取得ツールを使用するように指示します。デフォルトのオーケストレーションプロンプトは直接編集できないため、変更を加えたコピーを作成する必要があります。

    ユースケースに一致するデフォルトのオーケストレーションプロンプトをコピーして、新しいプロンプトを作成します。この例では、AgentAssistanceOrchestration プロンプトからコピーします。

    新しい AI プロンプト画面の作成。
  2. 作成ボタンを選択すると、プロンプトを変更できるページが表示されます。

  3. オーケストレーションタイプに基づいてプロンプトを変更します。

    • エージェントアシスタンスオーケストレーションプロンプトの場合:

      オーケストレーションプロンプトで番号付きルールセクションを見つけます。このセクションでは、次のような行から始めます。

      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 など) を反映するわかりやすい名前を使用して、モデルが正しいツールを選択するのに役立ちます。

  1. デフォルトを含む各 取得ツールについて、関連するナレッジベースの内容とそれをいつ使用するかを記述する具体的な指示を記述します。

    ツールの手順を取得します。
  2. 追加ボタンを選択して、新しい取得ツールを作成します。これで、ツールリストに新しい取得ツールが追加されました。

    複数の取得ツールを含むツールリスト。

    これで、2 つ目の取得ツールができました。エージェントがコンテキストに基づいて適切なツールを選択するには、各ツールをいつ使用するかに関する指示でプロンプトを変更する必要があります。

条件付き呼び出しのプロンプトの更新

  1. プロンプトを変更して、コンテキストに基づいて適切な取得ツールを選択するように指示します。デフォルトのオーケストレーションプロンプトは直接編集できないため、変更を加えたコピーを作成する必要があります。

    ユースケースに一致するデフォルトのオーケストレーションプロンプトをコピーして、新しいプロンプトを作成します。この例では、AgentAssistanceOrchestration プロンプトからコピーします。

    新しい AI プロンプト画面の作成。
  2. 作成ボタンを選択すると、プロンプトを変更できるページが表示されます。

  3. オーケストレーションタイプに基づいてプロンプトを変更します。

    • エージェントアシスタンスオーケストレーションプロンプトの場合:

      オーケストレーションプロンプトで番号付きルールセクションを見つけます。このセクションでは、次のような行から始めます。

      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. キーと値のペアを追加して、タグフィルターを定義します。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 データソースで定義したカスタムメタデータフィールドでフィルタリングすることもできます。

AI エージェントトレースに引用データを追加する

AI エージェントがナレッジベースを使用して質問に回答する場合、どのナレッジベースコンテンツが参照されたかを示す引用データをキャプチャできます。これには、以下のデータが含まれます。

  • contentId — 参照される特定のコンテンツアイテムの識別子

  • title — 参照されるコンテンツのタイトル (Amazon Connect の概要」など)

  • knowledgeBaseId — 使用されるナレッジベースの識別子

  • knowledgeBaseArn — 使用されるナレッジベースの ARN

このナレッジベースの引用データは、ListSpans API と AI エージェントトレースから入手できます。詳細については、ListSpans」と「AI エージェントトレース」を参照してください。

注記

エージェントアシスタンスを使用している場合、引用データは自動的に含まれ、追加の設定は必要ありません。次の手順は、セルフサービスオーケストレーションプロンプトにのみ適用されます。

セルフサービスプロンプトを更新して引用を含める

  • 引用データを有効にするには、セルフサービスオーケストレーションプロンプトでツールの取得の命令ブロックを更新する必要があります。これにより、必要な形式を使用してレスポンスにソース参照を含めるようにモデルに指示します。

  • デフォルトのセルフサービスオーケストレーションプロンプトのコピーを作成します (デフォルトのプロンプトは直接編集できません)。

  • コピーしたプロンプトで、ツールの取得の命令ブロックを以下に置き換えます。

instruction: instruction: |- Search the knowledge base using semantic search to find relevant information. Use the results of the RETRIEVE tool to provide an informed answer to the customer's query. When summarizing retrieve tool results, you MUST include source citations using the format shown in the good examples below. MUST include a <sources> block with the sourceId values from the Retrieve result inside every <message_part> that uses retrieved content. MUST use the exact sourceId string returned by the Retrieve tool. Do not modify, truncate, or fabricate sourceId values. MUST include source citations for ALL information taken from retrieve results. If a message_part is purely conversational (greetings, clarifying questions, hand-offs) and does not use retrieved content, omit the <sources> block. If retrieve returns no results or empty results, acknowledge that you don't have that specific information available. Do not make assumptions or provide information from general knowledge. examples: - |- Good example - single message part with one source: <message> <message_part> <text>Your warranty covers parts replacement for any manufacturing defects during the first year.</text> <sources> <sourceId>warranty_policy_2024</sourceId> </sources> </message_part> </message> - |- Good example - multiple sources contributing to one answer: <message> <message_part> <text>Our check-in time is 3 PM and checkout is 11 AM. Late checkout is available for an additional fee.</text> <sources> <sourceId>checkin_policy</sourceId> <sourceId>fees_addendum</sourceId> </sources> </message_part> </message> - |- Good example - greeting with no retrieval: <message> <message_part> <text>Hello! How can I help you today?</text> </message_part> </message> - |- Bad example - retrieved content with no sources block (avoid this): <message> <message_part> <text>We offer extended warranty coverage beyond the manufacturer's warranty period.</text> </message_part> </message> - |- Bad example - text outside <message_part> (avoid this): <message> <message_part> <text>Your warranty covers parts replacement.</text> <sources> <sourceId>warranty_policy_2024</sourceId> </sources> </message_part> Let me know if you need anything else. </message> - |- Example for no results: <message> <message_part> <text>I don't have specific information about that topic available.</text> </message_part> </message>
  • プロンプトを保存し、AI エージェントに関連付けます。

音声エージェント

<sources> ブロックはメタデータであり、声に出して話されません。発信者が聞く内容には影響しません。

検証方法

プロンプトを更新したら、テスト連絡先を配置し、以下を確認します。

  • エージェントは質問に正しく回答します。

  • そのセッションの ListSpans API レスポンスを確認します。回答に使用されるナレッジベースは、ListSpans の詳細に引用として表示されます。ListSpans の詳細については、ListSpans API」を参照してください。