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:

Screenshot del grafico dell'agente

Prima di iniziare

Prima di leggere questa guida, devi procedere nel seguente modo:

  1. Leggi le nozioni di base su Dialogflow CX.
  2. Esegui i passaggi di configurazione.

Crea un agente

Crea un nuovo agente per questa guida:

  1. Apri la console Dialogflow CX.
  2. Crea o scegli un progetto.
  3. Fai clic su Crea agente.
  4. Seleziona Crea il tuo.
  5. Compila il modulo per le impostazioni di base dell'agente:
    1. Puoi scegliere qualsiasi nome visualizzato.
    2. Seleziona il tuo preferito. location. Fai clic sul pulsante Modifica se vuoi modificare le impostazioni di geolocalizzazione avanzate.
    3. Seleziona il fuso orario che preferisci.
    4. Seleziona la lingua predefinita per l'agente.
    5. Facoltativamente, abilita il logging di Stackdriver.
  6. 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:

  1. Fai clic sul pulsante Test agente per aprire il simulatore.
  2. Inserisci hello nella casella di immissione del testo e premi Invio.
  3. L'agente risponde con una risposta di benvenuto predefinita.
  4. Chiudi il simulatore.

Screenshot del simulatore

L'agente ha eseguito i seguenti passaggi per questo input utente finale:

  1. 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.
  2. 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.
  3. 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.
  4. La route chiamata non ha un target di transizione, quindi il flusso attivo e la pagina non sono cambiati.
  5. 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:

  1. Fai clic sulla scheda Crea.
  2. Seleziona Default Start Flow (Flusso di avvio predefinito) nella sezione Flows (Flussi).
  3. Fai clic sul nodo Start nel grafico. Questa è la pagina iniziale del flusso di avvio predefinito.
  4. 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.
  5. 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.
  6. Fai clic su Salva.
  7. Chiudi il riquadro di modifica del percorso per intent.

Screenshot della risposta dell'agente

Testa il messaggio di risposta di benvenuto aggiornato

Per testare la risposta aggiornata:

  1. Fai clic sul pulsante Test Agent (Testa l'agente) per aprire il simulatore.
  2. Inserisci hello nella casella di immissione del testo e premi Invio.
  3. L'agente risponde con il tuo nuovo messaggio.
  4. 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:

  1. Seleziona la scheda Gestisci.
  2. Fai clic su Intent.
  3. Fai clic su Crea.
  4. Inserisci store.location per il nome visualizzato per l'intent.
  5. 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?
  6. Fai clic su Salva.

screenshot dell'intento

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:

  1. Fai clic sulla scheda Crea.
  2. Seleziona Default Start Flow (Flusso di avvio predefinito) nella sezione Flows (Flussi).
  3. Fai clic sull'icona Aggiungi nella sezione Pagine. Viene visualizzata una voce di testo per il nome visualizzato della pagina.
  4. Inserisci Store Location come nome visualizzato della pagina e premi Invio.
  5. Fai clic sulle opzioni accanto al nome visualizzato della pagina.
  6. Seleziona Modifica per aprire il riquadro di modifica della pagina.
  7. Trova Completamento voce e fai clic su Modifica completamento.
  8. Entra in Our store is located at 1007 Mountain Drive, Gotham City, NJ. nel campo Cosa dice l'agente.
  9. Fai clic su Salva.
  10. Chiudi il riquadro di modifica della pagina.

screenshot 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:

  1. Fai clic sulla scheda Crea.
  2. Seleziona Default Start Flow (Flusso di avvio predefinito) nella sezione Flows (Flussi).
  3. Fai clic sul nodo Inizia nel grafico. Questa è la pagina iniziale del flusso di inizio predefinito.
  4. Aggiungi la seguente route per intent:
    • Intent: store.location
    • Pagina di transizione: Store Location
  5. Fai clic su Salva.
  6. Chiudi il riquadro di modifica del percorso per intent.

screenshot 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:

  1. Fai clic sul pulsante Test Agent (Testa l'agente) per aprire il simulatore.
  2. Inserisci What is the store location? e premi Invio.
  3. L'agente fornisce l'indirizzo.
  4. Chiudi il simulatore.

L'agente ha svolto i seguenti passaggi per l'input dell'utente finale:

  1. 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.
  2. 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.
  3. La route chiamata non ha messaggi di risposta di completamento, perciò non ha aggiunto nulla alla coda delle risposte.
  4. La route chiamata ha un target di transizione, quindi la pagina attiva è cambiata in Sede del negozio.
  5. 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).
  6. 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:

  1. Fai clic sul nodo Start nel grafico.
  2. Fai clic sul pulsante Aggiungi della route per intent. Si apre il riquadro di modifica del percorso per intent.
  3. Nella sezione Intent, seleziona Nuovo intent. Viene visualizzato il riquadro di modifica dell'intenzione.
  4. Crea un'intenzione store.hours con le seguenti frasi di addestramento:

    • What are your store hours?
    • What time do you close?
  5. Fai clic su Salva per salvare l'intent. Il riquadro di modifica dell'intent si chiude.

  6. Scorri verso il basso fino alla sezione Transizione nel riquadro di modifica del percorso per intent.

  7. Per la transizione della pagina, Seleziona Nuova pagina.

  8. Inserisci Store Hours nella voce di testo visualizzata.

  9. Fai clic su Salva. La nuova pagina appare sul grafico, perché c'è una transizione che conduce a tutto questo.

  10. Chiudi il riquadro di modifica del percorso dell'intent.

  11. 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.

  12. 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à:

  1. Seleziona la scheda Gestisci.
  2. Fai clic su Tipi di entità.
  3. Fai clic su +Crea.
  4. Imposta il nome visualizzato su size.
  5. Aggiungi le voci di entità elencate nella tabella precedente.
  6. 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:

  1. Seleziona la parte della frase di addestramento che vuoi annotare.
  2. Seleziona dall'elenco il tipo di entità che ti interessa.
  3. 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:

Screenshot dell'intento

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:

  1. Fai clic sulla pagina Nuovo ordine nel grafico.
  2. Fai clic sul pulsante Parametri Pulsante Aggiungi . Si apre il riquadro di modifica dei parametri.
  3. Aggiungi i parametri come descritto nella tabella precedente.
  4. Fai clic su Salva.
  5. 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?
  1. Viene chiamato il percorso Intent di benvenuto predefinito nel Flusso di inizio predefinito.
  2. L'implementazione di questo gestore dello stato ("Un saluto da…") viene aggiunto alla coda di risposte.
  3. L'agente invia la coda di risposte all'utente finale.
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?
  1. La route per intent order.new nel flusso di avvio predefinito.
  2. Viene abbinato l'intent order.new, e il parametro di intent color è impostato su "blu".
  3. La sessione passa alla pagina Nuovo ordine, mentre il parametro di intent color diventa un parametro di sessione.
  4. La pagina Nuovo ordine contiene una voce di completamento ("Ok, iniziamo..."), per aggiungerlo alla coda delle risposte.
  5. Viene utilizzato il parametro di sessione color per compilare il parametro del modulo con lo stesso nome.
  6. La route con condizione true nella pagina Nuovo ordine viene valutato e chiamato. Contiene un messaggio di risposta ("Vorrei raccogliere..."), per aggiungerlo alla coda delle risposte.
  7. Il modulo delle pagine non è stato compilato, quindi l'agente utilizza il prompt delle dimensioni ("Quale dimensione...") e lo aggiunge alla coda delle risposte.
  8. L'agente invia la coda di risposte all'utente finale.
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.
  1. L'input utente finale riempie il parametro size richiesto dall'agente nel turno di conversazione precedente.
  2. Il percorso di compilazione del modulo nella pagina Nuovo ordine viene valutato e chiamato. Ha un fulfillment ("Hai selezionato..."), che viene aggiunto alla coda di risposte con i riferimenti ai parametri risolti in i valori effettivi forniti dall'utente finale.
  3. La sessione passa alla pagina Conferma ordine.
  4. La pagina Conferma dell'ordine contiene una voce di completamento dell'ordine ("Puoi rispondere..."), che viene aggiunto alla coda delle risposte.
  5. L'agente invia la coda di risposte all'utente finale.
  6. La sessione passa a Termina sessione.

Produzione

Prima di eseguire l'agente in produzione, assicurati di implementare best practice per la produzione.

Passaggi successivi