IBM Cloud Docs
Creazione di un dialogo

Creazione di un dialogo

Il dialogo definisce ciò che dice il tuo assistente in risposta ai clienti.

I seguenti nodi vengono creati automaticamente:

  • Benvenuto: il primo nodo. Contiene un messaggio iniziale che viene visualizzato agli utenti la prima volta che si collegano al tuo assistente. Puoi modificare il messaggio iniziale.

    Questo nodo non viene attivato nei flussi di dialogo avviati dagli utenti. Ad esempio, i dialoghi utilizzati nelle integrazioni con canali come Facebook o Slack ignorano i nodi con la condizione speciale welcome.

  • Altro: il nodo finale. Contiene frasi che vengono utilizzate per rispondere agli utenti quando il loro input non viene riconosciuto. Puoi sostituire le risposte fornite o aggiungere altre risposte con un significato simile per aggiungere varietà alla conversazione. Inoltre, puoi scegliere che il tuo assistente restituisca ogni risposta definita a turno o in ordine casuale.

Per ulteriori informazioni su questi nodi integrati, vedi Avvio e chiusura del dialogo.

  1. Per aggiungere altri nodi alla struttura ad albero di dialogo, fai clic su Add node.

    Il tuo nuovo nodo viene aggiunto dopo il nodo Welcome e prima del nodo Anything else.

  2. Aggiungi un nome al nodo.

    Utilizza una descrizione breve e adatta per il cliente della funzione svolta dal nodo come suo nome. Ad esempio, Open an account, Get policy information oppure Get a weather forecast.

    Il nome può essere lungo massimo 512 caratteri.

    Questo nome nodo viene mostrato ai clienti o al personale del service desk per esprimere lo scopo di questo ramo del dialogo, quindi prenditi del tempo per aggiungere un nome che sia conciso e descrittivo.

  3. Nel campo If assistant recognizes, immetti una condizione che, quando soddisfatta, attivi il tuo assistente per elaborare il nodo.

    Per iniziare, di solito vuoi aggiungere un intento come condizione. Ad esempio, se aggiungi #open_account qui, significa che vuoi che la risposta che specificherai in questo nodo venga restituita all'utente se l'input utente indica che l'utente vuole aprire un conto.

    Quando inizi a definire una condizione, viene visualizzata una casella che mostra le tue opzione. Puoi immettere uno dei seguenti caratteri e quindi scegliere un valore dall'elenco di opzioni che viene visualizzato.

    Sintassi builder di condizioni
    Carattere Elenca i valori definiti per questi tipo di risorsa
    # intenti
    @ entities
    @{entity-name}: valori {entity-name}
    $ variabili di contesto che hai definito o indicato altrove nel dialogo

    Puoi creare un nuovo intento, entità, valore di entità o variabile di contesto definendo una nuova condizione che lo utilizzi. Se crei una risorsa in questo modo, assicurati di tornare indietro e di completare tutti gli altri passi necessari affinché la risorsa venga creata in modo completo, ad esempio la definizione delle espressioni di esempio per un intento.

    Per definire un nodo che viene attivato in base a più di una condizione, immetti una condizione e fai quindi clic sull'icona di segno più (+) accanto ad essa. Se vuoi applicare un operatore OR alle condizioni multiple anziché AND, fai clic su and visualizzato tra i campi per cambiare il tipo di operatore. Le operazioni AND vengono eseguite prima delle operazioni OR, ma puoi modificare l'ordine utilizzando le parentesi. Ad esempio: $isMember:true AND ($memberlevel:silver OR $memberlevel:gold)

    La condizione che definisci deve avere una lunghezza massima di 2.048 caratteri.

    Per ulteriori informazioni su come testare i valori nelle condizioni, vedi Condizioni.

  4. Facoltativo: se vuoi raccogliere più informazioni dall'utente in questo nodo, fai clic su Personalizza e abilita Slot. Per ulteriori dettagli, vedi Raccolta di informazioni con gli slot.

  5. Immetti una risposta.

    • Aggiungi il testo o gli elementi multimediali che vuoi che il tuo assistente mostri all'utente come risposta.
    • Se desideri definire risposte diverse in base a determinate condizioni, fai clic su Personalizza e abilita Risposte multiple.
    • Per informazioni sulle risposte condizionali, sulle risposte esaurienti o su come aggiungere varietà alle risposte, vedi Risposte.
  6. Specifica quali operazioni eseguire una volta elaborato il nodo corrente. Puoi scegliere dalle seguenti opzioni:

    • Attendi input utente: il tuo assistente si ferma fino a quando l'utente non fornisce nuovo input.
    • Ignora input utente: il tuo assistente passa direttamente al primo nodo figlio. Questa opzione è disponibile solo se il nodo corrente presenta almeno un nodo figlio.
    • Passa a: il tuo assistente continua il dialogo elaborando il nodo che hai specificato. Puoi scegliere se il tuo assistente deve valutare la condizione del nodo di destinazione oppure deve passare direttamente alla risposta del nodo di destinazione. Per ulteriori dettagli, vedi Configurazione dell'azione Passa a.
  7. Facoltativo: se desideri che questo nodo venga tenuto in considerazione quando agli utenti viene mostrata una serie di scelte di nodi nel runtime e gli viene richiesto di selezionare quello che meglio soddisfa i loro obiettivi, aggiungi una breve descrizione dell'obbiettivo utente gestito da questo nodo nel campo relativo al nome nodo esterno. Ad esempio, Open an account.

    Più Il campo nome nodo esterno viene visualizzato solo per gli utenti dei piani a pagamento. Per ulteriori dettagli, vedi Disambiguazione.

  8. Per aggiungere altri nodi, seleziona un nodo nell'albero, quindi fai clic sull'icona Altro Altro.

    • Per creare un nodo peer che venga controllato successivamente se la condizione per il nodo esistente non viene soddisfatta, seleziona Aggiungi nodo in basso.
    • Per creare un nodo peer che venga controllato prima di verificare la condizione per il nodo esistente, seleziona Aggiungi nodo in alto.
    • Per creare un nodo figlio per il nodo selezionato, seleziona Aggiungi nodo figlio. Un nodo figlio viene elaborato dopo il suo nodo padre.
    • Per copiare il nodo corrente, seleziona Duplica.

    Per ulteriori informazioni sull'ordine in cui vengono elaborati i nodi di dialogo, vedi Panoramica del dialogo.

  9. Verifica il dialogo mentre lo crei.

    Per ulteriori informazioni, vedi Test del dialogo.

Condizioni

Una condizione del nodo determina se il nodo viene utilizzato nella conversazione. Le condizioni di risposta determinano quale risposta restituire a un utente.

Per suggerimenti sull'esecuzione di attività più avanzate nelle condizioni, vedere Suggerimenti per l'uso delle condizioni.

Risorse della condizione

Per definire una condizione, puoi utilizzare una o più delle seguenti risorse in qualsiasi combinazione:

  • Variabile di contesto: il nodo viene utilizzato se l'espressione di variabili di contesto da te specificata è true. Utilizza la sintassi $variable_name:value o $variable_name == 'value'.

    Per le condizioni dei nodi, questo tipo di artefatto viene tipicamente usato con un operatore AND o OR e un altro valore di condizione. Ciò è dovuto al fatto che un elemento nell'input utente deve attivare il nodo; il valore della variabile di contesto che si sta mettendo in corrispondenza non è sufficiente per attivarlo. Se ad esempio, l'oggetto dell'input utente imposta in qualche modo il valore della variabile di contesto, il nodo viene attivato.

    Non definire una condizione di nodo in base al valore di una variabile di contesto nello stesso nodo di dialogo in cui imposti il valore della variabile di contesto.

    Per le condizioni di risposta, questo tipo di risorsa può essere utilizzato da solo. Puoi modificare la risposta in base a un valore di variabile di contesto specifico. Ad esempio, $city:Boston controlla se la variabile di contesto $city contiene il valore Boston. Se è così, la risposta viene restituita.

    Per ulteriori informazioni sulle variabili di contesto, vedi Variabili di contesto.

  • Entità: il nodo viene utilizzato quando qualsiasi valore o sinonimo dell'entità viene riconosciuto nell'input utente. Utilizza la sintassi @entity_name. Ad esempio, @city controlla se i nomi di città definiti per l'entità @city sono stati rilevati nell'input utente. Se è così, la risposta o il nodo viene elaborato.

    Prendi in considerazione di creare un nodo peer per gestire il caso in cui nessuno dei valori o sinonimi dell'entità venga riconosciuto.

    Per ulteriori informazioni sulle entità, vedi Definizione di entità.

  • Valore entità: il nodo viene utilizzato se il valore dell'entità viene rilevato nell'input utente. Utilizza la sintassi @entity_name:value e specifica un valore definito per l'entità, non un sinonimo. Ad esempio: @city:Boston controlla se il nome di città indicato, Boston, è stato rilevato nell'input utente.

    Se controlli la presenza dell'entità, senza specificarne un particolare valore, in un nodo peer, assicurati di posizionare questo nodo (che controlla la presenza di un particolare valore dell'entità) prima del nodo peer che controlla solo la presenza dell'entità. In caso contrario, questo nodo non verrà mai valutato.

    Se l'entità è un'entità modello con gruppi di acquisizione, puoi controllare la presenza di una determinata corrispondenza del valore del gruppo. Ad esempio puoi utilizzare la sintassi: @us_phone.groups[1] == '617'

    Per ulteriori informazioni, vedi Memorizzazione e riconoscimento dei gruppi di entità modello nell'input.

  • Intento: la condizione più semplice è un singolo intento. Il nodo viene utilizzato se, una volta che l'elaborazione del linguaggio naturale del tuo assistente valuta l'input dell'utente, determina che lo scopo dell'input dell'utente viene associato a un intento predefinito. Utilizza la sintassi #intent_name. Ad esempio, #weather controlla se l'input utente sta chiedendo una previsione meteorologica. Se sì, il nodo con la condizione di intento #weather viene elaborata.

    Per ulteriori informazioni sugli intenti, vedi Definizione di intenti.

  • Condizione speciale: condizioni fornite con il prodotto che puoi utilizzare per eseguire funzioni di dialogo comuni. Vedi la tabella Condizioni speciali nella prossima sezione per i dettagli.

Condizioni speciali

Condizioni speciali
Sintassi delle condizioni Descrizione
anything_else Puoi utilizzare questa condizione alla fine di un dialogo, affinché venga elaborata quando l'input utente non corrisponde a nessun altro nodo di dialogo. Il nodo Altro viene attivato da questa condizione. Se si aggiunge la ricerca all'assistente, è possibile configurare un nodo radice con questa condizione per attivare una ricerca.
conversation_start Come welcome, questa condizione viene valutata come true durante il primo turno di dialogo. A differenza di welcome, è true a prescindere che la richiesta iniziale dall'applicazione contenga o meno l'input utente.
false Questa condizione viene sempre valutata come false. Potresti utilizzarla all'inizio di un ramo in fase di sviluppo, per impedire che venga utilizzato, o come condizione per un nodo che fornisce una funzione comune ed è utilizzato solo come destinazione di un'azione Passa a.
irrelevant Questa condizione viene valutata come true se l'input dell'utente viene considerato irrilevante dal servizio watsonx Assistant.
true Questa condizione viene sempre valutata come true. Puoi utilizzarla alla fine di un elenco di nodi o risposte per recuperare eventuali risposte che non corrispondono a nessuna delle condizioni precedenti.
welcome Questa condizione viene valutata come true durante il primo turno di dialogo (all'inizio della conversazione), solo se la richiesta iniziale dall'applicazione non contiene alcun input utente. Viene valutata come false in tutti i turni di dialogo successivi. Il nodo Benvenuto viene attivato da questa condizione. In genere, un nodo con questa condizione viene utilizzato per salutare l'utente, ad esempio, per visualizzare un messaggio come Welcome to our Pizza ordering app. Questo nodo non viene mai elaborato durante le interazioni che si verificano attraverso canali come Facebook o Slack.

Dettagli della sintassi della condizione

Utilizza una di queste opzioni di sintassi per creare espressioni valide nelle condizioni:

  • Notazioni abbreviate che si riferiscono a intenti, entità e variabili di contesto. Vedi Accesso e valutazione degli oggetti.

  • Spring Expression Language SpEL ), un linguaggio di espressione che supporta l'interrogazione e la manipolazione di un grafo di oggetti in tempo reale. Per ulteriori informazioni, vedere Spring Expression Language(SpEL).

Puoi utilizzare le espressioni regolari per controllare i valori nella condizione. Per trovare una stringa corrispondente, puoi utilizzare ad esempio il metodo String.find. Per ulteriori dettagli, vedi Metodi.

Risposte

La risposta del dialogo definisce come rispondere all'utente.

Puoi rispondere in uno dei seguenti modi:

Risposta di testo semplice

Se vuoi fornire una risposta di testo, immetti semplicemente il testo che vuoi che il tuo assistente mostri all'utente.

Mostra un nodo che mostra una richiesta dell'utente, dove ti trovi e la risposta del dialogo è: non abbiamo negozi fisici! Ma, con una connessione Internet, puoi acquistarci da qualsiasi luogo.{caption="Simple response" caption-side="bottom"}

Per includere un valore di variabile di contesto nella risposta, utilizza la sintassi $variable_name per specificarlo. Per ulteriori informazioni, vedi Variabili di contesto. Ad esempio, se sai che la variabile di contesto $user è impostata sul nome dell'utente corrente prima che un nodo venga elaborato, puoi farvi riferimento nella risposta di testo del nodo in questo modo:

Hello $user

Se il nome dell'utente corrente è Norman, la risposta che viene visualizza a Norman è Hello Norman.

Se si include uno di questi caratteri speciali in una risposta di testo, è necessario evitare che venga aggiunto un backslash ( \ ) davanti ad esso. Se si utilizza l'editor JSON, è necessario utilizzare due barre retroverse per eseguire l'escape (\\). L'escape del carattere impedisce al tuo assistente di interpretarlo erroneamente come uno dei seguenti tipi di risorsa utente:

Caratteri speciali di cui eseguire l'escape nelle risposte
Carattere speciale Risorsa Esempio
$ Variabile di contesto The transaction fee is $2.
@ Entità Send us your feedback at feedback@example.com.
# Intento We are the #1 seller of lobster rolls in Maine.

Le integrazioni integrate supportano i seguenti elementi di sintassi Markdown:

Sintassi Markdown supportata
Formato Sintassi Esempio
Corsivo We're talking about *practice*. We're talking about practice.
Coraggioso There's **no** crying in baseball. There's no crying in baseball.
Collegamento ipertestuale Contact us at [ibm.com](https://www.ibm.com). Contact us at ibm.com.

Se non si codifica un collegamento quando si specifica un numero di telefono in una risposta di testo, non viene convertito in un collegamento telefonico ovunque tranne che in un'integrazione di chat Web a cui si accede da un dispositivo mobile.

Al momento, il riquadro "Try it out" non supporta la sintassi Markdown. A scopo di test, è possibile utilizzare l'assistente Anteprima per vedere come viene resa la sintassi Markdown.

Il riquadro "Prova", l' anteprima dell'assistente e l'integrazione della chat web supportano la sintassi HTML. Le integrazioni Slack e Facebook non lo fanno.

Ulteriori informazioni sulle risposte semplici

Aggiunta di più righe

Se desideri che una singola risposta di testo includa più righe separate da ritorno a capo, segui questi passi:

  1. Aggiungi ogni riga che desideri mostrare all'utente come frase separata nel campo delle varianti di risposta. Ad esempio:

    Varianti di risposta
    Hi.
    How are you today?
  2. Per l'impostazione della variante di risposta, scegli multiline.

    Quando la risposta viene mostrata all'utente, vengono visualizzate entrambe le varianti di risposta, una per riga, come mostrato di seguito:

    Hi.
    How are you today?
    

Aggiunta di varietà

Se i tuoi utenti utilizzano spesso il tuo servizio di conversazione, potrebbero essere stanchi di ascoltare ogni volta gli stessi messaggi iniziali e le stesse risposte. Puoi aggiungere delle variazioni alle tue risposte in modo che la conversazione possa rispondere alla stessa condizione in modi diversi.

In questo esempio, la risposta che il tuo assistente fornisce alle domande relative alle posizioni del negozio differisce da un'interazione all'altra.

Mostra un nodo che mostra una richiesta utente, Dove ti trovi e il dialogo ha tre risposte diverse definite.{caption="Response variations" caption-side="bottom"}

Puoi scegliere di ruotare le variazioni di risposta in sequenza o in ordine casuale. Per impostazione predefinita, le risposte vengono ruotate in sequenza, come se fossero scelte da un elenco ordinato.

Per modificare la sequenza in cui vengono restituite le risposte di testo, completa i seguenti passi:

  1. Aggiungi ciascuna variante della risposta nel rispettivo campo della variante di risposta. Ad esempio:

    Varianti di risposta
    Hello.
    Hi.
    Howdy!
  2. Per l'impostazione della variante di risposta, scegli una delle seguenti impostazioni:

    • sequential: il sistema restituisce la prima variante di risposta la prima volta che il nodo di dialogo viene attivato, la seconda variante di risposta la seconda che viene attivato e così via, nello stesso ordine in cui hai definito le varianti nel nodo.

      I risultati nelle risposte che vengono restituite nel seguente ordine quando viene elaborato il nodo:

      Prima volta:

      Hello.
      

      Seconda volta:

      Hi.
      

      Terza volta:

      Howdy!
      
    • random: il sistema seleziona in modo casuale una stringa di testo dall'elenco di varianti la prima volta che il nodo di dialogo viene attivato e seleziona in modo casuale una variante la volta successiva, ma senza ripetere consecutivamente la stessa stringa di testo.

      Esempio dell'ordine in cui potrebbero essere restituite le risposte quando viene elaborato il nodo:

      Prima volta:

      Howdy!
      

      Seconda volta:

      Hi.
      

      Terza volta:

      Hello.
      

Risposte esaurienti

Puoi restituire risposte con elementi multimediali o interattivi come ad esempio immagini o pulsanti su cui puoi fare clic per semplificare il modello di interazione della tua applicazione e migliorare l'esperienza utente.

Oltre al tipo di risposta predefinito Text, per il quale specifichi il testo da restituire all'utente come una risposta, sono supportati i seguenti tipi di risposta:

  • Connetti a un agente umano: La finestra di dialogo richiama un servizio designato dall'utente, in genere un servizio che gestisce le code di ticket di assistenza per agenti umani, per trasferire la conversazione a una persona. Puoi, facoltativamente, includere un messaggio che riepiloghi il problema dell'utente da fornire all'operatore.
  • Trasferimento canale: il dialogo richiede che la conversazione venga trasferita a un canale differente (ad esempio, dall'integrazione Slack all'integrazione della chat web).
  • Image: incorpora un'immagine nella risposta. Il file immagine di origine deve essere ospitato in un'ubicazione e deve avere un URL che tu possa utilizzare per farvi riferimento. Non può essere un file che viene memorizzato in una directory che non è accessibile pubblicamente.
  • Video: integra un lettore video nella risposta. Il video di origine deve essere ospitato da qualche parte, sia come video riproducibile su un servizio di streaming video supportato, sia come file video con un URL a cui si possa fare riferimento. Non può essere un file che viene memorizzato in una directory che non è accessibile pubblicamente.
  • Audio: integra una clip audio nella risposta. Il file audio di origine deve essere ospitato da qualche parte e deve avere un URL che si possa usare come riferimento. Non può essere un file che viene memorizzato in una directory che non è accessibile pubblicamente.
  • iframe: incorpora il contenuto di un sito Web esterno, ad esempio un modulo o un altro componente interattivo, direttamente all'interno della chat. Il contenuto sorgente deve essere pubblicamente accessibile tramite HTTP e deve poter essere incorporato come elemento HTML iframe.
  • Option: aggiunge un elenco di una o più opzioni. Quando un utente fa clic su una delle opzioni, un valore di input utente associato viene inviato al tuo assistente. Il modo in cui vengono rappresentate le opzioni può differire a seconda del numero di opzioni e del punto in cui si distribuisce la finestra di dialogo.
  • Pause: forza l'applicazione ad attendere un determinato numero di millisecondi prima di continuare l'elaborazione. È possibile scegliere di mostrare un indicatore che indica che l'assistente sta digitando una risposta. Utilizza questo tipo di risposta se devi eseguire un'azione che potrebbe richiedere tempo.
  • Abilità di ricerca: Plus Cerca in una fonte di dati esterna informazioni rilevanti da restituire all'utente. L'origine dati ricercata è una raccolta di dati del servizio Discovery configurata quando si aggiunge la ricerca all'assistente che utilizza questa finestra di dialogo.
  • Definito dall'utente: se si utilizza l'editor JSON per definire la risposta, è possibile creare il tipo di risposta definito dall'utente. Per ulteriori informazioni, vedi Definizione delle risposte utilizzando l'editor JSON.

Diverse integrazioni hanno diverse funzionalità per la visualizzazione di risposte complete. Se desideri definire risposte differenti personalizzate per canali diversi, puoi farlo modificando la risposta utilizzando l'editor JSON. Per ulteriori informazioni, vedi Integrazioni specifiche di destinazione.

Per aggiungere una risposta esauriente, completa questi passi:

  1. Fare clic sul menu a discesa nel campo Assistente risponde per scegliere un tipo di risposta, quindi fornire le informazioni richieste.

    Per ulteriori informazioni, vedi le seguenti sezioni:

  2. Per aggiungere un altro tipo di risposta alla risposta corrente, fare clic su Aggiungi tipo di risposta.

    Potresti voler aggiungere più tipi di risposta a una singola risposta per fornire una risposta più esauriente ad una query utente. Ad esempio, se un utente chiede le posizioni di un negozio, potresti mostrare una mappa e visualizzare un pulsante per ogni posizione su cui l'utente può fare clic per ottenere i dettagli dell'indirizzo. Per creare tale tipo di risposta, puoi utilizzare una combinazione di immagine, opzioni e tipi di risposta di testo. Un altro esempio è costituito dall'utilizzo di un tipo di risposta di testo prima di un tipo di risposta pausa in modo che tu possa avvertire gli utenti prima della sospensione del dialogo.

    Non puoi aggiungere più di 5 tipi di risposta a una singola risposta. Ciò significa che se si definiscono tre risposte condizionate per un nodo di dialogo, ogni risposta condizionata non può avere più di 5 tipi di risposta aggiunti.

    Non puoi aggiungere più di un tipo di risposta Connetti a un agent umano o più di un tipo di risposta Capacità di ricerca a un singolo nodo di dialogo.

    Non aggiungere più di un tipo di risposta di opzione a un singolo nodo di dialogo perché entrambi gli elenchi vengono visualizzati contemporaneamente, ma il cliente può scegliere un'opzione da uno solo di essi.

  3. Se hai aggiunto più di un tipo di risposta, puoi fare clic sulle frecce per lo spostamento verso l'alto o verso il basso per organizzare i tipi di risposta nell'ordine in cui desideri che il tuo assistente li elabori.

Aggiunta di un tipo di risposta Connetti all'agent umano

Se la tua applicazione client è in grado di trasferire una conversazione a una persona, ad esempio un agent di supporto clienti, puoi aggiungere un tipo di risposta Connetti all'agent umano per avviare il trasferimento. Alcune delle integrazioni integrate, come web chat e Intercom, supportano i trasferimenti agli agenti del service desk. Se si utilizza un'applicazione personalizzata, è necessario programmare l'applicazione per riconoscere quando viene attivato questo tipo di risposta.

Se vuoi trarre vantaggio dalla metrica containment per tenere traccia della percentuale di successo del tuo assistente, aggiungi questo tipo di risposta al tuo dialogo o utilizza un metodo alternativo per identificare quando i clienti vengono indirizzati al supporto esterno. Per ulteriori informazioni, vedi Misurazione del contenimento.

Per aggiungere un tipo di risposta Connetti all'agent umano, completare la seguente procedura:

  1. Dal nodo di dialogo in cui vuoi aggiungere il tipo di risposta, fai clic sul menu a discesa nel campo Assistant responds e scegli Connect to human agent.

  2. Facoltativo. Aggiungere un messaggio da condividere con l'agent umano a cui viene trasferita la conversazione nel campo Messaggio all'agent umano.

  3. Aggiungere un messaggio da mostrare al cliente per spiegare che si stanno trasferendo.

    È possibile aggiungere un messaggio per mostrare quando gli agenti sono disponibili e un messaggio per mostrare quando gli agenti sono non disponibili. Ogni messaggio può avere una lunghezza massima di 320 caratteri.

    Solo integrazioni service desk integrate nella chat web: il testo aggiunto ai campi Risposta quando gli agent sono in linea e Risposta quando nessun agent è in linea viene utilizzato per i trasferimenti nella chat web versione 3 e successive. Se non si aggiungono i propri messaggi, viene utilizzato il testo del suggerimento (il testo in grigio visualizzato come messaggi di esempio).

    Se si utilizza questo tipo di risposta in più nodi e si desidera utilizzare lo stesso testo personalizzato ogni volta, ma non si desidera modificare ciascun nodo singolarmente, è possibile modificare il testo predefinito utilizzato dalla chat web. Per modificare i messaggi predefiniti, modificare il file di origine della lingua. Ricercare i valori default_agent_availableMessage e default_agent_unavailableMessage. Per ulteriori informazioni su come modificare il testo della chat web, vedi Lingue.

  4. Facoltativo: se il canale in cui distribuisci l'assistente è integrato con un service desk, puoi aggiungere le informazioni di instradamento iniziali da passare con la richiesta di trasferimento.

    • Selezionare il tipo di integrazione dal campo Instradamento service desk.

    • Aggiungere informazioni di instradamento significative per il service desk che si sta utilizzando.

      Opzioni di instradamento Service desk
      Tipo di service desk Informazioni di instradamento Descrizione
      Salesforce ID pulsante Specificare un ID pulsante valido dalla distribuzione Salesforce.
      Zendesk Dipartimento Specificare un nome reparto valido dal proprio account Zendesk.

Il trasferimento della finestra di dialogo non avviene quando si testano i nodi di dialogo con questo tipo di risposta nel riquadro "Prova" della finestra di dialogo. È necessario accedere a un nodo che utilizza questo tipo di risposta dal pulsante Anteprima dell'assistente per vedere come gli utenti lo sperimenteranno.

Aggiunta di un tipo di risposta Trasferimento canale

Se il tuo assistente utilizza più integrazioni per supportare canali differenti per l'interazione con gli utenti, potrebbero verificarsi alcune situazioni in cui un cliente inizia una conversazione in un canale ma poi deve essere trasferito a un canale differente.

La situazione più comune di questo tipo è il trasferimento di una conversazione all'integrazione della chat web, al fine di sfruttare le funzionalità della chat web come l'integrazione del service desk.

Attualmente, la chat web è l'unica destinazione supportata per un trasferimento di canale.

Solo le seguenti integrazioni possono avviare un trasferimento canale:

  • Slack
  • Messenger Facebook
  • WhatsApp

Altre integrazioni ignorano il tipo di risposta Trasferimento canale.

Per aggiungere un tipo di risposta Trasferimento canale, completa la seguente procedura:

  1. Dal nodo di dialogo in cui vuoi aggiungere il tipo di risposta, fai clic sul menu a discesa nel campo Assistant responds e scegli Channel transfer.

  2. Facoltativo. Nel campo Messaggio prima del collegamento alla chat Web, modificare il messaggio introduttivo da mostrare all'utente (nel canale di origine) prima del link che avvia il trasferimento. Per impostazione predefinita, questo messaggio è OK, click this link for additional help. Chat will continue on a new web page.

  3. Nel campo URL alla chat web, digitare l' URL del sito web in cui è incorporato il widget della chat web.

Nell'integrazione che elabora la risposta di trasferimento del canale, viene visualizzato il messaggio introduttivo, seguito da un link all' URL specificato. L'utente deve quindi fare clic sul link per avviare il trasferimento.

Quando una conversazione viene trasferita da un canale a un altro, la cronologia e il contesto della sessione vengono preservati, in modo che il canale di destinazione possa proseguire la conversazione da dove si è interrotta. Nota che l'output del messaggio che contiene la risposta Trasferimento canale viene elaborato prima dal canale che avvia il trasferimento e poi dal canale di destinazione. Se l'output contiene più risposte (magari utilizzando tipi di risposta differenti), queste verranno elaborate da entrambi i canali (prima e dopo il trasferimento). Se vuoi indirizzare le singole risposte a canali specifici, puoi farlo modificando la risposta utilizzando l'editor JSON. Per ulteriori informazioni, vedi Integrazioni specifiche di destinazione.

Aggiungere un tipo di risposta Immagine

A volte un'immagine vale più di mille parole. Includi immagini nella tua risposta per fare cose come illustrare un concetto, mostrare merce in vendita o forse mostrare una mappa della posizione del tuo negozio.

Per aggiungere un tipo di risposta Immagine, completa la seguente procedura:

  1. Scegliere l'immagine.

  2. Aggiungi l'URL completo al file di immagine ospitato nel campo Image source.

    L'immagine deve avere un formato .jpg, .gif o .png. Il file immagine deve essere memorizzato in una posizione pubblicamente raggiungibile tramite un URL https:.

    Ad esempio: https://www.example.com/assets/common/logo.png.

    Se desideri visualizzare un titolo e una descrizione dell'immagine sopra l'immagine incorporata nella risposta, aggiungili nei campi forniti.

    Per accedere a un'immagine archiviata in IBM Cloud® Object Storage, abilita l'accesso pubblico al singolo oggetto di archiviazione immagini e poi fai riferimento ad esso specificando l'origine dell'immagine con una sintassi simile a questa: https://s3.eu.cloud-object-storage.appdomain.cloud/your-bucket-name/image-name.png.

    Alcuni canali di integrazione ignorano i titoli o le descrizioni.

Aggiunta di un tipo di risposta Video

Includi video nella tua risposta per condividere dimostrazioni how-to, clip promozionali e così via. Nella chat web, una risposta video viene resa come lettore video incorporato.

Per aggiungere un tipo di risposta Video, completare i seguenti passaggi:

  1. Scegliere Video.

  2. Aggiungere l' URL completo del video ospitato nel campo Sorgente video:

    • Per collegarsi direttamente a un file video, specificare l' URL di un file in qualsiasi formato standard, come MPEG o AVI. Nella chat web, il video collegato eseguirà il rendering come lettore video incorporato.

      I video di streaming HLS (.m3u8) e DASH (MPD) non sono supportati.

    • Per collegarsi a un video ospitato su un servizio di hosting video supportato, specificare l' URL del video. Nella chat web, il video collegato eseguirà il rendering utilizzando il lettore incorporabile per il servizio di hosting.

      Specificare l' URL da utilizzare per visualizzare il video nel browser (ad esempio, https://www.youtube.com/watch?v=52bpMKVigGU ). Non è necessario convertire l' URL in una forma incorporabile; la chat web lo farà automaticamente.

      Puoi incorporare i video ospitati sui seguenti servizi:

      • YouTube
      • Facebook
      • Vimeo
      • Twitch
      • Streaming
      • Wistia
      • Vidyard

    Se si desidera visualizzare un titolo e una descrizione del video sopra il video incorporato nella risposta, aggiungerli nei campi forniti.

    Alcuni canali di integrazione ignorano i titoli o le descrizioni.

    Se si desidera ridimensionare il video a una dimensione di visualizzazione specifica, specificare un numero nel campo Altezza di base.

  3. Il tipo di risposta Video è supportato nelle integrazioni di chat web, Facebook, WhatsApp, Slack e SMS.

Aggiungere un tipo di risposta Audio

Includi clip audio nella tua risposta per condividere spoken-word o altro contenuto udibile. Nella chat web, una risposta video viene resa come lettore video incorporato. Nell'integrazione telefonica, una risposta audio viene riprodotta sul telefono.

Per aggiungere un tipo di risposta Audio, completare la seguente procedura:

  1. Scegliere Audio.

  2. Aggiungere l' URL completo del clip audio ospitato nel campo Sorgente audio:

    • Per collegarsi direttamente a un file audio, specificare l' URL di un file in qualsiasi formato standard, come MP3 o WAV. Nella chat web, la clip audio collegata eseguirà il rendering come lettore audio incorporato.

    • Per collegarsi a un clip audio su un servizio di hosting audio supportato, specificare l' URL del clip audio. Nella chat web, il clip audio collegato eseguirà il rendering utilizzando il lettore incorporabile per il servizio di hosting.

      Specificare l' URL da utilizzare per accedere al file audio nel browser (ad esempio, https://soundcloud.com/ibmresearch/fallen-star-amped ). Non è necessario convertire l' URL in una forma incorporabile; la chat web lo farà automaticamente.

      Puoi incorporare l'audio ospitato sui seguenti servizi:

    Se si desidera visualizzare un titolo e una descrizione sopra il lettore audio incorporato nella risposta, aggiungerli nei campi forniti.

    Alcuni canali di integrazione ignorano i titoli o le descrizioni.

    Se si desidera che il loop della clip audio sia indefinito, selezionare Attivo nel campo Loop. Ad esempio, è possibile utilizzare questa opzione per riprodurre musica mentre un utente attende sul telefono. (Per impostazione predefinita, l'audio viene riprodotto solo una volta e si arresta.)

    L'opzione Loop è attualmente supportata solo dall'integrazione telefonica. Questa opzione non ha alcun effetto se si utilizza l'integrazione della chat web o qualsiasi altro canale.

  3. Il tipo di risposta Audio è supportato nelle integrazioni di chat web, Facebook, WhatsApp, Slack, SMS e telefono.

Aggiunta di una risposta iframe

Aggiungere una risposta iframe per integrare il contenuto di un altro sito Web direttamente nella finestra di chat come elemento HTML iframe. Una risposta iframe è utile se si desidera consentire ai clienti di eseguire alcune interazioni con un servizio esterno senza uscire dalla chat. Ad esempio, è possibile utilizzare una risposta iframe per visualizzare i seguenti esempi all'interno della chat web:

Nella chat web, ci sono due modi in cui l'iframe può essere incluso:

  • Come una scheda di anteprima che descrive il contenuto incorporato. I clienti possono fare clic su questa scheda per visualizzare il frame e interagire con il contenuto.

Il tipo di risposta iframe è supportato dalle seguenti integrazioni di canale:

  • Conversazione Web
  • Facebook

Per aggiungere un tipo di risposta iframe, completa la seguente procedura:

  1. Nel campo Assistente, fare clic sull'icona iframe (iframe).

  2. Aggiungere l' URL completo del contenuto esterno nel campo sorgente dell'iframe.

    L' URL deve specificare il contenuto che può essere incorporato in un elemento HTML iframe. Siti differenti hanno restrizioni differenti per l'incorporazione del contenuto e processi differenti per la generazione di URL integrabili. Un elemento incorporabile URL è un elemento che può essere specificato come valore dell'attributo src dell'elemento iframe.

    Ad esempio, per integrare una mappa interattiva che utilizzi Google Maps, è possibile utilizzare l'API di integrazione di Google Maps. Per ulteriori informazioni, vedi Panoramica dell'API di integrazione delle mappe. Altri siti hanno diversi processi per la creazione di contenuto integrabile.

    Per i dettagli tecnici dell'utilizzo di Content-Security-Policy: frame-src che ti fornisce l'autorizzazione ad integrare il contenuto del sito web nel tuo assistente, consulta CSP: frame - src.

  3. Facoltativamente, aggiungere un titolo descrittivo nel campo Titolo.

    Nella chat web, il titolo aggiunto viene visualizzato nella scheda di anteprima. Il cliente fa clic sulla scheda di anteprima per eseguire il rendering del contenuto esterno.

    Se non si specifica un titolo, la web chat tenta di recuperare i metadati dall' URL specificato e visualizza il titolo del contenuto secondo le specifiche dell'origine.

    I riferimenti alle variabili non sono supportati.

Dettagli tecnici: iframe sandboxing

Il contenuto caricato in un iframe dalla chat web è sandboxed, il che significa che limita le autorizzazioni che riducono le vulnerabilità della sicurezza. La chat web utilizza l'attributo sandbox dell'elemento iframe per concedere solo le seguenti autorizzazioni:

Autorizzazione Descrizione
allow-downloads Consente di scaricare i file dalla rete, se il download è iniziato dall'utente.
allow-forms Consente l'inoltro di moduli.
allow-scripts Consente l'esecuzione di script, ma non l'apertura di finestre a comparsa.
allow-same-origin Consente al contenuto di accedere alla propria memoria dati (come i cookie) e consente un accesso limitato alle API JavaScript.

Uno script che viene eseguito all'interno di un iframe con sandbox non può modificare alcun contenuto esterno all'iframe, se la pagina esterna e l'iframe hanno origini diverse. Fai attenzione se utilizzi una risposta iframe per integrare il contenuto che ha la stessa origine della pagina in cui è ospitato il tuo widget della chat web. In questa situazione il contenuto incorporato può sconfiggere il sandboxing e ottenere l'accesso al contenuto al di fuori del frame. Per ulteriori informazioni su questa potenziale vulnerabilità, consultare l'attributo sandbox documentazione.

Dettagli tecnici: scheda di anteprima iframe

Il tipo di risposta iframe nella chat web visualizza la scheda Anteprima, che include un'immagine, un titolo e la descrizione della pagina web che l'utente visita nella chat web.

Per visualizzare un'immagine, un titolo e una descrizione nella scheda Anteprima, la pagina Web ha bisogno delle seguenti tag <meta> all'interno della tag <head> :

<meta property="og:image" content="https://.../image.jpg" />

<meta property="og:image:url" content="https://.../image.jpg" />

<meta property="og:title" content="The webpage title" />
<meta property="og:description" content="The webpage description" />

Queste proprietà di metadati specificate provengono da Open Graph Protocol.

I metadati sono facoltativi. La chat web visualizza una scheda di anteprima con l'URL della pagina web e i metadati che la chat web ha recuperato correttamente.

Aggiungere un tipo di risposta Opzione

Aggiungere un tipo di risposta opzione quando si desidera fornire al cliente una serie di opzioni tra cui scegliere. Ad esempio, puoi creare una risposta come questa:

Opzioni di risposta
Titolo elenco Descrizione elenco Etichetta opzione Input utente inoltrato quando fai clic
Insurance types Which of these items do you want to insure?
Boat I want to buy boat insurance
Car I want to buy car insurance
Home I want to buy home insurance

La maggior parte delle integrazioni visualizza le opzioni come pulsanti se ci sono solo pochi elementi (ad esempio, 4 o meno).

Mostra un piccolo elenco di opzioni nell'Anteprima visualizzato come pulsanti.{caption="Option buttons" caption-side="bottom"}

Altrimenti, le opzioni vengono visualizzate come un elenco.

Per aggiungere un tipo di risposta Opzione, completare la seguente procedura:

  1. Dal nodo di dialogo in cui vuoi aggiungere il tipo di risposta, fai clic sul menu a discesa nel campo Assistant responds e scegli Option.

  2. Fai clic su Add option.

  3. Nel campo List label, immetti l'opzione da visualizzare nell'elenco.

    L'etichetta deve avere una lunghezza inferiore a 2.048 caratteri.

  4. Nel campo Value corrispondente, immetti l'input utente da passare al tuo assistente quando viene selezionata questa opzione.

    Il valore deve avere una lunghezza inferiore a 2.048 caratteri.

    Per le integrazioni Slack in cui le opzioni vengono visualizzate come un elenco, ogni valore deve avere una lunghezza massima di 75 caratteri.

    Specifica un valore che sai che attiverà l'intento corretto quando viene inoltrato. Ad esempio, potrebbe essere un esempio utente dei dati di addestramento per l'intento.

  5. Ripeti i passi precedenti per aggiungere altre opzioni all'elenco.

    Puoi aggiungere fino a 20 opzioni.

  6. Aggiungi un'introduzione all'elenco nel campo Title. Il titolo può richiedere all'utente di selezionare dall'elenco di opzioni.

    Alcuni canali di integrazione non visualizzano il titolo.

  7. Facoltativamente, aggiungi informazioni aggiuntive nel campo Description. Se specificata, la descrizione viene visualizzata dopo il titolo e prima dell'elenco di opzioni.

    Alcuni canali di integrazione non visualizzano la descrizione.

  8. Facoltativo: se si vuole indicare una preferenza per la modalità di visualizzazione delle opzioni, come pulsanti o in un elenco, si può aggiungere una proprietà preference per la risposta.

    Per farlo, apri l'editor JSON per la risposta, quindi aggiungi la coppia nome e valore preference prima della coppia nome e valore response_type. Puoi impostare la preferenza su dropdown o button.

    {
      "output": {
        "generic": [
          {
            "title": "Insurance types",
            "options": [
              {
                "label": "Boat",
                "value": {
                  "input": {
                    "text": "I want to buy boat insurance."
                  }
                }
              },
              {
                "label": "Car",
                "value": {
                  "input": {
                    "text": "I want to buy car insurance."
                  }
                }
              },
              {
                "label": "House",
                "value": {
                  "input": {
                    "text": "I want to buy house insurance."
                  }
                }
              }
            ],
            "preference": "dropdown", //add this name and value pair
            "description": "Which of these items do you want to insure?",
            "response_type": "option"
          }
        ]
      }
    }
    

    Quando definisci un elenco di opzioni con solo 3 elementi, le opzioni vengono generalmente visualizzate come pulsanti. Quando aggiungi una proprietà preference che indica dropdown come preferenza, ad esempio, puoi vedere nel riquadro "Try it out" che l'elenco viene invece visualizzato come elenco a discesa.

    Mostra un piccolo elenco di opzioni nell'Anteprima, visualizzato come menu a discesa.
    Elenco opzioni

    Alcuni tipi di integrazione, come la chat web, riflettono le tue preferenze. Altri tipi di integrazione, come Slack, non riflettono le proprie preferenze quando eseguono il rendering delle opzioni.

Non aggiungere più di un tipo di risposta di opzione a un singolo nodo di dialogo perché entrambi gli elenchi vengono visualizzati contemporaneamente, ma il cliente può scegliere un'opzione da uno solo di essi.

Se è necessario essere in grado di popolare l'elenco di opzioni con valori differenti in base ad alcuni altri fattori, è possibile progettare un elenco di opzioni dinamico. Per ulteriori informazioni, vedi il post del blog Come aggiungere dinamicamente opzioni di risposta ai nodi di dialogo.

Aggiunta di un tipo di risposta Pausa

Aggiungi un tipo di risposta di pausa per dare all'assistente il tempo di rispondere. Ad esempio, potresti aggiungere un tipo di risposta di pausa a un nodo che richiama un webhook. La pausa indica che l'assistente sta lavorando su una risposta, che gli dà il tempo di effettuare la chiamata webhook e ottenere una risposta. Quindi, è possibile passare a un nodo figlio per visualizzare il risultato.

Per aggiungere un tipo di risposta Pausa, completare i seguenti passaggi:

  1. Dal nodo di dialogo in cui vuoi aggiungere il tipo di risposta, fai clic sul menu a discesa nel campo Assistant responds e scegli Pause.

  2. Aggiungi la durata della pausa come un numero in millisecondi (ms) nel campo Duration.

    Il valore non può superare 10.000 ms. Gli utenti sono generalmente disposti ad attendere circa 8 secondi (8.000 ms) prima che qualcuno immetta una risposta. Per impedire la visualizzazione dell'indicatore di digitazione durante la pausa, scegli Off.

    Aggiungi un altro tipo di risposta, ad esempio un tipo di risposta di testo, dopo la pausa per indicare chiaramente che la pausa è terminata.

Il rendering di questo tipo di risposta non viene eseguito nel riquadro "Try it out". Devi accedere a un nodo che utilizza questo tipo di risposta da una distribuzione di test per vedere come sarà al riguardo l'esperienza dei tuoi utenti.

Aggiunta di un tipo di risposta Capacità di ricerca

Plus

Se si dispone di materiale esistente rivolto al cliente, come ad esempio una FAQ, un catalogo di prodotti o materiale di vendita che può rispondere alle domande che i clienti spesso fanno, inserire tali informazioni da utilizzare. È possibile attivare una ricerca del materiale esistente in tempo reale per ottenere la risposta più recente e più aggiornata per i tuoi clienti.

Per utilizzare il tipo di risposta della capacità di ricerca, devi aggiungere una ricerca allo stesso assistente che utilizza questo dialogo. Per ulteriori informazioni, vedi Configurazione dell'integrazione di ricercaIBM Watson® Discovery.

Per aggiungere un tipo di risposta Capacità di ricerca, completa la seguente procedura:

  1. Dal nodo di dialogo in cui vuoi aggiungere il tipo di risposta, fai clic sul menu a discesa nel campo Assistant responds e scegli Search skill.

    Indica che vuoi ricercare una risposta pertinente in un'origine dati esterna.

  2. Per modificare la query di ricerca da passare al servizio Discovery, fai clic su Customize e poi riempi i seguenti campi:

    • Query: facoltativo. Puoi specificare una query particolare nel linguaggio naturale da passare a Discovery. Se non aggiungi una query, il testo di input esatto del cliente viene passato come query.

      Ad esempio, puoi specificare What cities do you fly to?. Questo valore di query viene passato a Discovery come query di ricerca. Discovery utilizza la comprensione del linguaggio naturale per comprendere la query e per trovare una risposta o informazioni rilevanti sull'argomento nella raccolta di dati configurata per la ricerca.

      Puoi includere informazioni specifiche fornite dall'utente facendo riferimento alle entità che sono state rilevate nell'input dell'utente come parte della query. Ad esempio, Tell me about @product. Oppure puoi fare riferimento a una variabile di contesto, ad esempio Do you have flights to $destination?. Assicurati di progettare il tuo dialogo in modo che la ricerca non venga attivata a meno che le entità o le variabili di contesto a cui fai riferimento nella query non siano state impostate su valori validi.

      Questo campo equivale al parametro Discovery natural_language_query. Per ulteriori informazioni, consultare Parametri di query.

      • Filter: facoltativo. Specifica una stringa di testo che definisce le informazioni che devono essere presenti nei risultati di ricerca che vengono restituiti.

        • Per indicare che vuoi restituire solo i documenti con parere positivo rilevato, ad esempio, specifica enriched_text.sentiment.document.label:positive.

        • Per filtrare i risultati per includere solo i documenti che il processo di inserimento ha identificato come contenenti l'entità Boston, MA, specifica enriched_text.entities.text:"Boston, MA".

        • Per filtrare i risultati per includere solo i documenti che il processo di inserimento ha identificato come contenenti un nome prodotto fornito dal cliente, puoi specificare enriched_text.entities.text:@product.

        • Per filtrare i risultati per includere solo i documenti che il processo di inserimento ha identificato come contenenti un nome città che hai salvato in una variabile di contesto denominata $destination, puoi specificare enriched_text.entities.text:$destination.

        Questo campo equivale al parametro Discovery filter. Per ulteriori informazioni, consultare Parametri di query.

      Se si aggiungono sia una query che un valore di filtro, il parametro filtro viene applicato per primo per filtrare i documenti della raccolta dati e memorizzare i risultati. Il parametro di query classifica quindi i risultati memorizzati nella cache.

  3. Facoltativo: modificare il tipo di query utilizzato per la ricerca.

    La ricerca invia automaticamente una query di linguaggio naturale a Discovery. Se vuoi utilizzare invece il linguaggio di query Discovery, puoi specificarlo. Per fare ciò, apri l'editor JSON per la risposta del nodo.

    Modifica il frammento di codice JSON per sostituire natural_language con discovery_query_language. Ad esempio:

    {
      "output": {
        "generic": [
          {
            "query": "",
            "filter": "enriched_text.sentiment.document.label:positive",
            "query_type": "discovery_query_language",
            "response_type": "search_skill"
          }
        ]
      }
    }
    

Verifica questo tipo di risposta dall'assistente Preview. Non è possibile testarlo dal riquadro "Prova".

Risposte condizionali

Un singolo nodo di dialogo può fornire risposte diverse, ognuna attivata da una diversa condizione. Utilizza questo approccio per risolvere più scenari in un singolo nodo.

Il nodo ha ancora una condizione principale, che è la condizione per l'utilizzo del nodo e l'elaborazione delle condizioni e delle risposte che contiene.

In questo esempio, il tuo assistente utilizza le informazioni sulla posizione dell'utente raccolte in precedenza per personalizzare la risposta e fornire informazioni sul negozio più vicino all'utente. Vedi Variabili di contesto per ulteriori informazioni su come memorizzare le informazioni raccolte dall'utente.

Mostra un nodo che mostra una richiesta dell'utente, Dove ti trovi e il dialogo ha tre diverse risposte a seconda delle condizioni che utilizzano le informazioni dalla variabile di contesto $state per specificare le ubicazioni in questi stati.{caption="Conditional responses" caption-side="bottom"}

Questo singolo nodo fornisce ora la funzione equivalente di quattro nodi separati.

Per aggiungere risposte condizionali a un nodo, completa i seguenti passi:

  1. Fare clic su Personalizza, quindi impostare l'interruttore Risposte condizionate multiple su On.

    La sezione della risposta del nodo cambia per mostrare una coppia di campi condizione e risposta. Puoi aggiungere ad essi una condizione e una risposta.

  2. Per personalizzare ulteriormente una risposta, fare clic sull'icona Personalizza risposta Personalizza risposta accanto alla risposta.

    Devi aprire la risposta per la modifica per completare le seguenti attività:

    • Aggiornare il contesto. Per modificare il valore di una variabile di contesto quando viene attivata una risposta, specifica il valore di contesto nell'editor di contesto. Devi aggiornare il contesto per ogni singola risposta condizionale; non esiste un editor di contesto o un editor JSON comune per tutte le risposte condizionali.

    • Aggiungere risposte esaurienti. Per aggiungere più di una risposta di testo o per aggiungere tipi di risposta diversi dalle risposte di testo a una singola risposta condizionale, devi aprire la vista di modifica della risposta.

    • Configurare un passaggio. Per indicare al tuo assistente di passare a un nodo differente dopo aver elaborato questa risposta condizionale, seleziona Jump to dalla sezione And finally della vista di modifica della risposta. Identifica il nodo successivo che desideri venga elaborato dal tuo assistente. Per ulteriori informazioni, vedi Configurazione dell'azione Passa a.

      Un'azione Passa a configurata per il nodo non viene elaborata fino a quando non vengono elaborate tutte le risposte condizionali. Quindi, se una risposta condizionale viene configurata per passare a un altro nodo e la risposta condizionale viene attivata, il passaggio configurato per il nodo non viene mai elaborato e quindi non si verifica.

  3. Fai clic su Add response per aggiungere un'altra risposta condizionale.

Le condizioni all'interno di un nodo vengono valutate in ordine, proprio come i nodi. Assicurati che le risposte condizionali siano elencate nell'ordine corretto. Se devi modificare l'ordine, seleziona una coppia condizione e risposta e spostala in alto o in basso nell'elenco utilizzando le frecce visualizzate.

Definizione delle operazioni successive

Dopo aver eseguito la risposta specificata, puoi istruire il tuo assistente affinché effettui una delle seguenti operazioni:

  • Attendi input utente: il tuo assistente attende che l'utente fornisca un nuovo input indotto dalla risposta. Ad esempio, la risposta potrebbe chiedere all'utente una domanda "sì o no". Il dialogo non avanzerà finché l'utente non fornisce altro input.

  • Ignora input utente: utilizza questa opzione quando desideri ignorare l'attesa dell'input utente e vuoi che la conversazione vada invece direttamente al primo nodo figlio del nodo corrente.

    Il nodo corrente deve avere almeno un nodo figlio affinché questa opzione sia disponibile.

  • Passa a un altro nodo di dialogo: utilizza questa opzione quando desideri che la conversazione vada direttamente a un nodo di dialogo completamente diverso. Puoi utilizzare un'azione Passa a, ad esempio, per instradare il flusso in un nodo di dialogo comune da più posizioni nella struttura ad albero.

    Il nodo di destinazione a cui vuoi passare deve esistere prima di poter configurare e quindi utilizzare l'azione Passa a.

Configurazione dell'azione Passa a

Se scegli di passare a un altro nodo, specifica quando il nodo di destinazione viene elaborato scegliendo una delle seguenti opzioni:

  • Condizione: se l'istruzione è destinata alla sezione della condizione del nodo di dialogo selezionato, il tuo assistente verifica prima se la condizione del nodo di destinazione viene valutata come true.

    • Se la condizione viene valutata come true, il sistema elabora immediatamente il nodo di destinazione.

    • Se la condizione non viene valutata come true, il sistema si sposta sul nodo di pari livello successivo del nodo di destinazione per valutarne la condizione e ripete questo processo fino a quando non trova un nodo di dialogo con una condizione che viene valutata come true.

    • Se il sistema elabora tutti i nodi di pari livello e nessuna delle condizioni viene valutata come true, verrà utilizzata la strategia di fallback di base e il dialogo valuterà i nodi a livello di base della struttura ad albero di dialogo.

    La specifica della condizione è utile per concatenare le condizioni dei nodi di dialogo. Ad esempio, potresti voler prima verificare se l'input contiene un intento, come #turn_on, e se lo contiene, potresti voler controllare se l'input contiene entità, come @lights, @radio o @wipers. Il concatenamento di condizioni aiuta a strutturare alberi di dialogo più grandi.

    Evita di scegliere questa opzione quando configuri un'opzione Passa a da una risposta condizionale che va a un nodo situato sopra il nodo corrente nella struttura ad albero di dialogo. In caso contrario, puoi creare un loop infinito. Se il tuo assistente passa a un nodo precedente e ne controlla la condizione, è probabile che restituisca false perché è stato valutato lo stesso input utente che l'ultima volta ha attivato il nodo corrente tramite il dialogo. Il tuo assistente si sposterà sul nodo di pari livello successivo o tornerà al nodo root per controllare le condizioni su tali nodi e probabilmente concluderà attivando nuovamente questo nodo, ciò significa che il processo si ripeterà.

  • Risposta: se l'istruzione è destinata alla sezione della risposta del nodo di dialogo selezionato, viene eseguita immediatamente. Ovvero, il sistema non valuta la condizione del nodo di dialogo selezionato, esegue immediatamente la risposta del nodo di dialogo selezionato.

    La specifica della risposta è utile per concatenare insieme più nodi di dialogo. La risposta viene elaborata come se la condizione di questo nodo di dialogo fosse true. Se il nodo di dialogo selezionato ha un'altra azione Passa a, anche tale azione viene eseguita immediatamente.

  • Attendi input utente: attende il nuovo input dall'utente e inizia ad elaborarlo dal nodo a cui è passato. Questa opzione è utile, ad esempio, se il nodo di origine pone una domanda e tu desideri passare a un nodo separato per elaborare la risposta dell'utente alla domanda.

Passi successivi

Puoi anche utilizzare l'API per aggiungere i nodi o altrimenti modificare un dialogo. Per ulteriori informazioni, vedi Modifica di un dialogo attraverso l'API.