式の作成
ステップで収集された値やセッション変数に保存された値とは独立した値、あるいはそれらから導出された値を指定するために、_式_を記述することができます。 式は、ステップ条件の定義、またはセッション変数の値の定義に使用できます。
ステップ条件での式の使用
会話中に収集した情報に基づいて計算結果をステップの条件とする場合、ステップの条件に式を使用できます。
例えば、ある顧客が普通預金口座に200ドル持っていて、そこから150ドルを新しい当座預金口座に移したいとする。 振り替え手数料は 3 ドルです。また、この銀行は、普通預金口座の残高が 50 ドル未満の場合に手数料がかかります。 この状態を検査するステップ条件を持つステップを作成できます。 このステップ条件では、次のような式が使用されます。
${savings} - (${Step_232} + ${transfer_fee}) < 50
ここで、それぞれ以下のとおりです。
${savings}は、顧客の普通預金口座の合計額を保管するセッション変数を表します。${Step_232}は、振り替える金額を顧客に尋ねるステップを表します。${transfer_fee}は、資金の振り替えの手数料を指定するセッション変数を表します。
ステップ条件が満たされると、そのステップは、要求された送金によって普通預金口座残高が最低 $50 を下回り、手数料が発生することをユーザーに警告し、先に進む前に確認を求めます。
ステップ条件で式を使用するには、以下の手順に従います:
そのステップで、 「条件を追加」 をクリックします。
最も使用される可能性が高い選択肢 (通常は、前のステップで設定された変数) を使用した条件が自動的に生成されます。
生成された条件の最初のセグメントをクリックしてから、スクロールダウンして「式 (Expression)」をクリックします。
(任意): [
展開] アイコンをクリックして、式エディタウィンドウを開きます。 (ウィンドウを開かずにフィールドに直接式を入力することもできるが、エディタを使えば、より長い式やより複雑な式を簡単に編集できる)使用したい式を入力する。
式を使ってセッション変数に値を代入する
セッション変数に値を割り当てる際に、文字列を結合したり数値を計算したりするには、以下の例式を使用できます
文字列の結合 :複数の文字列またはテキスト値を結合するには、式の中で + 記号を使用します。
${session_variable_1} + " some string of text " + ${session_variable_2}
結果として得られる値は、 session_variable_1 の内容に続いて、 " some string of text " 、 session_variable_2 の値となります。
数値計算 :他の変数に基づいて値を計算するには、式を使用します。
例えば、6%の消費税と一律33.00ドルの手数料を含む、購入金額の合計を顧客に伝えたいとします。 合計金額を計算するには、セッション変数を作成し、式を使用して値を割り当てます
(${price} * 1.06) + 3
そして、アシスタントの発言フィールドでこの変数を参照することができます。
セッション変数に値を代入するときに式を使うには、以下の手順に従います:
ステップの中から、Set variable values をクリックする。
新しい値を設定」をクリックする。
ドロップダウン・リストから、値の保管場所となるセッション変数を選択します。
に続いて、Expressionを選択する。
使いたい表現を入力する。
エクスプレッション・エディタを使用している場合は、Applyをクリックして変更を保存し、エディタ・ウィンドウを閉じます。
式を使ってセッション変数に初期値を割り当てることもできる。 セッション変数ウィンドウで、初期値フィールドに移動し、式を使用するをクリックする。
最初に変数を選ばずに直接式を書くこともできる:
ステップの中から、Set variable values をクリックする。
新しい値を設定」をクリックする。
ドロップダウンリストから、Expressionを選択する。
使いたい表現を入力する。
エクスプレッション・エディタを使用している場合は、Applyをクリックして変更を保存し、エディタ・ウィンドウを閉じます。
式の構文
このAIアシスタントの式言語は、Spring Expression Language( SpEL )をベースとしていますが、構文にはいくつかの重要な違いがあります。 SpEL, に関する詳細な背景情報については、 「Spring Expression Language」( SpEL ) を参照してください。
変数 (Variables)
式の中で変数を参照するには、ドル記号($)をタイプし、リストから変数を選択する。 参照は正しい記法で式に挿入され、表示名ではなく変数IDを使って変数を参照する(例えば'${step_773}や'${customer_id})。 別の変数を参照し、その変数IDが確かでない限り、この参照を編集しないでください。
カスタムビルドのクライアントアプリケーションでユーザー定義のアクション変数やセッ ション変数を参照するには、予約キーワード接頭辞「user_defined_」を使用します。 例えば、クライアントが設定した'my_context_varの値を取得するには'${user_defined_my_context_var}使う。
標準的な数式
数値の場合は、式を使用して数学的計算を実行できます。 基本的な演算には、標準的な演算子(+、'-、'*、'/)を使うことができる。
また、メソッドを使って追加の数学的操作を行うこともできる。 詳細については、アクションの式言語メソッドを参照してください。
配列
配列の値を定義するには、値を角括弧で囲み、カンマで区切って入力します(例:'[ "one", "two", "three" ])。
配列内の項目を参照するには、ブラケット記法を使い、配列内の項目のゼロベースのインデックスを指定します。例えば、'${Items}[0]は、配列 'Items の最初の項目を表します。
配列から項目を取り出すには、配列メソッド 'get()を使うこともできる。 詳細については、アクションの式言語メソッドを参照してください。
JSONオブジェクト
JSON記法を使用して、式の中で複合オブジェクトを定義する。 例えば、次の式は、複雑なJSONオブジェクトを変数の値として代入する:
{
"name": {
"firstname": "John",
"lastname": "Doe"
},
"age": 36
}
JSONの中で変数と標準的な数学を使用して、実行時に計算される動的オブジェクトを作成することができます。 例えば、以下の式は、変数を参照し、平均値を計算するJSONオブジェクトを定義している:
{
"temp_1": ${temp_1},
"temp_2": ${temp_2},
"avg_temp": (${temp_1} + ${temp_2}) / 2
}
JSON値に含まれる子オブジェクトを参照するには、ドット記法を使用してオブジェクトへのパスを表現します(たとえば、'${customer}.name.lastname)。
定義されているかもしれないし、定義されていないかもしれないオブジェクトの子を参照する必要がある場合は、安全なナビゲーション演算子(? )を使用します。例えば、'${customer}.name?.lastnameという式は、'customer.nameが 'null場合、'nullと評価されます。 (セーフ・ナビゲーション・オペレーターがないとエラーになる)
メソッド
式言語のメソッドを使用して値を操作する(たとえば、文字列の書式設定や配列への項目の追加など)。 各データ型でサポートされているメソッドの詳細については、 「アクションの式言語メソッド」 を参照してください。