AMAZON.QnAIntent - Amazon Lex

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

AMAZON.QnAIntent

注記

生成 AI 機能を活用するには、最初に以下の前提条件を満たす必要があります。

  1. Amazon Bedrock コンソールに移動してサインアップし、使用する Anthropic Claude モデルにアクセスします (詳細については、「モデルアクセス」を参照してください)。Amazon Bedrock の使用料金については、「Amazon Bedrock の料金」を参照してください。

  2. ボットロケールで生成 AI 機能を有効にします。これを行うには、「生成 AI を使用して Lex V2 ボットの作成とパフォーマンスを最適化する」の手順に従います。

Amazon Bedrock FM を使用して顧客の質問に応答し、FAQ応答を検索して要約します。このインテントが有効になるのは、発話がボット内に存在する他のインテントのいずれにも分類されない場合です。スロット値を引き出す際に発話見逃しがあった場合、このインテントは有効にならないので注意してください。認識された場合、AMAZON.QnAIntent は指定された Amazon Bedrock モデルを使用して設定済みのナレッジベースを検索し、お客様からの質問に回答します。

警告

AMAZON.QnAIntentAMAZON.KendraSearchIntent を同じボットロケールで使用することはできません。

以下のナレッジストアオプションが利用できます。ナレッジストアが作成済みで、その中のドキュメントがインデックス化されている必要があります。

  • OpenSearch サービスドメイン — インデックス付きドキュメントが含まれます。ドメインを作成するには、「Amazon OpenSearch Service ドメインの作成と管理」のステップに従います。

  • Amazon Kendra インデックス – インデックス付きFAQドキュメントが含まれます。Amazon Kendra インデックスを作成するには、「インデックスの作成」の手順に従ってください。

  • Amazon Bedrock ナレッジベース — インデックス化されたデータソースが含まれています。ナレッジベースを設定するには、「ナレッジベースの構築」の手順に従ってください。

このインテントを選択した場合は、以下のフィールドを設定し、[追加] を選択してインテントを追加します。

  • Bedrock モデル — このインテントで使用するプロバイダーと基盤モデルを選択します。現在、Anthropic Claude V2、Anthropic Claude 3 Haiku、Anthropic Claude 3 Haiku、および Anthropic Claude Instant がサポートされています。

  • ナレッジストア — お客様の質問に回答するためにモデルで情報を取得するソースを選択します。以下のステータスがあります。

    • OpenSearch – 次のフィールドを設定します。

      • ドメインエンドポイント — ドメイン用に作成したドメインエンドポイント、またはドメイン作成後に提供されたドメインエンドポイントを指定します。

      • インデックス名 – 検索するインデックスを指定します。詳細については、「Amazon OpenSearch Service でのデータのインデックス作成」を参照してください。

      • お客様に応答を返す方法を選択します。

        • 正確な応答 — このオプションを有効にすると、[回答] フィールドの値がそのままボットの応答に使用されます。設定済みの Amazon Bedrock 基盤モデルを使用して、内容の合成や要約を行わずに、正確な回答内容をそのまま選択します。 OpenSearch データベースで設定された質問と回答フィールドの名前を指定します。

        • フィールドを含める — 指定したフィールドを使用してモデルが生成した回答を返します。 OpenSearch データベースで設定されたフィールドの名前を最大 5 つ指定します。セミコロン (;) を使用してフィールド間を区切ります。

    • Amazon Kendra — 以下のフィールドを設定します。

    • Amazon Bedrock ナレッジベース — このオプションを選択する場合は、ナレッジベースの ID を指定します。ID は、コンソールでナレッジベースの詳細ページを確認するか、GetKnowledgeBaseリクエストを送信することで確認できます。

      • 正確な応答 — このオプションを有効にすると、[回答] フィールドの値がそのままボットの応答に使用されます。設定済みの Amazon Bedrock 基盤モデルを使用して、内容の合成や要約を行わずに、正確な回答内容をそのまま選択します。Amazon Bedrock ナレッジベースに正確なレスポンスを使用するには、以下を実行する必要があります。

        • エンドユーザーに返す必要がある正確なレスポンスを含む回答フィールドを含む各ファイルを使用して、個別のJSONファイルを作成します。

        • Bedrock ナレッジベースでこれらのドキュメントのインデックスを作成するときは、チャンクなし としてチャンク戦略を選択します。

        • Amazon Lex V2 の回答フィールドを Bedrock ナレッジベースの回答フィールドとして定義します。 V2

Q からのレスポンスnAIntent は、次に示すようにリクエスト属性に保存されます。

  • x-amz-lex:qnA-search-response – 質問または発話nAIntent に対する Q からの応答。

  • x-amz-lex:qnA-search-response-source — 応答の生成に使用されたドキュメントまたはドキュメントのリストを指します。

追加のモデル設定

AMAZON.Q nAIntent が呼び出されると、命令とコンテキストをユーザークエリと組み合わせて、レスポンス生成のためにモデルに送信されるプロンプトを作成するデフォルトのプロンプトテンプレートが使用されます。カスタムプロンプトを指定したり、要件に合わせてデフォルトのプロンプトを更新したりすることもできます。

プロンプトテンプレートは、次のツールを使用して設計できます。

プロンプトプレースホルダー – Amazon Bedrock nAIntent の AMAZON.Q で事前定義された変数で、実行時に基盤呼び出し中に動的に入力されます。システムプロンプトでは、これらのプレースホルダーが $記号で囲まれていることを確認できます。次のリストでは、使用できるプレースホルダーについて説明します。

変数 に置き換え モデル 必須?
$query_results$ ナレッジストアからユーザークエリについて取得した結果 Anthropic Claude3 Haiku、Anthropic Claude3 Sonnet あり
$output_instruction$ レスポンスの生成と引用をフォーマットするための基本手順。モデルによって異なります。独自の書式設定手順を定義する場合は、このプレースホルダーを削除することをお勧めします。 Anthropic Claude3 Haiku、Anthropic Claude3 Sonnet なし

使用されているデフォルトのプロンプトは次のとおりです。

$query_results$ Please only follow the instructions in <instruction> tags below. <instruction> Given the conversation history, and <Context>: (1) first, identify the user query intent and classify it as one of the categories: FAQ_QUERY, OTHER_QUERY, GIBBERISH, GREETINGS, AFFIRMATION, CHITCHAT, or MISC; (2) second, if the intent is FAQ_QUERY, predict the most relevant grounding passage(s) by providing the passage id(s) or output CANNOTANSWER; (3) then, generate a concise, to-the-point FAQ-style response ONLY USING the grounding content in <Context>; or output CANNOTANSWER if the user query/request cannot be directly answered with the grounding content. DO NOT mention about the grounding passages such as ids or other meta data; do not create new content not presented in <Context>. Do NOT respond to query that is ill-intented or off-topic; (4) lastly, provide the confidence level of the above prediction as LOW, MID or HIGH. </instruction> $output_instruction$

$output_instruction$ は次のように置き換えられます。

Give your final response in the following form: <answer> <intent>FAQ_QUERY or OTHER_QUERY or GIBBERISH or GREETINGS or AFFIRMATION or CHITCHAT or MISC</intent> <text>a concise FAQ-style response or CANNOTANSWER</text> <passage_id>passage_id or CANNOTANSWER</passage_id> <confidence>LOW or MID or HIGH</confidence> </answer>
注記

デフォルトの手順を使用しない場合、 LLM が提供する出力はすべてそのままエンドユーザーに返されます。

出力手順には、応答とソース属性を提供するために を返LLMすには passageIds 、<text></text> および <passageId></passageId> タグと の手順を含める必要があります。

セッション属性による Amazon Bedrock ナレッジベースのメタデータフィルタリングのサポート

Amazon Bedrock ナレッジベースのメタデータフィルターは、セッション属性 の一部として渡すことができますx-amz-lex:bkb-retrieval-filter

{"sessionAttributes":{"x-amz-lex:bkb-retrieval-filter":"{\"equals\":{\"key\":\"insurancetype\",\"value\":\"farmers\"}}
注記

このフィルターを使用するには、Q のデータストアとして Amazon Bedrock ナレッジベースnAIntent を使用する必要があります。詳細については、「」を参照してくださいMetadata filtering

推論設定

セッション属性LLMを使用して を呼び出すときに使用する推論設定を定義できます。

  • temperature: タイプ整数

  • topP

  • maxTokens

例:

{"sessionAttributes":{"x-amz-lex:llm-text-inference-config":"{\"temperature\":0,\"topP\":1,\"maxTokens\":200}"}}

Bedrock ガードレールは、ビルド時間とセッション属性を通じてサポートします。

  • ビルド時に コンソールを使用する – GuardrailsIdentifier と を指定します GuardrailsVersion。詳細については、「モデルの追加設定」セクションを参照してください。

  • セッション属性の使用 – セッション属性 x-amz-lex:bedrock-guardrails-identifierおよび を使用して Guardrails 設定を定義することもできますx-amz-lex:bedrock-guardrails-version

Bedrock ガードレールの使用の詳細については、「ガードレール」を参照してください。