New Watson Assistant Build 編の 2 回目です。
前回「直感的に操作できる Action で対話フローを作成してみる」では、
- ピザの注文・アクションの作成
- Preview 機能を使ったアクションの動作確認 (変数値確認モードを使用)
を実際の操作手順を交えながら紹介しました。
今回の記事では、
- 割引条件アクションと注文キャンセル・アクションの作成
を実際の操作手順を交えながら紹介します。
各アクションとその処理内容
今回は、割引条件アクションと注文キャンセル・アクションに関する対話フローを作成します。
特に注文キャンセル・アクションでは、ピザの注文アクションで注文した内容を使用します。
特定のアクション内で得た値は自動的に変数値として保存されますが、その特定のアクションが実行されている間だけ有効な一時的な保存なので、他のアクションで使用したい場合は、セッション変数として保存する必要があります。
セッション変数の作成方法と使い方は、Actions を使いこなす上で重要な概念ですので、この記事でしっかりと理解していただければと思います。
これまでの記事
第 1 回目 New Watson Assistantがやってきた!
第 2 回目 Watson Assistantのインスタンスを立てる
第 3 回目 直感的に操作できる Action で対話フローを作成してみる
対話フローの作成 (第 3 回目からの続き)
ピザの注文には欠かせない、「割引条件」と「注文のキャンセル」を扱うアクションを作成します。
割引条件・アクション
新しいアクションを作成します。
上記画面までの操作を忘れた方はこちらを参照してください。
ユーザーへの返信を入力します。
このアクションはこれで終了なので、[End the action]を設定します。
右上の[保存アイコン]と[x]をクリックして、アクション作成画面に戻ります。
注文キャンセル・アクション
注文キャンセル・アクションでは、ピザの注文アクションで注文した内容を使用します。
ピザの注文アクション内で得た値は自動的に変数値として保存されますが、そのアクションが実行されている間だけの一時的な保存なので、注文キャンセル・アクションで使用したい場合は、ピザの注文アクション内でセッション変数として保存しておく必要があります。
セッション変数として保存するために必要な設定は2つです。
- セッション変数を定義する
- アクション内で得た値をセッション変数にセット
セッション変数を定義する
ピザの種類を保存する、セッション変数 pizza を作成します。
同様に、ピザのサイズを保存する、セッション変数 size を作成します。
同様に、配達時間を保存する、セッション変数 time を作成します。
ピザの注文アクション内で得た値をセッション変数にセットする
ピザの注文内容を保存するセッション変数の準備ができたので、注文内容をセッション変数にセットするための設定を行います。
ピザの種類は、ステップ 1 の聞き返しで入手しています。
設定画面に表示されているステップ 1 での聞返文を選択することで、ピザの種類を pizza 変数にセットできます。
次はピザのサイズをセッション変数 size にセットします。
注文キャンセル・アクションの作成
ピザの注文内容を保存しているセッション変数を使用して、注文キャンセル・アクションを作成します。
ステップ1: キャンセル内容の確認
セッション変数 pizza の値を挿入します。
このように表示されていれば OK。
セッション変数 size の値を挿入します。
このように表示されていれば OK。
注文内容がキャンセルするか、キャンセルしない、かの選択肢を表示します。
ステップ2: キャンセルの実行
同様に、size と time にも null をセットする。
このように表示されていれば OK。
ステップ3: キャンセルしないの実行
作成した対話フローのテスト
ピザの注文内容がセッション変数の保存される様子を確認
"直感的に操作できる Action で対話フローを作成してみる"のテスト 1 を実行してください。
前回でも確認しましたが、ユーザーの選択した内容が内部変数の値として保存されています。
今回、追加定義した内容により、セッション変数に内部変数の値がセットされました。
注文のキャンセル・アクションでセッション変数が使用できていることを確認
セッション変数の値を使用して注文内容を表示している様子がわかります。
注文のキャンセルでセッション変数がクリアされた様子がわかります。
いかがでしたでしょうか?
今回は、セッション変数を使用し、アクション間で情報を共有するスマートな対話フローを作成する手順を確認しました。
参考情報
公式オンラインマニュアル: セッション変数の使い方
当記事をリンクしている Advent Callendar 2022