Eventi e transizioni
Nei flussi di dialogo sviluppati con Visual Flow Designer, gli eventi vengono utilizzati per instradare una conversazione ai flussi o agli stati all'interno dei flussi.
A livello di skill, gli eventi sono suddivisi nei seguenti tipi:
- Intento. Questi eventi corrispondono agli intenti dello skill. Questo evento si verifica quando l'input dell'utente viene risolto in un determinato intento.
- Built-in. Si tratta di eventi standard per casi d'uso tipici come intento non risolto, intento di risposta ed errore di finestra di dialogo.
- Azione di fine flusso. Si tratta di eventi che si definiscono e che possono essere attivati da azioni in stati di flusso finale (entrambi gli stati che utilizzano il componente Flusso finale e gli stati che implicitamente terminano il flusso).
A livello di flusso, gli eventi vengono suddivisi nei tipi riportati di seguito.
- Transazioni di sistema. Si tratta di eventi integrati per casi d'uso tipici quali l'input utente non risolto, l'autorizzazione richiesta e gli errori.
- Transizioni personalizzate. Si tratta di eventi che è possibile specificare personalmente e che in genere vengono assegnati alle azioni di transizione dei componenti. Quando il flusso raggiunge tale transizione, viene attivato l'evento corrispondente e viene richiamato lo stato mappato all'evento.
Eventi integrati per il flusso principale
Evento | In caso di attivazione | Come utilizzare |
---|---|---|
Avvia competenza | Quando un'abilità inizia per la prima volta. | Eseguire il mapping a un flusso personalizzato per eseguire operazioni quali l'inizializzazione dei sistemi backend o visualizzare un menu della Guida. |
Errore finestra di dialogo | Quando un componente genera un errore durante una conversazione. Questo evento può essere attivato anche quando si verifica un errore in un altro flusso e la transizione di sistema Errore finestra di dialogo del flusso non è mappata. | Eseguire il mapping a un flusso di gestione degli errori personalizzato. Se questo evento viene attivato ma non è presente alcun mapping, il flusso corrente viene interrotto e lo skill restituisce il messaggio di errore predefinito ("Oops! I’m encountering a spot of trouble ")".
|
Intento risposta | Quando viene risolto un intento di risposta. | Eseguire il mapping a un flusso personalizzato dedicato agli intenti risposta. |
Intento non risolto | Quando l'intento dell'utente non viene risolto. | Eseguire il mapping a un flusso della Guida personalizzato. |
Guida di Digital Assistant | Quando l'utente esprime una richiesta di aiuto. Ciò si applica solo quando l'utente ha avuto accesso all'abilità tramite un assistente digitale e l'abilità si trova nel contesto corrente dell'assistente digitale. | Eseguire il mapping a un flusso della Guida personalizzato. |
Benvenuto in Digital Assistant | Quando l'utente avvia il contatto con l'assistente digitale. Ciò si applica solo quando l'utente ha utilizzato un richiamo esplicito per accedere allo skill tramite un assistente digitale, ma non ha espresso un intento. | Mappa a un flusso di benvenuto o aiuto personalizzato. |
Specificando i flussi per gli eventi di aiuto di Digital Assistant e di benvenuto di Digital Assistant, non si sovrascrive completamente il comportamento per la Guida dell'assistente digitale e gli intenti di sistema unresolvedIntent. Se vuoi cambiare universalmente questo comportamento, lo fai nelle impostazioni dell'assistente digitale. Vedere Specificare gli stati per gli intenti di sistema di un assistente digitale.
Transizioni sistema per flussi
Per ogni flusso, è possibile utilizzare le transizioni di sistema per definire la posizione in cui gestire eventi quali gli errori delle finestre di dialogo e i messaggi fuori ordine.
Per definire lo stato utilizzato per gestire un determinato evento, effettuare le operazioni riportate di seguito.
- Nella scheda Configurazione del flusso, scorrere verso il basso ed espandere la sezione Mapping eventi.
Viene visualizzata la sottosezione System Transitions.
- Per l'evento che si desidera mappare, selezionare lo stato a cui si desidera mapparlo.
In genere, questo stato è un componente Richiama flusso che punta al flusso di utility per la gestione dell'evento. Vedere Richiama un flusso da un altro flusso.
Di seguito sono riportati gli eventi che è possibile mappare come transizioni di sistema in un flusso.
Evento | In caso di attivazione | Come utilizzare |
---|---|---|
Autorizza utente | Quando viene raggiunto uno stato in cui il relativo stato Richiede autorizzazione viene risolto in true .
|
Eseguire il mapping a un componente Richiama flusso che richiama un flusso di autorizzazione. |
Errore finestra di dialogo | Errore imprevisto nella conversazione. |
Eseguire il mapping a un componente Richiama flusso che richiama un flusso per la gestione degli errori. Se questo evento non viene mappato e si verifica un errore nel flusso, viene richiamato il flusso di gestione degli errori mappato all'evento built-in Errore finestra di dialogo per il flusso principale. Quando l'errore della finestra di dialogo non viene mappato né per il flusso né per il flusso principale, lo skill genera il messaggio di errore predefinito ( |
Messaggio fuori ordine | L'utente seleziona un'opzione da un messaggio precedente nella conversazione anziché dal messaggio corrente. | Eseguire il mapping a un componente Richiama flusso che richiama un flusso fornito per la gestione dei messaggi fuori ordine. |
Input utente imprevisto | L'utente fornisce l'input testuale invece di selezionare una delle opzioni fornite nel messaggio. | Eseguire il mapping a un componente Richiama flusso che richiama un flusso fornito per la gestione dell'input imprevisto. |
Ascolto e attivazione di eventi
Se si dispone di flussi nidificati (flussi con flussi secondari):
- Il flusso corrente ascolta e attiva gli eventi di azione del flusso built-in e end.
- Il flusso di chiamata ascolta solo gli eventi di azione di fine flusso attivati dal flusso corrente. Quindi, quando il flusso secondario che ha attivato un evento di azione del flusso finale è terminato, il flusso padre agisce sull'evento attivato.
L'esempio principale è quando la proprietà Azione di un flusso secondario specifica un evento di azione di fine flusso.