概要
QnABot on AWS はマルチチャネル、多言語対応の対話型インターフェイス (chatbot) です。お客様の質問に対応して回答し、フィードバックします。それにより、完全な機能を備えた chatbot を、チャットや音声、SMS、Amazon Alexa を含む複数のチャネル全体にデプロイできます。
利点
インテリジェントなマルチパートインタラクションで、パーソナライズされたチュートリアルや質疑応答サポートを提供します。コマンドラインインターフェイス (CLI) を使用して、QnABot のセットアップから質問をインポートおよびエクスポートすることができます。Amazon Kendra の自然言語処理 (NLP) 機能を使用して、人間の質問をより理解することができます。
カスタマーサポートワークフローを自動化します。
Chatbot の魅力ある人間のようなインタラクションを実現します。インテントとスロットマッチングを使用して、さまざまなタイプの質問と回答のワークフローを実装します。
技術的な詳細情報
このアーキテクチャは、実装ガイドと関連する AWS CloudFormation テンプレートを使用して自動的にデプロイできます。
ステップ 1
この AWS ソリューションを AWS アカウントにデプロイします。Content Designer ユーザーインターフェイス (UI) または Amazon Lex ウェブクライアントを開き、Amazon Cognito を使用して認証します。
ステップ 2
認証が完了すると、Amazon API Gateway と Amazon Simple Storage Service (Amazon S3) が Content Designer UI のコンテンツを配信します。
ステップ 3
Content Designer で質問と回答を設定します。UI は API Gateway にリクエストを送信して、質問と回答を保存します。
ステップ 4
Content Designer の AWS Lambda 関数が Amazon OpenSearch Service の質問バンクインデックスにインプット内容を保存します。テキスト埋め込みを使用する場合、これらのリクエストは Amazon SageMaker でホストされている機械学習 (ML) モデルを通過して、OpenSearch サービス の問題バンクに保存される前に埋め込みを生成します。
ステップ 5
Chatbot ユーザーは、Amazon Lex (ウェブクライアント UI 経由)、もしくは Amazon Connect とやり取りします。
ステップ 6
Amazon Lex は、リクエストをボットフルフィルメント Lambda 関数に転送します。Chatbot ユーザーは、Amazon Alexa デバイスからでも、リクエストをこの Lambda 関数に送信できます。
ステップ 7
ボットフルフィルメント Lambda 関数を使用するには、ユーザーによるインプットが必要です。この関数では、Amazon Comprehend と (必要な場合は) Amazon Translate を使用して英語以外のリクエストを英語に翻訳し、OpenSearch サービス 内で答えを探します。
テキスト生成やテキスト埋め込みなど、一般に基盤モデル(FM)と呼ばれる大規模な言語モデル(LLM)を使用する場合、これらのリクエストは、まずSageMaker 上でホストされている様々なMLモデルを通過します。SageMaker は検索クエリと埋め込みを生成して、OpenSearch サービス の問題バンクに保存されているものと比較します。
ステップ 8
Amazon Kendra インデックスがフォールバック用に設定されている場合、OpenSearch サービス 質問バンクから一致するものが返されなかった場合、ボットフルフィルメント Lambda 関数はリクエストを Amazon Kendra に転送します。テキスト生成 LLM を使用して、検索クエリを作成したり、返されたドキュメントの抜粋からの応答を合成したりできます。
ステップ 9
ユーザーがボットフルフィルメント関数とやり取りすると、ログとメトリクスデータが生成されます。これは Amazon Kinesis Data Firehose に送信された後、その後のデータ分析用に Amazon S3 に送信されます。