Crea un agente Dialogflow CX
Questa guida mostra come utilizzare la console Dialogflow CX per creare e testare un semplice agente per l'ordinazione di camicie. Durante l'interazione con l'agente, puoi chiedere la posizione del negozio, trova gli orari di apertura, o ordinare camicie.
La console mostrerà un grafico dell'agente completato per questa guida ad esempio:
Prima di iniziare
Prima di leggere questa guida, devi procedere nel seguente modo:
- Leggi le nozioni di base su Dialogflow CX.
- Esegui i passaggi di configurazione.
Crea un agente
Crea un nuovo agente per questa guida:
- Apri la console Dialogflow CX.
- Crea o scegli un progetto.
- Fai clic su Crea agente.
- Seleziona Crea il tuo.
- Compila il modulo per le impostazioni di base dell'agente:
- Puoi scegliere qualsiasi nome visualizzato.
- Seleziona il tuo preferito. location. Fai clic sul pulsante Modifica se vuoi modificare le impostazioni di geolocalizzazione avanzate.
- Seleziona il fuso orario che preferisci.
- Seleziona la lingua predefinita per l'agente.
- Facoltativamente, abilita il logging di Stackdriver.
- Fai clic su Salva.
Importazione agente facoltativo
Questa guida illustra i passaggi per creare un semplice addetto all'ordinazione di camicie. Se vuoi saltare i passaggi della console, puoi scaricare l'agente e importarlo.
Flusso e intent predefiniti
Il flusso e gli intent seguenti vengono creati automaticamente per un nuovo agente. Puoi trovare gli intent facendo clic su Gestisci e poi su Intent. Puoi trovare il flusso facendo clic su Crea.
Termine | Definizione |
---|---|
Intent di benvenuto predefinito | L'intent di benvenuto predefinito contiene frasi di addestramento semplici come "Ciao" o "Ciao" che corrispondano all'input iniziale dell'utente finale. Puoi modificare questa intenzione come preferisci. |
Intento escluso predefinito | È possibile utilizzare l'intent escluso predefinito per aggiungere a questo intent frasi di addestramento che fungono da esempi negativi. |
Default Start Flow | Il flusso di avvio predefinito può essere utilizzato come unico flusso. È l'unico flusso che verrà utilizzato in questa guida. Per agenti più complessi, puoi aggiungere altri flussi. Questo flusso ha una route dell'intent predefinita con l'intent di benvenuto predefinito come requisito per gli intent. |
Testare il messaggio di risposta di benvenuto predefinito
Il flusso e gli intent predefiniti sono in grado di gestire una conversazione di base con un solo messaggio di benvenuto. Per testare il nuovo agente:
- Fai clic sul pulsante Test agente per aprire il simulatore.
- Inserisci
hello
nella casella di immissione del testo e premi Invio. - L'agente risponde con una risposta di benvenuto predefinita.
- Chiudi il simulatore.
L'agente ha eseguito i seguenti passaggi per questo input utente finale:
- Quando hai fornito il tuo input, il flusso di inizio predefinito era il flusso attivo e la pagina di inizio del flusso era la pagina attiva. Ciascuno dei gestori di stato applicati al flusso attivo in ambito, in modo che l'agente li abbia valutati.
- Una delle route valutate ha l'intent di benvenuto predefinito come requisito di intent. Il tuo input corrispondeva a questo intento quindi è stato chiamato il percorso.
- La route chiamata include diversi messaggi di risposta di completamento. L'agente ne ha scelto una a caso e l'ha aggiunta alla coda di risposta.
- La route chiamata non ha un target di transizione, quindi il flusso attivo e la pagina non sono cambiati.
- L'agente ha risposto con il contenuto della coda delle risposte.
Modifica il messaggio di risposta di benvenuto
Puoi modificare questo messaggio di benvenuto. Per modificare il messaggio di risposta di benvenuto:
- Fai clic sulla scheda Crea.
- Seleziona Default Start Flow (Flusso di avvio predefinito) nella sezione Flows (Flussi).
- Fai clic sul nodo Start nel grafico. Questa è la pagina iniziale del flusso di avvio predefinito.
- Trovare il percorso per intent con l'intent di benvenuto predefinito come requisito relativo all'intenzione, quindi fai clic sul risultato. Si aprirà un riquadro per modificare le informazioni sul percorso dell'intenzione.
- Individua la sezione di evasione ed elimina tutti i messaggi di risposta, poi aggiungi
Hello, this is a shirt ordering virtual agent. How can I help you?
come unica risposta. - Fai clic su Salva.
- Chiudi il riquadro di modifica del percorso per intent.
Testa il messaggio di risposta di benvenuto aggiornato
Per testare la risposta aggiornata:
- Fai clic sul pulsante Test Agent (Testa l'agente) per aprire il simulatore.
- Inserisci
hello
nella casella di immissione del testo e premi Invio. - L'agente risponde con il tuo nuovo messaggio.
- Chiudi il simulatore.
Pagina della sede del negozio
Una conversazione (sessione) Dialogflow CX può essere descritta e visualizzata come macchina a stato. Gli stati di una sessione CX sono rappresentati da pagine. Finora, hai una sola pagina, quindi l'agente non è molto utile. In questa sezione, crei un'altra pagina che gestisce le domande sulla sede del negozio.
Crea l'intent di località
Un intent classifica le intenzioni di un utente finale per un turno di conversazione. Per creare un intent che corrisponda quando input utente finale richiede la posizione del negozio:
- Seleziona la scheda Gestisci.
- Fai clic su Intent.
- Fai clic su Crea.
- Inserisci
store.location
per il nome visualizzato per l'intent. - Inserisci le seguenti frasi di addestramento:
Where is the store?
Directions
Tell me the address
Where do I pick up my order?
How do I get there?
Where is the store located?
What street are you on?
What is your address?
How do I get to your store?
Where are you located?
- Fai clic su Salva.
Crea la pagina della stazione di ricarica
Ora crea la nuova pagina. Puoi aggiungere un completamento della voce a questa pagina che verrà ogni volta che la pagina diventa attiva. L'evasione di questa voce deve avere un messaggio di risposta che fornisca la posizione del negozio. Per creare la pagina della sede del negozio:
- Fai clic sulla scheda Crea.
- Seleziona Default Start Flow (Flusso di avvio predefinito) nella sezione Flows (Flussi).
- Fai clic sull'icona Aggiungi add nella sezione Pagine. Viene visualizzata una voce di testo per il nome visualizzato della pagina.
- Inserisci
Store Location
come nome visualizzato della pagina e premi Invio. - Fai clic sulle opzioni more_vert accanto al nome visualizzato della pagina.
- Seleziona Modifica per aprire il riquadro di modifica della pagina.
- Trova Completamento voce e fai clic su Modifica completamento.
- Entra in
Our store is located at 1007 Mountain Drive, Gotham City, NJ.
nel campo Cosa dice l'agente. - Fai clic su Salva.
- Chiudi il riquadro di modifica della pagina.
Aggiungi una route per intent di località al flusso
A questo punto, devi creare una route che ha la pagina della sede del negozio come target di transizione. Quando viene chiamato questo percorso, la sessione passa alla pagina della sede del negozio. Questo percorso è applicato al flusso di avvio predefinito. quindi rimane nell'ambito finché il flusso è attivo. Per un agente a flusso singolo, Ciò significa che la route è sempre nell'ambito di applicazione. In qualsiasi momento della conversazione, l'utente finale può chiedere la posizione del negozio e verrà chiamato questo percorso.
Per creare questa route:
- Fai clic sulla scheda Crea.
- Seleziona Default Start Flow (Flusso di avvio predefinito) nella sezione Flows (Flussi).
- Fai clic sul nodo Inizia nel grafico. Questa è la pagina iniziale del flusso di inizio predefinito.
- Aggiungi la seguente route per intent:
- Intent:
store.location
- Pagina di transizione:
Store Location
- Intent:
- Fai clic su Salva.
- Chiudi il riquadro di modifica del percorso per intent.
Quando chiudi il riquadro di modifica, noterai che la nuova pagina ha un nodo nel grafico. La freccia dal nodo Inizio al nodo Posizione negozio indica in che modo la sessione può passare da un nodo all'altro.
Testa la pagina della sede del negozio
Per testare la tua pagina:
- Fai clic sul pulsante Test Agent (Testa l'agente) per aprire il simulatore.
- Inserisci
What is the store location?
e premi Invio. - L'agente fornisce l'indirizzo.
- Chiudi il simulatore.
L'agente ha svolto i seguenti passaggi per l'input dell'utente finale:
- Quando hai fornito l'input, Flusso di avvio predefinito era il flusso attivo e pagina iniziale del flusso era la pagina attiva. Ciascuno dei gestori di stato applicati al flusso attivo in ambito, in modo che l'agente li abbia valutati.
- Una delle route valutate ha il valore store.location come requisito di intent. Il tuo input corrispondeva a questo intento quindi è stato chiamato il percorso.
- La route chiamata non ha messaggi di risposta di completamento, perciò non ha aggiunto nulla alla coda delle risposte.
- La route chiamata ha un target di transizione, quindi la pagina attiva è cambiata in Sede del negozio.
- La pagina Sede del negozio include un completamento della voce, quindi il messaggio di risposta per il fulfillment è stato aggiunto alla coda di risposte (l'indirizzo).
- L'agente ha risposto con il contenuto della coda delle risposte.
Pagina degli orari di apertura del negozio utilizzando la creazione in linea
In questa sezione, Crei una pagina Orari di apertura che gestisca le domande domande sugli orari di apertura. Nelle sezioni precedenti, hai creato pagine e intent dalle schede Crea e Gestisci. Questa sezione mostra un modo più rapido per creare questi tipi con la creazione in linea.
Per creare in linea una route per intent, un intent e una pagina:
- Fai clic sul nodo Start nel grafico.
- Fai clic sul pulsante Aggiungi add della route per intent. Si apre il riquadro di modifica del percorso per intent.
- Nella sezione Intent, seleziona Nuovo intent. Viene visualizzato il riquadro di modifica dell'intenzione.
Crea un'intenzione
store.hours
con le seguenti frasi di addestramento:What are your store hours?
What time do you close?
Fai clic su Salva per salvare l'intent. Il riquadro di modifica dell'intent si chiude.
Scorri verso il basso fino alla sezione Transizione nel riquadro di modifica del percorso per intent.
Per la transizione della pagina, Seleziona Nuova pagina.
Inserisci
Store Hours
nella voce di testo visualizzata.Fai clic su Salva. La nuova pagina appare sul grafico, perché c'è una transizione che conduce a tutto questo.
Chiudi il riquadro di modifica del percorso dell'intent.
Aggiungi un evasione degli ordini per la voce che indichi gli orari di apertura del negozio, in modo analogo ai passaggi seguiti per Sede del negozio.
Chiudi tutti i riquadri di modifica aperti.
Pagina articolo dell'ordine
Ora creerai una pagina che utilizza parametri del modulo. Quando l'utente finale richiede un nuovo ordine di camicie, la sessione passa a questa pagina. Se attiva, questa pagina raccoglie una taglia e un colore per l'ordine della camicia.
Creare un tipo di entità personalizzato per la taglia della camicia
Tipi di entità per controllare il modo in cui vengono estratti i dati dell'input dell'utente finale. Dialogflow CX fornisce entità di sistema predefinite che possono corrispondere a molti tipi di dati comuni. Ad esempio, esistono entità di sistema per date, orari, colori indirizzi email e così via. Puoi anche creare entità personalizzate per associare i dati personalizzati.
Per questo agente, puoi usare un'entità di sistema per il colore della maglia, ma devi creare un'entità personalizzata per la taglia della camicia. Il tipo di entità "size" deve avere le seguenti voci di entità:
Entità | Sinonimi |
---|---|
small | piccolo, minuscolo, piccolo |
media | medio, regolare, medio |
grande | grande, grande, gigante |
Per creare questa entità:
- Seleziona la scheda Gestisci.
- Fai clic su Tipi di entità.
- Fai clic su +Crea.
- Imposta il nome visualizzato su
size
. - Aggiungi le voci di entità elencate nella tabella precedente.
- Fai clic su Salva.
Creare un intent di ordine con parametri di intent
Hai bisogno di un intent che corrisponda quando l'utente finale richiede un nuovo ordine di camicie. Questo intent dovrebbe anche acquisire il colore e/o la taglia della camicia desiderati fornite dall'utente finale nel caso in cui quest'ultimo fornisca tali informazioni in anticipo.
I parametri vengono utilizzati per acquisire e fare riferimento ai valori forniti dall'utente finale durante una sessione. Ogni parametro ha un nome visualizzato e un tipo di entità. A differenza dell'input non elaborato dell'utente finale, sono dati strutturati, che possono essere facilmente utilizzati per eseguire alcune logiche o generare risposte.
Puoi controllare il modo in cui i dati degli utenti finali vengono estratti con la corrispondenza dell'intent mediante
annotazione
delle tue frasi di addestramento e configurare le parti associate
parametri di intent.
Ad esempio, considera una frase di addestramento come
"Quali sono le previsioni per domani per Tokyo?"
Dovresti annotare "domani" con un parametro date
e "Tokyo" con un parametro location
.
Quando annota parti di una frase di addestramento,
Dialogflow CX riconosce che queste parti sono solo esempi
dei valori effettivi che verranno forniti
dagli utenti finali in fase di runtime.
Per un input utente finale come
"Quali sono le previsioni per venerdì a Sydney?",
Dialogflow CX estrarrà il parametro date
da "Friday"
e il parametro location
di "Sydney".
Per annotare una frase di addestramento con la console:
- Seleziona la parte della frase di addestramento che vuoi annotare.
- Seleziona dall'elenco il tipo di entità che ti interessa.
- Nella tabella dei parametri riportata di seguito viene creato un parametro.
Crea un intent simile ai passaggi seguiti sopra.
Assegna a questa intenzione il nome order.new
.
Per ogni frase che contiene un colore,
annota il colore con un parametro color
e il tipo di entità di sistema @sys.color
.
Per ogni frase che contiene una taglia per la camicia,
annota la dimensione con un parametro size
e il tipo di entità personalizzata @size
che hai creato nei passaggi precedenti.
I parametri e le frasi di addestramento dovrebbero essere simili ai seguenti:
Pagina Crea un ordine
Crea la pagina del nuovo ordine seguendo passaggi simili a quelli precedenti:
- Nome visualizzato:
New Order
- Evasione della voce:
Ok, let's start a new order.
Aggiungi un modulo alla pagina dell'ordine
Per ogni pagina puoi definire modulo, un elenco di parametri che deve essere raccolto dall'utente finale per la pagina. L'agente interagisce con l'utente finale in più turni di conversazione, finché non ha raccolto tutti i parametri del modulo richiesti, chiamati anche parametri di pagina. Per ogni parametro del modulo, fornisci anche prompt che l'agente utilizza per richiedere queste informazioni all'utente finale. Questa procedura è chiamata compilazione di moduli.
Quando un utente finale fornisce i parametri di intent per una corrispondenza di intent, i parametri di intent diventano parametri di sessione. Quando una pagina diventa attiva, tutti i parametri del modulo sono precompilati con parametri di sessione con lo stesso nome. Pertanto, se l'utente finale fornisce la taglia o il colore quando viene trovata una corrispondenza per l'intent order.new, questi valori verranno inseriti automaticamente nel modulo.
Per la pagina del nuovo ordine, devi definire due parametri del modulo obbligatori:
Obbligatorio | Nome visualizzato | Tipo di entità | È un elenco | Prompt |
---|---|---|---|---|
color | @sys.color | Che colore preferisci? | ||
dimensioni | @size | Che taglia vuoi? |
Per aggiungere questo modulo:
- Fai clic sulla pagina Nuovo ordine nel grafico.
- Fai clic sul pulsante Parametri Pulsante Aggiungi add. Si apre il riquadro di modifica dei parametri.
- Aggiungi i parametri come descritto nella tabella precedente.
- Fai clic su Salva.
- Chiudi il riquadro di modifica dei parametri.
Aggiungi una route per intent di ordine al flusso
Analogamente ai passaggi precedenti, aggiungere una route al flusso di avvio predefinito. Questo percorso deve essere chiamato quando l'utente finale vuole effettuare un nuovo ordine:
- Intent: order.new
- Pagina Target di transizione: Nuovo ordine
Pagina di conferma
L'ultima pagina confermerà l'ordine e terminerà la sessione.
Crea la pagina di conferma
Crea una pagina di conferma con una risposta che utilizzi i parametri di sessione per confermare l'ordine:
- Nome visualizzato:
Order Confirmation
- Evasione della voce:
You can pick up your order for a $session.params.size $session.params.color shirt in 7 to 10 business days. Goodbye.
Aggiungi route delle condizioni alla pagina dell'ordine
Puoi anche utilizzare condizioni per determinare se viene richiamata una route. Le condizioni vengono comunemente utilizzate per verificare se un modulo è completo o sono configurate per essere sempre chiamate quando vengono valutate.
Per impostare le condizioni nella console, seleziona Imposta condizioni documentazione.
Aggiungi il seguente percorso alla pagina dell'ordine, che verrà chiamato quando verrà compilato il modulo della pagina d'ordine. Nota come questa condizione indirizza utilizza i riferimenti ai parametri nella risposta all'utente finale e come esegue la transizione della sessione alla pagina Conferma dell'ordine.
- Condizione:
$page.params.status = "FINAL"
- Cosa dice l'agente:
You have selected a $session.params.size, $session.params.color shirt.
- Pagina di transizione:
Order Confirmation
Aggiungi il seguente percorso alla pagina dell'ordine, che verrà richiamata a ogni svolta di conversazione in cui la pagina è attiva e viene valutata la route della condizione. Quando viene valutata e chiamata la condizione di cui sopra, la pagina diventa inattiva pertanto questa route di condizione true non viene valutata:
- Condizione:
true
- L'agente dice:
I'd like to collect a bit more information from you.
Crea una route con condizione per terminare la sessione
Aggiungi il seguente percorso della condizione alla pagina Conferma ordine per terminare la sessione una volta che la pagina diventa attiva e il completamento dell'accesso viene elaborato:
- Condizione:
true
- Target di transizione: Pagina:
End Session
Testa l'agente completato
Testa l'agente utilizzando la seguente finestra di dialogo:
Dialogo | Spiegazione |
---|---|
Utente finale: Ciao Agente: Ciao, sono un agente virtuale per l'ordine di camicie. Come posso aiutarti? |
|
Utente finale: voglio acquistare una camicia blu Agente: OK, avviamo un nuovo ordine. Agent: Vorrei raccogliere qualche informazione in più da te. Agent: Quanto grande? |
|
Utente finale:grande Agente: Hai scelto una camicia blu grande. Agent: Puoi ritirare l'ordine per una camicia blu grande in 7-10 giorni lavorativi. Arrivederci. |
|
Produzione
Prima di eseguire l'agente in produzione, assicurati di implementare best practice per la produzione.
Passaggi successivi
- Scopri di più sugli agenti Dialogflow CX