Amazon Lex V2 と Amazon Kendra のサンプルプロジェクト(simple-lex-kendra-jp)をやってみた③

記事タイトルとURLをコピーする

こんにちは。アプリケーションサービス部の居石です。
AWSがaws-samplesに公開している『simple-lex-kendra-jp』をやってみたので紹介したいと思います。 このブログではAmazon Lex V2のデプロイと環境削除を行います。
セットアップがまだの方はAmazon Lex V2 と Amazon Kendra のサンプルプロジェクト(simple-lex-kendra-jp)をやってみた①をご覧ください。
Amazon Kendraのデプロイがまだの方はAmazon Lex V2 と Amazon Kendra のサンプルプロジェクト(simple-lex-kendra-jp)をやってみた②をご覧ください。

手順

Amazon Lex V2 プロジェクトのデプロイ

※ルートディレクトリ /simple-lex-kendra-jpで実行してください。

デプロイ

以下のコマンドを実行しデプロイします。

npm exec -w cdk -- cdk deploy SimpleLexV2Stack

セキュリティに影響する可能性のある変更を行ってよいか聞かれるので、yを入力します。

Do you wish to deploy these changes (y/n)? y

以下のような出力であれば成功です。Outputsの SimpleLexV2Stack.LexV2SampleFrontend のURLを手元にメモしてください。(デプロイ完了まで時間がかかります。)

SimpleLexV2Stack.BotAliasId = ...
SimpleLexV2Stack.BotId = ...
SimpleLexV2Stack.BotVersionNumber = ...
SimpleLexV2Stack.IdentityPoolId = ...
SimpleLexV2Stack.LexV2SampleFrontend = ...

Chatbot の実行

Outputsの SimpleLexV2Stack.LexV2SampleFrontend のURLにアクセスします。
右下のヘッドセットのアイコンをクリックし、 Chatbot を開始します。
「貸与された PC を交換する」フローが/cdk/lib/simple-lexv2-stack.tsにて Amazon Lex V2に定義されています。
「貸与された PC を交換する」のChatbot の実行したいと思います。試しに「PC交換」と発話してください。やりとりを行い、最終的に「申請が完了しました」となれば成功です。

連携した Amazon Kendra の実行

Amazon Lex V2で定義したフローから外れた予想外の発話に対しては、Amazon Kendra による社内ドキュメント検索を行います。
試しに「パスワードを更新する方法」と発話すると、Amazon Lex V2では定義されていない発話なので、Amazon Kendra からの答えが表示されます。

環境の削除

環境の削除を行います。

npm exec -w cdk -- cdk destroy SimpleKendraStack

SimpleLexV2StackとSimpleKendraStackを削除してよいか聞かれるのでyと入力します。

Including depending stacks: SimpleLexV2Stack
Are you sure you want to delete: SimpleLexV2Stack, SimpleKendraStack (y/n)? y

※S3バケット削除時に書き込みが入り、削除に失敗する場合があります。その場合は、CloudFormationにて対象のS3バケットを削除対象から外してStackを削除し、S3バケットは別途手動で削除してください。

さいごに

サンプルプロジェクト(simple-lex-kendra-jp)を使って、Amazon Lex V2 と Amazon Kendraを連携させた日本語対応Chatbotを作ることができました。
Amazon Kendraは構築した直後から料金が発生しますのでご注意ください。「Developer Edition」における利用料金は1.125 USD/時間(2023/10/03現在)です。