Creare un agente utilizzando i flussi

Questa guida mostra come utilizzare la console Dialogflow CX per creare e testare un semplice agente di ordinazione di magliette utilizzando i flussi. Quando interagisci con questo agente, puoi chiedere la posizione del negozio, l'orario di apertura o effettuare un ordine di una maglietta.

L'agente completato per questa guida verrà rappresentato graficamente dalla console come segue:

Screenshot del grafico dell'agente

Prima di iniziare

Prima di leggere questa guida, devi:

  1. Leggi le nozioni di base sui flussi.
  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 personalizzato.
  5. Compila il modulo per le impostazioni di base dell'agente:
    1. Puoi scegliere qualsiasi nome visualizzato.
    2. Seleziona la tua posizione preferita. 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. (Facoltativo) Abilita Stackdriver Logging.
  6. Fai clic su Salva.

Importazione facoltativa dell'agente

Questa guida ti illustra i passaggi per creare un semplice agente per l'ordine di magliette. Se vuoi saltare i passaggi della console, puoi scaricare l'agente e importarlo.

Flusso e intent predefiniti

Per un nuovo agente vengono creati automaticamente il seguente flusso e i seguenti intent. Puoi trovare gli intent facendo clic su Gestisci e poi su Intent. Per trovare il flusso, fai clic su Crea.

Termine Definizione
Intent di benvenuto predefinito L'intent di benvenuto predefinito ha frasi di addestramento semplici come "Ciao" o "Buongiorno", che hanno lo scopo di corrispondere all'input utente iniziale dell'utente finale. Puoi modificare questo intent come preferisci.
Intent negativo predefinito L'intent negativo predefinito può essere utilizzato per aggiungere frasi di addestramento a questo intent 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 gli agenti più complessi, puoi aggiungere altri flussi. Questo flusso ha una route di intent predefinita con l'intent di benvenuto predefinito come requisito di intent.

Testare il messaggio di risposta di benvenuto predefinito

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

  1. Fai clic sul pulsante Agente di test per aprire il simulatore.
  2. Inserisci hello nella voce di testo e premi Invio.
  3. L'agente risponde con un messaggio di benvenuto predefinito.
  4. Chiudi il simulatore.

Screenshot del simulatore

I seguenti passaggi sono stati eseguiti dall'agente per questo input utente finale:

  1. Quando hai fornito l'input, il flusso di avvio predefinito era il flusso attivo e la pagina iniziale del flusso era la pagina attiva. Ogni gestore di stato applicato al flusso attivo era in ambito, quindi l'agente li ha valutati.
  2. Una delle route valutate ha l'intent di benvenuto predefinito come requisito dell'intent. Il tuo input corrisponde a questo intent, quindi è stato chiamato l'itinerario.
  3. La route chiamata ha diversi messaggi di risposta di evasione. L'agente ne ha scelto uno a caso e lo ha aggiunto alla coda delle risposte.
  4. La route chiamata non ha una destinazione di transizione, quindi il flusso e la pagina attivi non sono cambiati.
  5. L'agente ha risposto con i contenuti della coda delle risposte.

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 il Flusso di avvio predefinito nella sezione Flussi.
  3. Fai clic sul nodo Pagina iniziale nel grafico. Questa è la pagina iniziale del Flusso di avvio predefinito.
  4. Trova l'intent Default Welcome Intent come requisito dell'intent e fai clic su di esso. Si apre un riquadro per modificare le informazioni sulla route di intent.
  5. Trova la sezione di evasione e, nella sottosezione delle risposte dell'agente, 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 dell'itinerario.

Screenshot della risposta dell'agente

Testa il messaggio di risposta di benvenuto aggiornato

Per testare la risposta aggiornata:

  1. Fai clic sul pulsante Agente di test per aprire il simulatore.
  2. Inserisci hello nella voce di 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) di Dialogflow CX può essere descritta e visualizzata come una macchina a stati. 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 posizione del negozio.

Crea l'intent di località

Un intent classifica l'intenzione di un utente finale per un turno di conversazione. Per creare un intent che venga corrisposto quando l'input dell'utente finale richiede la posizione del negozio:

  1. Seleziona la scheda Gestisci.
  2. Fai clic su Intenti.
  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

Crea la pagina della sede

Ora crea la nuova pagina. Puoi aggiungere a questa pagina un fulfillment di intent che viene chiamato ogni volta che la pagina diventa attiva. Questo completamento della 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 il 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 per il 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 Fulfillment delle voci e fai clic su Modifica fulfillment.
  8. Fai clic su + Aggiungi risposta di dialogo per inserire Our store is located at 1007 Mountain Drive, Gotham City, NJ. nel campo Dialogo dell'agente della sezione Risposte dell'agente.
  9. Fai clic su Salva.
  10. Chiudi il riquadro di modifica della pagina.

screenshot della pagina

Aggiungere un percorso di intent di località al flusso

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

Per creare questo percorso:

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

screenshot dell'itinerario dell'intent

Quando chiudi il riquadro di modifica, nota che la nuova pagina ha un nodo nel grafico. La freccia dal nodo Inizia al nodo Posizione negozio 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 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 e la pagina iniziale del flusso era la pagina attiva. Ogni gestore di stato applicato al flusso attivo era in ambito, quindi l'agente li ha valutati.
  2. Uno dei percorsi valutati ha store.location come requisito di intent. Il tuo input corrisponde a questo intent, quindi è stato chiamato l'itinerario.
  3. La route chiamata non ha messaggi di risposta di fulfillment, quindi non ha aggiunto nulla alla coda di risposte.
  4. Il percorso chiamato ha una destinazione di transizione, quindi la pagina attiva è cambiata nella pagina Posizione negozio.
  5. La pagina Sede del negozio contiene un'evasione di inserimento, quindi il messaggio di risposta per l'evasione è stato aggiunto alla coda di risposta (l'indirizzo).
  6. L'agente ha risposto con i contenuti della coda delle risposte.

Pagina degli orari del negozio utilizzando la creazione in linea

In questa sezione, crei una pagina Orari del negozio che gestisce le domande degli utenti finali sugli orari del negozio. 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 un percorso intent, un intent e una pagina:

  1. Fai clic sul nodo Pagina iniziale nel grafico.
  2. Accanto a Itinerari, fai clic su Aggiungi. Viene visualizzato il riquadro di modifica dell'intent.
  3. Nella sezione Intent, seleziona Nuovo intent. Viene visualizzato 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 dell'itinerario.

  7. Per la transizione Pagina, seleziona Nuova pagina.

  8. Inserisci Store Hours nella voce di testo visualizzata.

  9. Fai clic su Salva. La nuova pagina viene visualizzata nel grafico, perché ora esiste una transizione che la collega.

  10. Chiudi il riquadro di modifica dell'itinerario.

  11. Aggiungi un fulfillment dell'inserimento che fornisca l'orario di apertura del negozio, in modo simile ai passaggi eseguiti per la sede del negozio.

  12. Chiudi tutti i riquadri di modifica aperti.

Pagina dell'articolo dell'ordine

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

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

I tipi di entità vengono utilizzati per controllare come vengono estratti i dati dall'input utente finale. Dialogflow CX 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, ore, 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 maglietta, ma devi creare un'entità personalizzata per la taglia della maglietta. Il tipo di entità dimensione deve avere le seguenti voci di entità:

Entità Sinonimi
small piccolo, minuscolo
media media, normale, media
grande grande, enorme, 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 sopra.
  6. Fai clic su Salva.

Creare un intent di ordine con parametri dell'intent

Hai bisogno di un intent che venga corrisposto quando l'utente finale richiede un nuovo ordine di magliette. Questo intent dovrebbe anche acquisire facoltativamente il colore e/o la taglia della maglietta desiderati forniti dall'utente finale nel caso in cui fornisca queste 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 grezzo dell'utente finale, i parametri sono dati strutturati che possono essere facilmente utilizzati per eseguire una logica o generare risposte.

Controlli il modo in cui i dati degli utenti finali vengono estratti con la corrispondenza degli intent annotando parti delle frasi di addestramento e configurando i parametri di intent associati. Ad esempio, considera una frase di addestramento come "Quali sono le previsioni per domani a Tokyo?" Devi annotare "domani" con un parametro date e "Tokyo" con un parametro location. Quando annoti parti di una frase di addestramento, Dialogflow CX riconosce che queste parti sono solo esempi di valori effettivi che verranno forniti dagli utenti finali in fase di runtime. Per un input utente finale come "Che previsioni meteo ci sono venerdì a Sydney?", Dialogflow CX estrarrebbe il parametro date da "Venerdì" e il parametro location da "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 preferisci.
  3. Un parametro viene creato per te nella tabella dei parametri riportata di seguito.

Crea un intento simile ai passaggi che hai seguito sopra. Assegna a questo intent il nome order.new. Per ogni frase che contiene un colore, annotare il colore con un parametro color e il tipo di entità di sistema @sys.color. Per ogni frase che contiene una taglia di camicia, annotare la taglia con un parametro size e il tipo di entità personalizzata @size creato nei passaggi precedenti. Le frasi di addestramento e i parametri dovrebbero essere simili ai seguenti:

Screenshot dell'intent

Creare una pagina di ordine

Crea la nuova pagina dell'ordine seguendo passaggi simili a quelli precedenti:

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

Aggiungere un modulo alla pagina dell'ordine

Per ogni pagina, puoi definire un modulo, ovvero un elenco di parametri che devono essere raccolti dall'utente finale per la pagina. L'agente interagisce con l'utente finale per più turni di conversazione, finché non ha raccolto tutti i parametri del modulo richiesti, noti anche come parametri della pagina. Per ogni parametro del modulo, fornisci anche prompt che l'agente utilizza per richiedere le informazioni all'utente finale. Questa procedura è chiamata compilazione del modulo.

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 per la prima volta, tutti i parametri del modulo vengono precompilati con eventuali parametri di sessione con lo stesso nome. Pertanto, se l'utente finale fornisce taglia o colore quando viene trovata una corrispondenza con l'intent order.new, questi valori verranno compilati automaticamente nel modulo.

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

Obbligatorio Nome visualizzato Tipo di entità È un elenco Prompt
color @sys.color Che colore vorresti?
dimensioni @size Di che taglia vuoi?

Per aggiungere questo modulo:

  1. Fai clic sulla pagina Nuovo ordine nel grafico.
  2. Fai clic sul pulsante Parametri aggiungi . Viene visualizzato il riquadro di modifica dei parametri.
  3. Aggiungi i parametri come descritto nella tabella sopra.
  4. Fai clic su Salva.
  5. Chiudi il riquadro di modifica dei parametri.

Aggiungere una route di intent di ordine al flusso

In modo simile ai passaggi che hai seguito sopra, aggiungi un percorso al flusso di avvio predefinito. Questo percorso deve essere chiamato quando l'utente finale vuole effettuare un nuovo ordine:

  • Intent: order.new
  • Pagina di destinazione della 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 utilizza i parametri di sessione per confermare l'ordine:

  • Nome visualizzato: Order Confirmation
  • Completamento della voce: You can pick up your order for a $session.params.size $session.params.color shirt in 7 to 10 business days. Goodbye.

Aggiungere percorsi di condizione alla pagina dell'ordine

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

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

Aggiungi il seguente percorso alla pagina dell'ordine, che verrà chiamato quando il modulo della pagina dell'ordine viene compilato. Nota come questo percorso della condizione utilizza i riferimenti ai parametri nella risposta all'utente finale e come la sessione passa alla pagina Conferma ordine.

  • Condizione: $page.params.status = "FINAL"
  • Agent Says: 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à chiamato per ogni turno conversazionale in cui la pagina è attiva e il percorso della condizione viene valutato. Quando la condizione precedente viene valutata e chiamata, la pagina diventa inattiva, quindi questo percorso di condizione true non viene valutato:

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

Crea un percorso di condizione per terminare la sessione

Aggiungi il seguente percorso di condizione alla pagina Conferma ordine per terminare la sessione una volta che la pagina è diventata attiva e l'evasione della voce è stata elaborata:

  • Condizione: true
  • Target di transizione: Pagina: End Session

Testa l'agente completato

Prova l'agente con il seguente dialogo:

Dialogo Spiegazione
Utente finale:ciao
Agente:ciao, sono un agente virtuale per l'ordine di magliette. Come posso aiutarti?
  1. Viene chiamato il percorso Intent di benvenuto predefinito nel Flusso di avvio predefinito.
  2. L'intent di evasione per questo gestore di stati ("Hello, this...") viene aggiunto alla coda delle risposte.
  3. L'agente invia la coda di risposte all'utente finale.
Utente finale: voglio comprare una maglietta blu
Agente: ok, iniziamo un nuovo ordine.
Agente:vorrei raccogliere qualche informazione in più.
Agente:di che taglia la vuoi?
  1. Viene valutato l'intent order.new nel flusso di avvio predefinito.
  2. L'intent order.new viene corrisposto e il parametro intent color è impostato su "blue".
  3. La sessione passa alla pagina Nuovo ordine e il parametro di intent colore diventa un parametro di sessione.
  4. La pagina Nuovo ordine contiene un'evasione della voce ("Ok, iniziamo…"), quindi viene aggiunto alla coda delle risposte.
  5. Il parametro di sessione color viene utilizzato per compilare il parametro del modulo con lo stesso nome.
  6. Il percorso della condizione vera nella pagina Nuovo ordine viene valutato e chiamato. Ha un messaggio di risposta ("Vorrei raccogliere…"), quindi viene aggiunto alla coda delle risposte.
  7. Il modulo della pagina non è compilato, quindi l'agente utilizza la richiesta di taglia ("Quale taglia...") e lo aggiunge alla coda delle risposte.
  8. L'agente invia la coda di risposte all'utente finale.
Utente finale: taglia
Agente: hai selezionato una maglietta blu di taglia grande.
Agente:puoi ritirare il tuo ordine per una maglietta blu grande entro 7-10 giorni lavorativi. Arrivederci.
  1. L'input utente finale compila il parametro size richiesto dall'agente nel turno di conversazione precedente.
  2. Il percorso di completamento del modulo nella pagina Nuovo ordine viene valutato e chiamato. Ha un completamento ("Hai selezionato…"), che viene aggiunto alla coda di risposte con i riferimenti ai parametri risolti in valori effettivi forniti dall'utente finale.
  3. La sessione passa alla pagina Conferma dell'ordine.
  4. La pagina Conferma ordine contiene un'evasione della voce ("Puoi ritirare..."), che viene aggiunta alla coda delle risposte.
  5. L'agente invia la coda di risposte all'utente finale.
  6. La sessione passa a Termina sessione.

Messa in produzione

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