Amazon Lex で自由形式の入力を受け付けるスロットタイプ AMAZON.FreeFormInputを使ってみた
はじめに
Amazon LexのスロットタイプAMAZON.FreeFormInput
は、自由形式の入力を受け付けます。
ドキュメントで使用例としても紹介されていますが、「チャット終了後、発信者のフィードバック」や「Lambda でChatGPTのAPIをリクエストし、会話する」などの用途でこのスロットタイプを利用できますね。
今回は、Botの作成方法からAMAZON.FreeFormInput
の設定方法、テストまでをやってみたいと思います。
AMAZON.FreeFormInputについて
ドキュメントでは、AMAZON.FreeFormInput
は、少し他のスロットタイプと異なる点がありました
- 待機と続行機能が利用できない
- 現在Amazon Connect Chatチャンネルでサポートされていません
- AMAZON.FreeFormInputスロットでは、FallbackIntentは誘発されない
ボットの作成
- Lexのコンソール画面から、[ボットの作成]をクリックします。
- [空のボットを作成します]を選択し、ボット名を記載し、下記画像の通りに入力します。
- 日本語を選択し、音声はTakumiを選択し、[完了]をクリックします。
これでボットが作成できました。
インテントの作成
- インテントの[インテントを追加]から[空のインテントを追加]でインテントを作成します。
- インテント名を入力し、サンプル発話に「話したい」を追加します。
- [スロットを追加]から、スロットタイプ[AMAZON.FreeFormInput]を選択します。プロンプトと名前も記載します。
- スロット名を
freeformslots
としました。 - 設定時、以下のポップアップが出ましたが、保存して構いません
- スロット名を
- [応答を閉じる]をアクティブにし、メッセージグループを入力します。
- インテントを保存後、Buildすると、インテントのテストが行えます。
テスト
テストしてみます。
話したい
と入力すると、設定したプロンプトが返ります。
次に、自由形式で入力できますので、適当に入力すると、インテントが閉じます
Lambdaを使用し、入力されたコメントをDBに保存やChatGPTのAPIにリクエストするなど、色々な場面で利用できそうですね。
ぜひ、利用してみてください。