概要
QnABot on AWS は、生成人工知能 (AI) 対応のマルチチャネル、多言語対応の対話型インターフェイス (チャットボット) です。お客様の質問に応答して回答し、フィードバックを提供します。これにより、フル機能のチャットボットを、チャット、音声、SMS、Amazon Alexa を含む複数のチャネルにわたってデプロイできます。
利点
インテリジェントなマルチパートインタラクションで、パーソナライズされたチュートリアルや質疑応答サポートを提供します。QnABot 設定から質問を簡単にインポートおよびエクスポートできます。
Amazon Kendra の自然言語処理 (NLP) 機能を使用して、人間の質問をより良く理解できます。高性能な基盤モデルを提供するマネージドサービスである Amazon Bedrock を利用して、会話型アプリケーションを構築しましょう。
カスタマーサポートワークフローを自動化します。コスト削減を実現し、カスタマーサービスを改善して、顧客が正確な回答とサポートを迅速に得られるようにしましょう。
インテントとスロットのマッチングを利用して、さまざまな質疑応答ワークフローを実現します。大規模言語モデル (LLM) と検索拡張生成 (RAG) を通じて、自然言語理解、コンテキスト管理、マルチターンダイアログを活用します。
技術的な詳細情報
このアーキテクチャは、実装ガイドと適切な AWS CloudFormation テンプレートを使用して自動的にデプロイできます。VPC を使用してデプロイする場合は、まず 2 つのアベイラビリティーゾーンにまたがる 2 つのプライベートサブネットと 2 つのパブリックサブネットを持つ VPC をデプロイしてから、QnABot VPC AWS CloudFormation テンプレートを使用します。それ以外の場合は、QnABot Main AWS CloudFormation テンプレートを使用します。
ステップ 1
管理者はソリューションを AWS アカウント内にデプロイし、コンテンツデザイナーユーザーインターフェイス (UI) または Amazon Lex ウェブクライアントを開いた後、Amazon Cognito を利用して認証します。
ステップ 2
認証が完了すると、Amazon API Gateway と Amazon Simple Storage Service (Amazon S3) がコンテンツデザイナー UI のコンテンツを配信します。
ステップ 3
管理者がコンテンツデザイナーで質問と回答を設定すると、UI は API Gateway に質問と回答を保存するようリクエストを送信します。
ステップ 4
コンテンツデザイナーの AWS Lambda 関数が Amazon OpenSearch Service の質問バンクインデックスに入力を保存します。テキスト埋め込みを使用する場合、これらのリクエストは Amazon SageMaker または Amazon Bedrock でホストされている LLM を通過して、OpenSearch の問題バンクに保存される前に埋め込みを生成します。
ステップ 5
Chatbot ユーザーは、Amazon Lex (ウェブクライアント UI を通じて)、Amazon Alexa、または Amazon Connect とインタラクションします。
ステップ 6
Amazon Lex は、リクエストをボットフルフィルメント Lambda 関数に転送します。また、ユーザーは、Amazon Alexa デバイスを使用して、リクエストをこの Lambda 関数に送信することもできます。
ステップ 7
ユーザーとチャットの情報は、以前の質疑応答のコンテキストからのフォローアップの質問を明確にするために、Amazon DynamoDB に保存されます。
ステップ 8
ボットフルフィルメント Lambda 関数は、ユーザーの入力を受け取り、Amazon Comprehend と Amazon Translate (必要な場合) を利用して、非ネイティブ言語のリクエストを、デプロイ中に選択されたネイティブ言語に翻訳し、OpenSearch Service で回答を検索します。
テキスト生成やテキスト埋め込みなどの LLM の機能を使用する場合、これらのリクエストはまず、SageMaker または Amazon Bedrock でホストされているさまざまな LLM を通過して検索クエリと埋め込みを生成し、OpenSearch の質問バンクに保存されているものと比較します。
ステップ 9
OpenSearch の質問バンクから一致が返されない場合、ボットフルフィルメント Lambda 関数は、次のようにリクエストを転送します:
ステップ 9A
Amazon Kendra インデックスがフォールバック用に設定されており、OpenSearch 質問バンクから一致するものが返されなかった場合、ボットフルフィルメント Lambda 関数はリクエストを Amazon Kendra に転送します。オプションでテキスト生成 LLM を使用して、検索クエリを作成したり、返されたドキュメントの抜粋からの応答を合成したりできます。
ステップ 9B
Knowledge Base for Amazon Bedrock ID が設定されている場合、ボットフルフィルメント Lambda 関数は、Knowledge Base for Amazon Bedrock にリクエストを転送します。ボットフルフィルメント Lambda 関数は、RetrieveAndGenerate API Gateway API を活用して、ユーザークエリに関連する結果を取得し、基盤モデルのプロンプトを拡張して、応答を返します。
ステップ 10
ユーザーがボットフルフィルメント Lambda 関数とインタラクションすると、ログとメトリクスデータが生成されます。これは Amazon Data Firehose に送信された後、その後のデータ分析のために Amazon S3 に送信されます。
ステップ 11
OpenSearch Dashboards を利用すると、使用履歴、ログ記録された発話、結果がない発話、肯定的なユーザーフィードバック、否定的なユーザーフィードバックを表示できます。また、カスタムレポートを作成する機能も提供されます。