Scrittura di espressioni

È possibile scrivere espressioni per specificare valori indipendenti o derivati da valori raccolti in fasi o memorizzati in variabili di sessione. È possibile utilizzare un'espressione per definire una condizione di fase o per definire il valore di una variabile di sessione.

Utilizzo di un'espressione in una condizione di fase

È possibile utilizzare un'espressione in una condizione di fase se si desidera condizionare una fase sul risultato di un calcolo in base alle informazioni raccolte durante la conversazione.

Si supponga, ad esempio, che un cliente abbia $200 in un conto di risparmio e desideri trasferire $150 da esso a un nuovo conto corrente. La commissione di trasferimento fondi è di $3 e la banca addebita una commissione quando un conto di risparmio contiene meno di $50. È possibile creare una fase con una condizione di fase che controlli questa situazione. La condizione del passo utilizza un'espressione simile alla seguente:

${savings} - (${Step_232} + ${transfer_fee}) < 50

dove:

  • ${savings} rappresenta una variabile di sessione che memorizza il totale del conto di risparmio del cliente.
  • ${Step_232} rappresenta il passo che richiede l'importo che il cliente desidera trasferire.
  • ${transfer_fee} rappresenta una variabile di sessione che specifica il compenso per un trasferimento di fondi.

Se la condizione del passo è soddisfatta, il passo avvisa l'utente che il trasferimento richiesto porterà il saldo del conto di risparmio al di sotto del minimo di $50 e richiederà una commissione e di confermare prima di procedere.

Per utilizzare un'espressione in una condizione di fase, seguire queste istruzioni:

  1. Dal passo, fare clic su Aggiungi condizione.

    Una condizione viene generata automaticamente con la scelta più probabile, che in genere è qualsiasi variabile impostata nel passo precedente.

  2. Fare clic su primo segmento della condizione creata, quindi scorrere verso il basso e fare clic su Espressione.

  3. Facoltativo: fare clic sull'icona Espandi Espandi per aprire la finestra dell'editor delle espressioni. È anche possibile digitare l'espressione direttamente nel campo senza aprire la finestra, ma l'editor rende più semplice modificare un'espressione più lunga o più complessa.

  4. Digita l'espressione che desideri utilizzare.

Utilizzo di un'espressione per assegnare un valore a una variabile di sessione

È possibile utilizzare un'espressione quando si assegna un valore a una variabile di sessione se si desidera che il valore della variabile venga calcolato in base ad altre variabili.

Ad esempio, si supponga di voler comunicare al proprio cliente il costo totale di un acquisto, inclusa una tassa di vendita del 6% e una tassa di elaborazione fissa di $3.00. Per calcolare il costo totale, è possibile creare una variabile di sessione e assegnare il valore utilizzando un'espressione:

(${price} * 1.06) + 3

È possibile fare riferimento a questa variabile nel campo Assistente.

Per utilizzare un'espressione quando si assegna un valore a una variabile di sessione, attenersi alla seguente procedura:

  1. Da una fase, fare clic su Imposta valori di variabile.

  2. Clic Imposta un nuovo valore.

  3. Dall'elenco a discesa, selezionare la variabile di sessione in cui si desidera memorizzare il valore.

  4. Dopo in, selezionare Espressione.

  5. Immettere l'espressione che si desidera utilizzare.

  6. Se si utilizza l'editor delle espressioni, fare clic su Applica per salvare le modifiche e chiudere la finestra dell'editor.

È anche possibile utilizzare un'espressione per assegnare un valore iniziale a una variabile di sessione. Nella finestra Variabile sessione, andare al campo Valore iniziale e fare clic su Utilizza espressione.

È anche possibile scrivere un'espressione direttamente senza prima selezionare una variabile:

  1. Da una fase, fare clic su Imposta valori di variabile.

  2. Clic Imposta un nuovo valore.

  3. Dall'elenco a discesa, selezionare Espressione.

  4. Immettere l'espressione che si desidera utilizzare.

  5. Se si utilizza l'editor delle espressioni, fare clic su Applica per salvare le modifiche e chiudere la finestra dell'editor.

Sintassi dell'espressione

Il linguaggio dell'espressione watsonx Assistant si basa su Spring Expression Language (SpEL), ma con importanti differenze di sintassi. Per informazioni di base dettagliate suSpEL, Vedere Linguaggio delle espressioni primaverili(SpEL).

Variabili

Per fare riferimento a una variabile in un'espressione, immettere un simbolo del dollaro ($) e selezionare una variabile dall'elenco. Il riferimento viene inserito nell'espressione nella notazione corretta, facendo riferimento alla variabile utilizzando il suo ID variabile piuttosto che il suo nome di visualizzazione (ad esempio, ${step_773} o ${customer_id}). Non modificare questo riferimento a meno che non si desideri fare riferimento a una variabile differente e si è sicuri del relativo ID variabile.

Per fare riferimento all'azione definita dall'utente o alle variabili di sessione in un'applicazione client personalizzata, utilizzare il prefisso della parola chiave riservata user_defined_. Ad esempio, usa ${user_defined_my_context_var} per ottenere il valore di my_context_var impostato dal tuo cliente. Per ulteriori informazioni sul client personalizzato, vedere cliente personalizzato.

Matematica standard

Per i valori numerici, è possibile utilizzare le espressioni per eseguire calcoli matematici. Per l'aritmetica di base, è possibile utilizzare gli operatori standard (+, -, *, /).

È anche possibile utilizzare metodi per eseguire ulteriori operazioni matematiche. Per ulteriori informazioni, consultare Metodi del linguaggio delle espressioni per le azioni.

Array

Per definire un valore di array, immettere il valore utilizzando le parentesi quadre, con virgole che separano gli elementi (ad esempio, [ "one", "two", "three" ]).

Per fare riferimento a un elemento in un array, utilizzare la notazione tra parentesi e specificare l'indice basato su zero dell'elemento nell'array. Ad esempio ${Items}[0] rappresenta il primo elemento nell'array Items.

È anche possibile utilizzare il metodo array get() per recuperare un elemento da un array. Per ulteriori informazioni, consultare Metodi del linguaggio delle espressioni per le azioni.

Oggetti JSON

Utilizzare la notazione JSON per definire gli oggetti composti nelle espressioni. Ad esempio, la seguente espressione assegna un oggetto JSON complesso come valore per una variabile:

{
  "name": {
    "firstname": "John",
    "lastname": "Doe"
  },
  "age": 36
}

È possibile utilizzare le variabili e la matematica standard in JSON per creare oggetti dinamici calcolati in fase di runtime. Ad esempio, la seguente espressione definisce un oggetto JSON che fa riferimento a variabili e calcola un valore medio:

{
  "temp_1": ${temp_1},
  "temp_2": ${temp_2},
  "avg_temp": (${temp_1} + ${temp_2}) / 2
}

Per fare riferimento a un oggetto child contenuto nel valore JSON, utilizzare la notazione punto per esprimere il percorso dell'oggetto (ad esempio, ${customer}.name.lastname).

Se è necessario fare riferimento a un elemento secondario di un oggetto che potrebbe o non potrebbe essere definito, utilizzare l'operatore di navigazione sicuro (?). Ad esempio, l'espressione ${customer}.name?.lastname assume il valore null se customer.name è null. (Senza l'operatore di navigazione sicuro, si verificherebbe un errore.)

Metodi

Utilizzare i metodi del linguaggio dell'espressione per manipolare i valori (ad esempio, la formattazione di una stringa o l'accodamento di un elemento a un array). Per ulteriori informazioni sui metodi supportati per ciascun tipo di dati, consultare Metodi del linguaggio delle espressioni per le azioni.