ロジックノードは、主にビジネスユーザーがコンテキスト変数を使用し、複雑な移行条件を定義するために、開発者にとってよりシンプルなエクスペリエンスを提供します。主な機能は以下の2つです。
- コンテキストオブジェクト内の変数や変数の値を管理する機能。
- ネスト化した移行条件を定義する機能。
ダイアログタスクにロジックノードを追加する
- ロジックノードを追加したいダイアログタスクを開きます。
- 追加したいノードの隣にカーソルを合わせ、[+ ]アイコンをクリックします。
- ロジックオプションに移動し、利用可能なリストから既存のロジックノードを選択するか、新しいロジックノードを作成します。
- コンポーネントプロパティのパネルが開きます。
コンポーネントのプロパティを定義する
- 名前や説明のような一般的なコンポーネントプロパティを変更します。
- コンテキスト変数の管理セクションを使用して、キーと値のペアを入力してコンテキスト変数を設定します。キーフィールドには、たとえば『context.BotUserSession.<variable_name>』のように、変数のフルパスを使用します。
- 変数名前空間]セクション(ver8.0で導入)で、このノードとその遷移の実行に使用される変数名前空間を関連付けます。このオプションは、ボットで変数名前空間が有効になっている場合にのみ表示されます。タスクレベルの設定を使用するか、このノード用にカスタマイズできます。詳細については、「名前空間の管理」を参照してください。
インスタンスプロパティの設定
インスタンス プロパティを使用して、設定するユーザータグを定義します。
注意:インスタントプロパティパネルの設定は現在のダイアログタスク固有のものであり、このエンティティノードを使用する他のダイアログタスクには反映されません。
- エンティティノードのインスタンスプロパティアイコンをクリックします。
- カスタム タグは、ボットの会話のカスタムプロファイルを構築するためのタグを定義しています。詳細についてはこちらを参照してください。
接続プロパティを設定する
ノードの接続ペインから、次に実行するノードを決定することができます。ダイアログタスク内の任意のエンティティやコンテキストオブジェクトの値に基づいて条件文を記述したり、移行にインテントを使用することができます。
コンポーネントの移行を設定するには、以下の手順に従います。
- デフォルト接続の下にある利用可能なノードから選択できます。
- 条件次第のフローを設定するには、IFを追加をクリックします。
- 次のいずれかの基準に基づいて条件式を設定します。
- エンティティ:これらの演算子のいずれかを使用して、ダイアログ内のエンティティノードを特定の値と比較します。存在する、等しい、より大きいか等しい、より小さいか等しい、等しくない、より大きい、より小さい。それぞれのドロップダウンリストを使用して、エンティティ、演算子を選択し、値ボックスに数値を入力します。例:PassengerCount(エンティティ)が5(指定された値)より大きい(演算子)。
- コンテキスト:これらの演算子のいずれかを使用して、ダイアログ内のコンテキストオブジェクトを特定の値と比較します:存在する、等しい、より大きいか等しい、より小さいか等しい、等しくない、より大きい、より小さい。例:コンテキスト、エンティティ、PassengerCount(コンテキストオブジェクト)は5(指定された値)より大きい(演算子)
- インテント:次のユーザー発言と一致するインテントを選択します。
- Then go toのドロップダウンリストから、条件式が成功した場合にダイアログフローで実行する次のノードを選択します。たとえば、PassengerCount(エンティティ)が5(指定された値)よりも大きい(演算子)場合、Offers(サブダイアログ)に進みます。
- Elseのドロップダウンリストから、条件式が失敗した場合に実行するノードを選択します。
注意:複数のIf条件を書きたい場合は、最後のIf条件式の下にあるElse Ifを追加をクリックしてください。