Una conversazione (sessione) di Dialogflow CX può essere descritta e visualizzata come una macchina a stati. Gli stati di una sessione sono rappresentati da pagine.
Per ogni flusso, definisci molte pagine, che insieme possono gestire una conversazione completa sugli argomenti per cui è stato progettato il flusso. In qualsiasi momento, esattamente una pagina è la pagina corrente, la pagina corrente è considerata attiva e il flusso associato a quella pagina è considerato attivo. Ogni flusso ha una pagina di inizio speciale. Quando un flusso diventa attivo, la pagina iniziale diventa la pagina corrente. Per ogni turno di conversazione, la pagina corrente rimarrà la stessa o passerà a un'altra pagina.
Puoi configurare ogni pagina in modo che raccolga dall'utente finale le informazioni pertinenti per lo stato della conversazione rappresentato dalla pagina. Ad esempio, potresti creare le pagine (in blu) nel diagramma seguente per un flusso di ordinazione di cibo di un agente di consegna di pizze. Il nodo Inizia del diagramma rappresenta la pagina iniziale del flusso Ordinazione di cibo. Al termine del flusso, si passa al flusso di conferma.
Ciclo di vita di una pagina
Una volta che una pagina diventa attiva, l'agente segue diversi passaggi che possono includere l'adempimento di ingresso, la precompilazione dei moduli, la valutazione del gestore dello stato, la richiesta dei parametri del modulo, l'invio di messaggi di risposta all'utente finale e un cambio di pagina o un loop di ripetizione:
I dettagli di questa procedura sono i seguenti:
Se per la pagina esiste un fulfillment di ingresso, questo viene chiamato. Le risposte statiche fornite dal fulfillment vengono aggiunte alla coda di risposte.
Se è abilitata la risposta parziale, Dialogflow CX svuota la coda delle risposte e invia tutti i messaggi in coda come risposta parziale al chiamante dell'API di streaming.
Se il fulfillment ha un webhook, viene chiamato il webhook, che potrebbe aggiungere altre risposte alla coda. Queste risposte aggiuntive non attivano uno svuotamento immediato della coda di risposta.
Se la pagina contiene parametri del modulo, questi potrebbero essere precompilati:
- Qualsiasi parametro di sessione impostato con lo stesso nome di un parametro del modulo 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 dell'intent con lo stesso nome di un parametro del modulo viene copiato nel parametro del modulo.
Se i gestori dello stato sono nell'ambito, vengono valutati in base alle regole di ordine di valutazione dei gestori. Ciò può comportare l'invocazione di route, gestori di eventi o gestori di nuovi prompt dall'iterazione del loop precedente. Se viene chiamato un gestore dello stato, può verificarsi una o entrambe le seguenti situazioni:
- Se esiste un fulfillment per il gestore, viene chiamato. Le risposte statiche fornite dal fulfillment vengono aggiunte alla coda delle risposte. Se sono abilitati, vengono eseguiti anche la risposta parziale e il webhook.
- Se per il gestore esiste un flusso o una pagina di destinazione, la sessione passa alla destinazione e la pagina diventa inattiva.
Se tutte le seguenti condizioni sono vere, un prompt dei parametri del modulo viene aggiunto alla coda delle risposte:
- La pagina contiene un modulo.
- Ci sono parametri del modulo obbligatori da compilare.
- Nel passaggio 3 non è stato seguito un gestore di nuovi prompt.
- La risposta parziale e il webhook vengono eseguiti se sono abilitati.
I restanti messaggi della 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 del modulo richiesto, compila il parametro. Vai al passaggio 3.
Navigazione nel ciclo di vita della pagina
Il visualizzatore dei passaggi di esecuzione del simulatore ti consente di passare da un passaggio all'altro per un turno di conversazione specifico e mette in evidenza gli elementi di Agent Builder 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 di esecuzione ti porta alla pagina iniziale della conversazione per il primo passaggio. In questo caso, si tratta della pagina iniziale predefinita.

Viene attivata la route di transizione per l'intent
car_rental.reservation_create. Il visualizzatore dei passaggi di esecuzione mette in evidenza questo percorso, dove puoi vedere che la destinazione della transizione è la paginaPickup Location.
L'agente accede alla pagina
Pickup Location.
L'agente valuta l'adempimento di ingresso della pagina
Pickup Location. Il fulfillment è vuoto, quindi non succede nulla.
L'agente tenta di raccogliere il parametro del modulo richiesto
pickup_locatione all'utente finale viene mostrato il messaggio di fulfillment del prompt iniziale per questo parametro.
Puoi anche annullare l'ultima espressione e provare un'altra opzione per testare diverse transizioni di pagina.

Crea una pagina
Per creare una pagina:
Console
- Apri la console Dialogflow CX.
- Scegli il tuo progetto Google Cloud .
- Seleziona l'agente.
- Seleziona un flusso per la pagina nella sezione Flussi.
- Fai clic sul pulsante Aggiungi add nella sezione Pagine.
- Inserisci un nome visualizzato per la pagina.
- Fai clic sul pulsante delle impostazioni more_vert accanto al nome visualizzato della pagina.
- Seleziona Modifica.
- Compila i campi nel riquadro di modifica della pagina visualizzato.
- Fai clic su Salva.
API
Consulta il metodo create per il tipo Page.
Seleziona un protocollo e una versione per il riferimento alla pagina:
| Protocollo | V3 | V3beta1 |
|---|---|---|
| REST | Risorsa Page | Risorsa Page |
| RPC | Interfaccia della pagina | Interfaccia della pagina |
| C++ | PagesClient | Non disponibile |
| C# | PagesClient | Non disponibile |
| Vai | 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 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.
- Compila i campi nel riquadro di modifica della pagina visualizzato.
- Fai clic su Salva per salvare le modifiche.
API
Consulta i metodi get e patch/update per il tipo Page.
Seleziona un protocollo e una versione per il riferimento alla pagina:
| Protocollo | V3 | V3beta1 |
|---|---|---|
| REST | Risorsa Page | Risorsa Page |
| RPC | Interfaccia della pagina | Interfaccia della pagina |
| C++ | PagesClient | Non disponibile |
| C# | PagesClient | Non disponibile |
| Vai | PagesClient | Non disponibile |
| Java | PagesClient | PagesClient |
| Node.js | PagesClient | PagesClient |
| PHP | Non disponibile | Non disponibile |
| Python | PagesClient | PagesClient |
| Ruby | Non disponibile | Non disponibile |
I seguenti dati sono associati alle pagine:
- Nome visualizzato: un nome leggibile per la pagina.
- Fulfillment di ingresso (noto anche come Finestra di dialogo di ingresso): questo è il fulfillment da chiamare quando la pagina diventa attiva per la prima volta.
- Parametri: questi sono i valori parametro in un modulo di pagina che acquisiscono l'input strutturato dall'utente finale.
- Route: questi gestori di stato possono essere chiamati quando la pagina è attiva. Per maggiori dettagli, consulta Percorsi dei gestori a livello di pagina
- Gruppi di route: le route all'interno di questi gruppi possono 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 avanzate possono facoltativamente sostituire le stesse impostazioni vocali del flusso e 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 sono disponibili in Adattamento manuale del parlato.
Per accedere alle impostazioni della pagina:
Console
- Apri la console Dialogflow CX.
- Scegli il tuo progetto 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
Consulta i metodi get e patch/update per il tipo Page.
Seleziona un protocollo e una versione per il riferimento alla pagina:
| Protocollo | V3 | V3beta1 |
|---|---|---|
| REST | Risorsa Page | Risorsa Page |
| RPC | Interfaccia della pagina | Interfaccia della pagina |
| C++ | PagesClient | Non disponibile |
| C# | PagesClient | Non disponibile |
| Vai | PagesClient | Non disponibile |
| Java | PagesClient | PagesClient |
| Node.js | PagesClient | PagesClient |
| PHP | Non disponibile | Non disponibile |
| Python | PagesClient | PagesClient |
| Ruby | Non disponibile | Non disponibile |
Elimina una pagina
Per eliminare una pagina:
Console
- Apri la console Dialogflow CX.
- Scegli il tuo progetto Google Cloud .
- Seleziona l'agente.
- Seleziona il flusso per la pagina nella sezione Flussi.
- Fai clic sul pulsante delle impostazioni more_vert accanto al nome visualizzato della pagina nella sezione Pagine.
- Seleziona Elimina.
API
Consulta il metodo delete per il tipo Page.
Seleziona un protocollo e una versione per il riferimento alla pagina:
| Protocollo | V3 | V3beta1 |
|---|---|---|
| REST | Risorsa Page | Risorsa Page |
| RPC | Interfaccia della pagina | Interfaccia della pagina |
| C++ | PagesClient | Non disponibile |
| C# | PagesClient | Non disponibile |
| Vai | PagesClient | Non disponibile |
| Java | PagesClient | PagesClient |
| Node.js | PagesClient | PagesClient |
| PHP | Non disponibile | Non disponibile |
| Python | PagesClient | PagesClient |
| Ruby | Non disponibile | Non disponibile |