Una conversazione (sessione) di Conversational Agents (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 combinate possono gestire una conversazione completa sui temi per cui è progettato il flusso. In un determinato 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 iniziale speciale. Quando un flusso diventa inizialmente attivo, la pagina iniziale diventa la pagina corrente. Per ogni turno di conversazione, la pagina corrente rimarrà invariata o passerà a un'altra pagina.
Configura ogni pagina per raccogliere dall'utente finale informazioni pertinenti per lo stato della conversazione rappresentato dalla pagina. Ad esempio, potresti creare le pagine (in blu) nello schema seguente per un flusso di ordine di cibo di un addetto alla consegna di pizza. Il nodo Inizia del diagramma rappresenta la pagina di inizio del flusso Ordine di cibo. Al termine del flusso, viene eseguito il passaggio al flusso Conferma.
Ciclo di vita di una pagina
Una volta attivata una pagina, l'agente segue diversi passaggi che possono includere l'inserimento di dati, il precompilamento dei moduli, la valutazione dell'handler dello stato, la richiesta di parametri del modulo, l'invio di messaggi di risposta all'utente finale, e una modifica della pagina o un ciclo di ripetizione:
I dettagli di questa procedura sono i seguenti:
Se per la pagina esiste un'implementazione delle voci, viene chiamata. Eventuali risposte statiche fornite dall'erogazione vengono aggiunte alla coda di risposta.
Se la risposta parziale è attivata, Conversational Agents (Dialogflow CX) svuota la coda di risposta e invia tutti i messaggi in coda come risposta parziale all'autore della chiamata dell'API di streaming.
Se il completamento ha un webhook, questo viene chiamato e potrebbe aggiungere altre risposte alla coda. Queste risposte aggiuntive non attivano un 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 di modulo viene copiato nel parametro di modulo.
- Se un percorso ha attivato una transizione a questa pagina e il percorso contiene un intent corrispondente, qualsiasi parametro intent con lo stesso nome di un parametro del modulo viene copiato nel parametro del modulo.
Se gli eventuali gestori dello stato sono nell'ambito, vengono valutati in base alle regole dell'ordine di valutazione dei gestori. Ciò può includere percorsi, gestori di eventi o gestori di richieste di conferma richiamati dall'iterazione del loop precedente. Se viene chiamato un gestore dello stato, puoi verificarsi una o entrambe le seguenti condizioni:
- Se esiste un'implementazione per l'handler, viene chiamata. Eventuali risposte statiche fornite dall'erogazione vengono aggiunte alla coda di risposta. Se sono attivati, vengono eseguiti anche la risposta parziale e l'webhook.
- Se esiste un flusso o una pagina di destinazione per l'handler, la sessione passa alla destinazione e la pagina diventa inattiva.
Se tutte le seguenti condizioni sono vere, viene aggiunto alla coda di risposta un prompt per i parametri del modulo:
- La pagina abbia un modulo.
- Mancano alcuni parametri obbligatori del modulo da compilare.
- Nel passaggio 3 non è stato seguito un gestore del prompt di nuovo prompt.
- La risposta parziale e l'webhook vengono eseguiti se sono attivati.
I messaggi rimanenti 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 determinato turno di conversazione e mette in evidenza gli elementi del generatore di agenti correlati per ogni passaggio. Nel seguente esempio, l'input utente finale "Vorrei noleggiare un'auto" attiva cinque passaggi di esecuzione e transizione:
Il visualizzatore dei passaggi di esecuzione ti reindirizza alla pagina di inizio della conversazione per il primo passaggio. In questo caso si tratta della home page predefinita.
Il percorso di transizione per l'intent
car_rental.reservation_create
viene attivato. Il visualizzatore dei passaggi di esecuzione mette in evidenza questo percorso, in cui puoi vedere che la destinazione della transizione è la paginaPickup Location
.L'agente accede alla pagina
Pickup Location
.L'agente valuta l'inserimento della pagina
Pickup Location
. La gestione dell'ordine è vuota, quindi non succede nulla.L'agente tenta di raccogliere il parametro del modulo richiesto
pickup_location
e il messaggio iniziale di adempimento della richiesta per questo parametro viene mostrato all'utente finale.
Puoi anche annullare l'ultima frase e provare qualcos'altro 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 il tuo agente.
- Seleziona un flusso per la pagina nella sezione Flussi.
- Fai clic sul pulsante di aggiuntaadd 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.
- Inserisci 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 pagina:
Protocollo | V3 | V3beta1 |
---|---|---|
REST | Risorsa pagina | Risorsa pagina |
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 il tuo agente.
- Fai clic sul flusso nella sezione Fluidi.
- 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
Consulta i metodi get
e patch/update
per il tipo Page
.
Seleziona un protocollo e una versione per il riferimento pagina:
Protocollo | V3 | V3beta1 |
---|---|---|
REST | Risorsa pagina | Risorsa pagina |
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.
- Completamento dell'inserimento (noto anche come dialogo di inserimento): si tratta del compilamento da chiamare quando la pagina diventa inizialmente attiva.
- Parametri: si tratta dei valori dei parametri in un modulo di pagina che acquisiscono input strutturati dall'utente finale.
- Route: Questi gestori degli stati possono essere chiamati quando la pagina è attiva. Per informazioni dettagliate, consulta Percorsi degli handler a livello di pagina
- Gruppi di route: i route all'interno di questi gruppi possono essere chiamati quando la pagina è attiva. Per maggiori dettagli, consulta Gruppi di route
- Gestor di eventi: Questi gestori di eventi possono essere chiamati quando la pagina è attiva. Per maggiori dettagli, consulta Gestione degli eventi a livello di pagina
Impostazioni pagina
Per le pagine sono disponibili le seguenti impostazioni:
Impostazioni avanzate per il parlato: se vuoi, queste impostazioni avanzate per il parlato possono sostituire le stesse impostazioni per il parlato del flusso e impostazioni per il parlato dell'agente.
Impostazioni di adattamento vocale: se vuoi, le impostazioni di adattamento vocale a livello di pagina possono 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 tuo progetto Google Cloud.
- Seleziona il tuo agente.
- Passa il mouse sopra la pagina nella sezione Pagine.
- Fai clic sul pulsante 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 pagina:
Protocollo | V3 | V3beta1 |
---|---|---|
REST | Risorsa pagina | Risorsa pagina |
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 |
Eliminare una pagina
Per eliminare una pagina:
Console
- Apri la console Dialogflow CX.
- Scegli il tuo progetto Google Cloud.
- Seleziona il tuo 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 pagina:
Protocollo | V3 | V3beta1 |
---|---|---|
REST | Risorsa pagina | Risorsa pagina |
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 |