Una conversazione (sessione) di Dialogflow CX può essere descritta e visualizzata come una macchina a stato. Gli stati di una sessione CX sono rappresentati da pagine.
Per ogni flusso, devi definire molte pagine, in cui le pagine combinate possono gestire una conversazione completa sugli argomenti per i quali è progettato il flusso. In un determinato momento, esattamente una pagina è la pagina corrente, la pagina corrente è considerata attiva e il flusso associato a questa pagina è considerato attivo. Ogni flusso ha una pagina iniziale speciale. Quando un flusso diventa attivo, la pagina iniziale diventa la pagina corrente. Ad ogni svolta della conversazione, la pagina corrente rimarrà invariata o passerà a un'altra pagina.
Configuri ogni pagina in modo da raccogliere informazioni dall'utente finale pertinenti allo stato conversazionale rappresentato dalla pagina. Ad esempio, puoi creare le pagine (in blu) nel diagramma seguente per il flusso Ordine di cibo di un addetto alla consegna di pizza. Il nodo Inizio del diagramma rappresenta la pagina iniziale del flusso Ordine cibo. Al termine del flusso, si passa al flusso di conferma.
Ciclo di vita di una pagina
Quando una pagina diventa attiva, l'agente segue diversi passaggi che possono includere l'evasione degli ordini, la precompilazione dei moduli, la valutazione del gestore dello stato, la richiesta di parametri del modulo, l'invio di messaggi di risposta all'utente finale e un cambio di pagina o un loop ripetuto:
Di seguito sono riportati i dettagli della procedura:
Se per la pagina esiste una voce fulfillment, viene richiamata. Qualsiasi risposta statica fornita dal fulfillment viene aggiunta alla coda di risposte.
Se è abilitata la risposta parziale, Dialogflow svuota la coda di risposta e invia tutti i messaggi in coda come risposta parziale al chiamante dell'API Streaming.
Se il fulfillment ha un webhook, viene chiamato il webhook, che potrebbe aggiungere ulteriori risposte alla coda. Queste risposte aggiuntive non attivano lo svuotamento immediato della coda di risposte.
Se la pagina contiene parametri del modulo, questi possono essere precompilati:
- Qualsiasi parametro di sessione impostato con lo stesso nome di un parametro form viene copiato nel parametro del modulo.
- Se una route ha attivato una transizione a questa pagina e la route contiene un intent corrispondente, qualsiasi parametro intent con lo stesso nome di parametro form viene copiato nel parametro form.
Se alcuni gestori di stato sono nell'ambito, vengono valutati in base alle regole dell'ordine di valutazione del gestore. Ciò può includere route, gestori di eventi o gestori di richieste richiamati dall'iterazione di loop precedente. Se viene chiamato un gestore di stato, si possono verificare una o entrambe le seguenti situazioni:
- Se esiste un fulfillment per il gestore, viene chiamato. Qualsiasi risposta statica fornita dal fulfillment viene aggiunta alla coda di risposte. Vengono eseguiti anche la risposta parziale e il webhook, se abilitati.
- Se per il gestore esiste una pagina o un flusso di destinazione, la sessione passa alla destinazione e la pagina diventa inattiva.
Se tutte le condizioni seguenti sono vere, un prompt di un parametro modulo viene aggiunto alla coda di risposta:
- La pagina ha un modulo.
- Mancano ancora dei parametri obbligatori per il modulo.
- Nel passaggio 3 non è stato seguito un gestore di richieste.
- La risposta parziale e il webhook vengono eseguiti se abilitati.
I restanti messaggi nella coda di risposta vengono inviati all'utente finale e l'agente attende l'input utente dell'utente finale.
Se l'input utente finale fornisce un parametro di modulo richiesto, compila il parametro. Vai al passaggio 3.
Navigazione del ciclo di vita delle pagine
Il visualizzatore dei passaggi di esecuzione del simulator ti consente di passare da un passaggio all'altro di una specifica svolta di conversazione e mette in evidenza gli elementi del generatore di agenti correlati per ogni passaggio. Nell'esempio seguente, l'input utente finale "Vorrei noleggiare un'auto" attiva cinque passaggi di esecuzione e transizione:
Il visualizzatore dei passaggi delle esecuzioni ti porta alla pagina iniziale della conversazione per il primo passaggio. In questo caso si tratta della pagina iniziale predefinita.
La route di transizione per l'intent
car_rental.reservation_create
viene attivata. Il visualizzatore dei passaggi delle esecuzioni mette in evidenza questa route, dove puoi vedere che la destinazione della transizione è la paginaPickup Location
.L'agente accede alla pagina
Pickup Location
.L'agente valuta il fulfillment della voce della pagina
Pickup Location
. Il fulfillment è vuoto, quindi non accade nulla.L'agente tenta di raccogliere il parametro di modulo richiesto
pickup_location
e il messaggio iniziale di completamento della richiesta per questo parametro viene mostrato all'utente finale.
Puoi anche annullare l'ultima espressione e provare con qualcos'altro per testare diverse transizioni di pagina.
Crea una pagina
Per creare una pagina:
Console
- Apri la console Dialogflow CX.
- Scegli il progetto della piattaforma Google Cloud.
- Seleziona l'agente.
- Seleziona un flusso per la pagina nella sezione Flows (Flussi).
- Fai clic sul pulsante Aggiungi add nella sezione Pagine.
- Inserisci un nome visualizzato per la tua pagina.
- Fai clic sul pulsante delle impostazioni more_vert accanto al nome visualizzato della pagina.
- Seleziona Modifica.
- Inserisci i campi nel riquadro di modifica della pagina visualizzato.
- Fai clic su Salva.
API
Visualizza il metodo create
per il tipo Page
.
Seleziona un protocollo e la versione per il riferimento pagina:
Protocollo | V3 | V3beta1 |
---|---|---|
REST | Risorsa della pagina | Risorsa della pagina |
RPC | Interfaccia della pagina | Interfaccia della pagina |
C++ | PagesClient | Non disponibile |
C# | PagesClient | Non disponibile |
Go | PagesClient | Non disponibile |
Java | PagesClient | PagesClient |
Node.js | PagesClient | PagesClient |
PHP | Non disponibile | Non disponibile |
Python | PagesClient | PagesClient |
Ruby | Non disponibile | Non disponibile |
Dati della pagina
Per accedere ai dati di una pagina:
Console
- Apri la console Dialogflow CX.
- Scegli il progetto della piattaforma Google Cloud per l'agente.
- Seleziona l'agente.
- Fai clic sul flusso nella sezione Flussi.
- Le pagine del flusso vengono compilate nella sezione Pagine.
- Fai clic sul pulsante delle impostazioni more_vert accanto al nome visualizzato della pagina.
- Seleziona Modifica.
- Inserisci i campi nel riquadro di modifica della pagina visualizzato.
- Fai clic su Salva per salvare le modifiche.
API
Visualizza i metodi get
e patch/update
per il tipo Page
.
Seleziona un protocollo e la versione per il riferimento pagina:
Protocollo | V3 | V3beta1 |
---|---|---|
REST | Risorsa della pagina | Risorsa della pagina |
RPC | Interfaccia della pagina | Interfaccia della pagina |
C++ | PagesClient | Non disponibile |
C# | PagesClient | Non disponibile |
Go | PagesClient | Non disponibile |
Java | PagesClient | PagesClient |
Node.js | PagesClient | PagesClient |
PHP | Non disponibile | Non disponibile |
Python | PagesClient | PagesClient |
Ruby | Non disponibile | Non disponibile |
Alle pagine sono associati i seguenti dati:
- Nome visualizzato: un nome leggibile per la tua pagina.
- Fulfillment voce (noto anche come Finestra di dialogo Voce): si tratta del fulfillment da chiamare quando la pagina diventa inizialmente attiva.
- Parametri: sono i valori parametro in un modulo di pagina che acquisiscono l'input strutturato dell'utente finale.
- Route: questi gestori di stato possono essere chiamati quando la pagina è attiva. Per maggiori dettagli, consulta Route del gestore a livello di pagina
- Gruppi di route: le route all'interno di questi gruppi potrebbero essere chiamate quando la pagina è attiva. Per maggiori dettagli, consulta Gruppi di route
- Gestori di eventi: questi gestori di eventi possono essere chiamati quando la pagina è attiva. Per maggiori dettagli, consulta Gestori di eventi a livello di pagina
Impostazioni pagina
Per le pagine sono disponibili le seguenti impostazioni:
Impostazioni vocali avanzate: queste impostazioni vocali possono facoltativamente sostituire le stesse impostazioni vocali del flusso e le stesse impostazioni vocali dell'agente.
Impostazioni di adattamento vocale: le impostazioni di adattamento vocale a livello di pagina possono facoltativamente sostituire le stesse impostazioni di adattamento vocale del flusso. Istruzioni più dettagliate nell'adattamento vocale manuale.
Per accedere alle impostazioni della pagina:
Console
- Apri la console Dialogflow CX.
- Scegli il progetto della piattaforma Google Cloud.
- Seleziona l'agente.
- Passa il mouse sopra la pagina nella sezione Pagine.
- Fai clic sul pulsante delle opzioni more_vert.
- Seleziona Impostazioni pagina.
- Sfoglia o modifica le impostazioni.
- Fai clic su Salva per salvare le modifiche.
API
Visualizza i metodi get
e patch/update
per il tipo Page
.
Seleziona un protocollo e la versione per il riferimento pagina:
Protocollo | V3 | V3beta1 |
---|---|---|
REST | Risorsa della pagina | Risorsa della pagina |
RPC | Interfaccia della pagina | Interfaccia della pagina |
C++ | PagesClient | Non disponibile |
C# | PagesClient | Non disponibile |
Go | PagesClient | Non disponibile |
Java | PagesClient | PagesClient |
Node.js | PagesClient | PagesClient |
PHP | Non disponibile | Non disponibile |
Python | PagesClient | PagesClient |
Ruby | Non disponibile | Non disponibile |
Eliminare una pagina
Per eliminare una pagina:
Console
- Apri la console Dialogflow CX.
- Scegli il progetto della piattaforma Google Cloud.
- Seleziona l'agente.
- Seleziona il flusso per la pagina nella sezione Flows (Flussi).
- Fai clic sul pulsante delle impostazioni more_vert accanto al nome visualizzato della pagina nella sezione Pagine.
- Seleziona Elimina.
API
Visualizza il metodo delete
per il tipo Page
.
Seleziona un protocollo e la versione per il riferimento pagina:
Protocollo | V3 | V3beta1 |
---|---|---|
REST | Risorsa della pagina | Risorsa della pagina |
RPC | Interfaccia della pagina | Interfaccia della pagina |
C++ | PagesClient | Non disponibile |
C# | PagesClient | Non disponibile |
Go | PagesClient | Non disponibile |
Java | PagesClient | PagesClient |
Node.js | PagesClient | PagesClient |
PHP | Non disponibile | Non disponibile |
Python | PagesClient | PagesClient |
Ruby | Non disponibile | Non disponibile |