Crea un agente Dialogflow CX

Questa guida mostra come utilizzare la console di Dialogflow CX per creare e testare un semplice agente di ordinazione di magliette. Quando interagisci con questo agente, puoi chiedere la posizione del negozio, conoscere gli orari di apertura o ordinare una maglietta.

L'agente completato per questa guida verrà rappresentato graficamente dalla console nel seguente modo:

Screenshot del grafico dell'agente

Prima di iniziare

Prima di leggere questa guida, effettua le seguenti operazioni:

  1. Leggi le nozioni di base su Dialogflow CX.
  2. Esegui la procedura 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 la tua.
  5. Compila il modulo per le impostazioni di base dell'agente:
    1. Puoi scegliere qualsiasi nome visualizzato.
    2. Seleziona la località che preferisci. Fai clic sul pulsante Modifica se vuoi modificare le impostazioni di località avanzate.
    3. Seleziona il fuso orario che preferisci.
    4. Seleziona la lingua predefinita per l'agente.
    5. Facoltativamente, abilita Stackdriver Logging.
  6. Fai clic su Salva.

Importazione facoltativa dell'agente

Questa guida illustra i passaggi per creare un semplice agente per ordinare magliette. 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. Per trovare il flusso, fai clic su Crea.

Termine Definizione
Intento di benvenuto predefinito L'intent di benvenuto predefinito include semplici frasi di addestramento, come "Ciao" o "Ciao", pensate per corrispondere all'input utente iniziale dell'utente finale. Puoi modificare questo intent come preferisci.
Intento negativo predefinito L'intent negativo predefinito può essere utilizzato per aggiungere a questo intent frasi di addestramento che fungono da esempi negativi.
Flusso di avvio predefinito 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 di intent.

Testare il messaggio di risposta di benvenuto predefinito

Gli intent e il flusso predefiniti possono gestire una conversazione di base solo con un messaggio di benvenuto. Per testare il nuovo agente:

  1. Fai clic sul pulsante Test Agent (Agente di test) per aprire il simulatore.
  2. Inserisci hello nel 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 l'input, il Flusso di avvio predefinito era il flusso attivo, mentre la pagina iniziale del flusso era la pagina attiva. Ciascuno dei gestori di stato applicati al flusso attivo era nell'ambito, quindi l'agente li ha valutati.
  2. Una delle route valutate ha l'intent di benvenuto predefinito come requisito di intent. L'input corrispondeva a questo intent, quindi è stata chiamata la route.
  3. La route chiamata ha diversi messaggi di risposta del fulfillment. L'agente ne ha selezionato una a caso e l'ha aggiunta alla coda di risposta.
  4. La route chiamata non ha una destinazione di transizione, quindi la pagina e il flusso attivi non sono cambiati.
  5. L'agente ha risposto con i contenuti della coda di risposta.

Modificare 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 Flusso di avvio predefinito nella sezione Flussi.
  3. Fai clic sul nodo Avvio nel grafico. Questa è la pagina iniziale del Flusso di avvio predefinito.
  4. Trova la route dell'intent con l'intent di benvenuto predefinito come requisito di intent e fai clic. Si apre un riquadro per modificare le informazioni sul percorso dell'intent.
  5. Trova la sezione del fulfillment ed elimina tutti i messaggi di risposta, quindi 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 dell'intent.

Screenshot della risposta dell'agente

Testare il messaggio di risposta di benvenuto aggiornato

Per testare la risposta aggiornata:

  1. Fai clic sul pulsante Test Agent (Agente di test) per aprire il simulatore.
  2. Inserisci hello nel testo e premi Invio.
  3. L'agente risponderà 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 una macchina di stato. Gli stati di una sessione CX sono rappresentati dalle pagine. Finora hai solo una 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 località

Un intent categorizza l'intenzione di un utente finale per un turno di conversazione. Per creare un intent che corrisponda quando l'input dell'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 come nome visualizzato dell'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'intent

Creare la pagina della sede

Ora crea la nuova pagina. Puoi aggiungere un fulfillment di inserimento a questa pagina, che viene richiamato ogni volta che la pagina diventa attiva. Questo fulfillment della voce deve avere un messaggio di risposta che indica la sede del negozio. Per creare la pagina della sede del negozio:

  1. Fai clic sulla scheda Crea.
  2. Seleziona Flusso di avvio predefinito nella sezione Flussi.
  3. Fai clic sul pulsante 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 sul pulsante delle opzioni accanto al nome visualizzato della pagina.
  6. Seleziona Modifica per aprire il riquadro di modifica della pagina.
  7. Trova Voce fulfillment e fai clic su Modifica fulfillment.
  8. Inserisci Our store is located at 1007 Mountain Drive, Gotham City, NJ. nel campo L'agente dice.
  9. Fai clic su Salva.
  10. Chiudi il riquadro di modifica della pagina.

screenshot della pagina

Aggiungi una route per intent di una località al flusso

Ora devi creare una route che abbia la pagina della sede del negozio come destinazione della transizione. Quando viene richiamata questa route, la sessione passa alla pagina della sede del negozio. Questa route viene applicata al flusso di avvio predefinito, quindi è nell'ambito finché il flusso è attivo. Per un agente a flusso singolo, la route è sempre nell'ambito. In qualsiasi momento della conversazione, l'utente finale può chiedere la posizione del negozio e questa route verrà chiamata.

Per creare questa route:

  1. Fai clic sulla scheda Crea.
  2. Seleziona Flusso di avvio predefinito nella sezione Flussi.
  3. Fai clic sul nodo Avvio nel grafico. Questa è la pagina iniziale del Flusso di avvio predefinito.
  4. Aggiungi la seguente route per intent:
    • Intenzione: store.location
    • Pagina di transizione: Store Location
  5. Fai clic su Salva.
  6. Chiudi il riquadro di modifica del percorso dell'intent.

Screenshot della route per intent

Quando chiudi il riquadro di modifica, nota che la nuova pagina presenta un nodo nel grafico. La freccia dal nodo Avvio al nodo Posizione di archiviazione indica come la sessione può passare da un nodo all'altro.

Testare la pagina della sede del negozio

Per testare la pagina:

  1. Fai clic sul pulsante Test Agent (Agente di test) 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 eseguito i seguenti passaggi per l'input utente finale:

  1. Quando hai fornito l'input, il Flusso di avvio predefinito era il flusso attivo, mentre la pagina iniziale del flusso era la pagina attiva. Ciascuno dei gestori di stato applicati al flusso attivo era nell'ambito, quindi l'agente li ha valutati.
  2. Una delle route valutate ha store.location come requisito di intent. L'input corrispondeva a questo intent, quindi è stata chiamata la route.
  3. La route chiamata non contiene messaggi di risposta di fulfillment, quindi non aggiunge nulla alla coda di risposta.
  4. La route chiamata ha una destinazione di transizione, quindi la pagina attiva è stata modificata nella pagina Sede negozio.
  5. La pagina Sede del negozio ha un fulfillment della voce, quindi il messaggio di risposta per il fulfillment è stato aggiunto alla coda di risposta (l'indirizzo).
  6. L'agente ha risposto con i contenuti della coda di risposta.

Pagina Orario di apertura utilizzando la creazione in linea

In questa sezione creerai una pagina Orari di apertura che gestisce le domande degli utenti finali 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 una route di intent, un intent e una pagina da incorporare:

  1. Fai clic sul nodo Avvio nel grafico.
  2. Fai clic sul pulsante Aggiungi route dell'intent . Si apre il riquadro di modifica del percorso dell'intent.
  3. Nella sezione Intent, seleziona Nuovo intent. Si apre il riquadro di modifica dell'intent.
  4. Crea un intent 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 della route intent.

  7. Per la transizione a Pagina, seleziona Nuova pagina.

  8. Inserisci Store Hours nella voce di testo visualizzata.

  9. Fai clic su Salva. La nuova pagina viene visualizzata sul grafico, perché vi porta una transizione.

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

  11. Aggiungi un fulfillment di inserimento che fornisca gli orari di apertura del negozio, in modo simile alla procedura seguita per Sede del negozio.

  12. Chiudi tutti i riquadri di modifica aperti.

Pagina articolo dell'ordine

Poi creerai una pagina che utilizza i parametri del modulo. Quando l'utente finale richiede un nuovo ordine di magliette, la sessione passerà a questa pagina. Quando è attiva, questa pagina raccoglie la taglia e il colore per l'ordine delle magliette.

Crea un tipo di entità personalizzato per la taglia della maglietta

I tipi di entità vengono utilizzati per controllare in che modo vengono estratti i dati provenienti dall'input utente finale. Dialogflow fornisce entità di sistema predefinite che possono corrispondere a molti tipi comuni di dati. Ad esempio, esistono entità di sistema per la corrispondenza di date, orari, colori, indirizzi email e così via. Puoi anche creare entità personalizzate per la corrispondenza dei dati personalizzati.

Per questo agente, puoi utilizzare un'entità di sistema per il colore della camicia, ma devi creare un'entità personalizzata per la taglia della camicia. Il tipo di entità dimensione deve avere le seguenti voci di entità:

Entità Sinonimi
small piccolo, minuscolo, piccolo
media media, regolare, media
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 dell'ordine con parametri di intent

È necessario un intent che corrisponda quando l'utente finale richiede un nuovo ordine di magliette. In questo caso, questo intento dovrebbe anche acquisire il colore e/o la taglia della maglietta forniti dall'utente finale nel caso in cui abbia fornito queste informazioni in primo piano.

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, i parametri sono dati strutturati che possono essere facilmente utilizzati per eseguire una logica o generare risposte.

Puoi controllare il modo in cui i dati degli utenti finali vengono estratti con la corrispondenza di intent annotando parti delle frasi di addestramento e configurando i parametri intent associati. Prendiamo ad esempio una frase di addestramento come "Quali sono le previsioni per Tokyo domani?" Dovresti annotare "domani" con un parametro date e "Tokyo" con un parametro location. Quando annotati parti di una frase di addestramento, Dialogflow riconosce che queste parti sono solo esempi di valori effettivi che verranno forniti dagli utenti finali al momento dell'esecuzione. Per un input utente finale come "Quali sono le previsioni per venerdì a Sydney?", Dialogflow estrarrà il parametro date da "Friday" e il parametro location da "Sydney".

Per annotare una frase di addestramento con la console:

  1. Seleziona la parte della frase di addestramento a cui vuoi aggiungere annotazioni.
  2. Seleziona dall'elenco il tipo di entità che ti interessa.
  3. Viene creato un parametro per te nella tabella dei parametri riportata di seguito.

Crea un intent simile a quanto indicato nei passaggi precedenti. Assegna a questo intent 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 contenente una taglia di camicia, annota la taglia con un parametro size e il tipo di entità personalizzata @size che hai creato nei passaggi precedenti. Le frasi e i parametri di addestramento dovrebbero essere simili ai seguenti:

Screenshot di intent

Crea una pagina per l'ordine

Crea la nuova pagina dell'ordine seguendo una procedura simile a quella precedente:

  • Nome visualizzato: New Order
  • Fulfillment voce: Ok, let's start a new order.

Aggiungi un modulo alla pagina dell'ordine

Per ogni pagina, puoi definire un form, ovvero un elenco di parametri che dovrebbero essere raccolti dall'utente finale della pagina. L'agente interagisce con l'utente finale per più turni di conversazione, finché non ha raccolto tutti i parametri modulo richiesti, chiamati anche parametri di pagina. Per ogni parametro del modulo, fornisci anche i messaggi utilizzati dall'agente per richiedere queste informazioni all'utente finale. Questa procedura è chiamata compilazione di moduli.

Quando un utente finale fornisce parametri di intent per una corrispondenza di intent, i parametri di intent diventano parametri di sessione. Quando una pagina diventa attiva inizialmente, tutti i parametri del modulo vengono precompilati con parametri di sessione con nomi simili. Quindi, se l'utente finale fornisce la dimensione o il colore quando viene soddisfatta l'intent order.new, questi valori verranno compilati automaticamente per il modulo.

Per la nuova pagina dell'ordine, devi definire due parametri obbligatori per il modulo:

Obbligatorio Nome visualizzato Tipo di entità Elenco Prompt
colore @sys.color Che colore vorresti?
dimensioni @dimensioni Che dimensione vuoi?

Per aggiungere questo modulo:

  1. Fai clic sulla pagina Nuovo ordine nel grafico.
  2. Fai clic sul pulsante Parametri per aggiungere . 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 seguiti, aggiungi un percorso al Flusso di avvio predefinito. Questo percorso deve essere chiamato quando l'utente finale vuole effettuare un nuovo ordine:

  • Intenzione: order.new
  • Pagina Destinazione della transizione: Nuovo ordine

Pagina di conferma

La pagina finale conferma semplicemente l'ordine e termina 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
  • Fulfillment 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 di condizione alla pagina dell'ordine

Puoi anche utilizzare le conditions per determinare se una route viene chiamata. Le condizioni vengono comunemente utilizzate per verificare se un modulo è completo o sono configurate in modo da essere sempre richiamate durante la valutazione.

Per impostare le condizioni nella console CX, consulta la documentazione Imposta condizioni.

Aggiungi la seguente route alla pagina dell'ordine, che verrà richiamata quando il modulo della pagina dell'ordine verrà compilato. Nota come questa route di condizione utilizza i riferimenti ai parametri nella risposta all'utente finale e come esegue la transizione della sessione alla pagina Conferma ordine.

  • Condizione: $page.params.status = "FINAL"
  • Agente dice: You have selected a $session.params.size, $session.params.color shirt.
  • Pagina di transizione: Order Confirmation

Aggiungi la seguente route 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 richiamata la condizione riportata sopra, la pagina diventa inattiva, quindi questa route con condizione true non viene valutata:

  • Condizione: true
  • Agente dice: I'd like to collect a bit more information from you.

Crea una route di condizione per terminare la sessione

Aggiungi la seguente route di condizione alla pagina Conferma ordine per terminare la sessione dopo che la pagina è diventata attiva e l'evasione dell'ordine viene elaborato:

  • Condizione: true
  • Destinazione della transizione: Pagina: End Session

Testa l'agente completato

Testa l'agente con la seguente finestra di dialogo:

Dialogo Spiegazione
Utente finale: Ciao
Agente: Ciao, sono un agente virtuale per ordinare magliette. Come posso aiutarti?
  1. Viene chiamata la route Intent di benvenuto predefinito nel Flusso di avvio predefinito.
  2. Il fulfillment per questo gestore di stato ("Hello, this...") viene aggiunto alla coda di risposta.
  3. L'agente invia la coda di risposta all'utente finale.
Utente finale: voglio acquistare una camicia blu
Agente: Ok, creiamo un nuovo ordine.
Agente: Vorrei raccogliere qualche altra informazione da te.
Agente: Quali dimensioni vuoi?
  1. Viene valutata la route dell'intent order.new nel flusso di avvio predefinito.
  2. L'intent order.new corrisponde e il parametro dell'intent color è impostato su "blue".
  3. La sessione passa alla pagina Nuovo ordine e il parametro dell'intent color diventa un parametro di sessione.
  4. La pagina Nuovo ordine presenta una voce in evasione ("Ok, iniziamo..."), in modo che venga aggiunto alla coda di risposta.
  5. Il parametro di sessione color viene utilizzato per compilare il parametro del modulo con lo stesso nome.
  6. La route della condizione vera nella pagina Nuovo ordine viene valutata e richiamata. Include un messaggio di risposta ("Vorrei raccogliere..."), in modo che venga aggiunto alla coda di risposta.
  7. Il modulo delle pagine non viene compilato, quindi l'agente utilizza la richiesta di dimensione ("Quali dimensioni...") e lo aggiunge alla coda di risposta.
  8. L'agente invia la coda di risposta all'utente finale.
Utente finale: taglia L
Agente: Hai scelto una camicia blu large.
Agente: puoi ritirare l'ordine di una camicia blu di taglia L entro 7-10 giorni lavorativi. Arrivederci.
  1. L'input utente finale soddisfa il parametro size richiesto dall'agente nel turno della conversazione precedente.
  2. Il percorso di completamento del modulo nella pagina Nuovo ordine viene valutato e richiamato. Include un fulfillment ("Hai selezionato..."), che viene aggiunto alla coda di risposta con i relativi riferimenti ai parametri risolti con valori effettivi forniti dall'utente finale.
  3. La sessione passa alla pagina Conferma ordine.
  4. Nella pagina Conferma dell'ordine è presente un evasione della voce ("Puoi ritirare..."), che viene aggiunta alla coda di risposta.
  5. L'agente invia la coda di risposta all'utente finale.
  6. La sessione passa a Termina sessione.

Produzione

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

Passaggi successivi