Concetti di base

Visual Flow Designer è uno strumento visivo per la progettazione delle interazioni tra uno skill e i relativi utenti. I seguenti argomenti contengono le prime cose che devi sapere.

Designer visivo

Con Visual Flow Designer, i flussi di dialogo vengono progettati visivamente anziché tramite un editor di codice. Le connessioni tra gli stati sono rappresentate in diagrammi visivi. Variabili, parametri e proprietà dei componenti sono definiti in editor e finestre di dialogo specializzati.

Più flussi

In Visual Flow Designer è possibile creare flussi per gestire le varie parti delle conversazioni per le quali si sta progettando lo skill. In genere si avrebbe:

  • Il flusso principale, che rappresenta il punto di accesso principale per lo skill e che è più una configurazione che un flusso. Il flusso principale contiene:
    • variabili globali.
    • Eventi mappati ai flussi.
  • Un flusso per ogni intento regolare.
  • Un singolo flusso per gestire tutti gli intenti di risposta (anche se è anche possibile avere flussi separati per singoli intenti di risposta se si desidera includere un comportamento specifico per tali intenti di risposta).
  • Flussi secondari e flussi di utility riutilizzabili (ad esempio per l'autenticazione) che possono essere richiamati da altri flussi.

Eventi

Nelle competenze create con Visual Flow Designer, viene attivato un flusso quando si verifica un evento mappato a tale flusso. Esistono eventi per ogni intento dello skill e eventi integrati per casi standard (ad esempio input e errori imprevisti dell'utente). È inoltre possibile definire eventi personalizzati che consentono di attivare i flussi in base alle azioni emesse al termine di un altro flusso.

Gli eventi attivati a livello di skill vengono mappati ai flussi. Gli eventi attivati in un flusso vengono mappati agli stati nel flusso. Nel caso di eventi di errore della finestra di dialogo, se l'evento non è stato mappato a uno stato nel flusso corrente, l'evento si propaga al flusso principale, dal quale è mappato a un flusso.

Nota

Gli eventi in Visual Flow Designer corrispondono approssimativamente alle azioni di transizione predefinite nei flussi di dialogo YAML.

Variabili, ambito e parametri

Con Visual Flow Designer è possibile definire variabili a livello di singoli flussi e a livello globale.

  • nei singoli flussi. Impossibile accedere direttamente alle variabili definite in un flusso dall'esterno di tale flusso.

    La durata di vita di una variabile di flusso è limitata a tale flusso. Il relativo valore viene cancellato dopo che la finestra di dialogo è passata alla fine del flusso. Se un utente torna a quel flusso più tardi nella sessione, la variabile viene reinizializzata.

  • Nel flusso principale. Le variabili definite qui hanno un ambito a livello di competenza (globale), il che significa che è possibile accedervi da tutti i flussi della competenza.

    I valori per queste variabili globali persistono durante la sessione dell'utente con la competenza. Le variabili vengono cancellate al termine della sessione utente con la competenza, che si verifica quando si verifica una delle seguenti operazioni:

    • L'utente chiude la finestra di chat.
    • Timeout della sessione dopo un periodo di inattività (il cui valore è definito a livello di canale e che in genere è di 24 ore).
    • Nel contesto di un assistente digitale, l'utente esce dallo skill o raggiunge uno stato che richiama direttamente un altro skill.
      Nota

      Quando l'utente interrompe una conversazione con un input non sequitur e viene temporaneamente instradato a una competenza diversa, l'assistente digitale rimane nel contesto della competenza originale e le relative variabili non vengono cancellate automaticamente. In questo caso, se l'utente torna allo skill originale dopo l'interruzione, le variabili contengono i relativi valori. Se l'utente sceglie di non tornare allo skill originale, lo skill originale viene chiuso e le variabili vengono cancellate.

I valori delle variabili possono essere passati all'interno e all'esterno dei flussi utilizzando parametri di input e di output. Utilizzando i parametri anziché i riferimenti diretti alle variabili tra i flussi, si creano flussi autonomi che consentono la riutilizzabilità, favoriscono un comportamento prevedibile e riducono la probabilità di bug.

Nota

I nomi dei parametri di input per un flusso devono essere distinti dai nomi delle variabili di tale flusso.

Per ulteriori informazioni sull'utilizzo delle variabili, vedere Espressioni per i valori delle variabili e Altri tipi di variabili.

Componenti nuovi, modificati e rimossi

Il set di componenti di Visual Flow Designer è in gran parte lo stesso dell'editor basato su YAML, ma esistono alcune aggiunte, rimozioni e modifiche. Ecco una rapida panoramica delle principali differenze.

I componenti riportati di seguito sono esclusivi di Visual Flow Designer.

  • Richiama flusso: consente di richiamare un flusso da un flusso esistente.
  • Flusso finale: consente di terminare un determinato flusso. È inoltre possibile utilizzare la proprietà action di questo componente per specificare un evento che attiva un altro flusso. In genere, un'azione di questo tipo viene utilizzata da una transizione di azione specificata in un componente Richiama flusso nel flusso padre. Per i flussi di livello superiore, l'azione con stato Fine flusso attiva l'evento personalizzato nel flusso principale.
  • Invia messaggio: componente di risposta comune semplificata (System.CommonResponse) per la visualizzazione di un messaggio.
  • Fai una domanda: un componente di risposta comune semplificato (System.CommonResponse) per richiedere una risposta a un utente.
  • Risolvi sacchetto composito: componente Risolvi entità semplificate (System.ResolveEntities) progettato in modo specifico per l'utilizzo con entità sacchetto composito.
  • Componenti di Visualizza tabelle e form.

I seguenti componenti non sono disponibili in Visual Flow Designer:

  • System.Intent: questa funzionalità è stata sostituita dalla risoluzione automatica degli intenti, che si verifica quando non è presente alcun flusso attivo. Vedere Rilevamento e risoluzione degli intenti.
  • System.ConditionEquals: utilizzare il componente Switch.
  • System.ConditionExists: utilizzare il componente Switch.
  • System.Text: utilizzare uno dei modelli dei componenti di risposta comune, il componente Risolvi entità o il nuovo componente Fai domanda.
  • System.List: utilizzare un modello di componente Risposta comune o il componente Risolvi entità.
  • System.Output: utilizzare un modello di componente Risposta comune, il componente Risolvi entità o il componente Invia messaggio.
  • System.Qna: se si utilizzano moduli di domande e risposte, è necessario eseguire la migrazione all'uso degli intenti di risposta.

Per un riepilogo completo dei componenti in Visual Flow Designer, vedere Modelli di componente.