Creare un agente utilizzando i flussi

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

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 la tua.
  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. Se vuoi, abilita Stackdriver Logging.
  6. Fai clic su Salva.

Importazione facoltativa dell'agente

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

Flusso e intent predefiniti

Il seguente flusso e gli intent 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 "Un saluto da Google" o "Un saluto da Google" che devono corrispondere all'input utente iniziale dell'utente finale. Puoi modificare questa intenzione come preferisci.
Intento negativo predefinito L'intenzione negativa predefinita può essere utilizzata per aggiungere a questa intenzione 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 intent predefinita con l'intent di benvenuto predefinito come requisito dell'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 Test agente per aprire il simulatore.
  2. Inserisci hello nella casella di immissione del testo e premi Invio.
  3. L'agente risponde con un messaggio di benvenuto predefinito.
  4. Chiudi il simulatore.

Screenshot del simulatore

L'agente ha eseguito i seguenti passaggi per l'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. Tutti i gestori degli stati applicati al flusso attivo erano nell'ambito, pertanto l'agente li ha valutati.
  2. Uno dei percorsi valutati ha l'intent di benvenuto predefinito come requisito di intent. Il tuo input corrispondeva a questa intenzione, quindi è stata chiamata la route.
  3. La route chiamata ha diversi messaggi di risposta all'evasione. 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 e la pagina 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 inizio predefinito nella sezione Flussi.
  3. Fai clic sul nodo Inizia nel grafico. Questa è la pagina iniziale del flusso di inizio predefinito.
  4. Individua il percorso dell'intent con l'intent di benvenuto predefinito come requisito dell'intent e fai clic su di esso. 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 dell'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 agente per aprire il simulatore.
  2. Inserisci hello nella casella di immissione del testo e premi Invio.
  3. L'agente risponde con il nuovo messaggio.
  4. Chiudi il simulatore.

Pagina Sede del negozio

Una conversazione (sessione) di Conversational Agents (Dialogflow CX) può essere descritta e visualizzata come una macchina a stati. 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 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'intenzione che venga associata 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 per il 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 stazione di ricarica

Ora crea la nuova pagina. Puoi aggiungere a questa pagina un completamento di voce che viene chiamato ogni volta che la pagina diventa attiva. L'elaborazione 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 Flusso di inizio predefinito nella sezione Flussi.
  3. Fai clic sul pulsante di aggiunta 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 opzioni accanto al nome visualizzato della pagina.
  6. Seleziona Modifica per aprire il riquadro di modifica della pagina.
  7. Individua Elaborazione delle richieste e fai clic su Modifica elaborazione.
  8. Inserisci Our store is located at 1007 Mountain Drive, Gotham City, NJ. nel campo Agente dice.
  9. Fai clic su Salva.
  10. Chiudi il riquadro di modifica della pagina.

screenshot della pagina

Aggiungi un percorso per località di interesse al flusso

Ora devi creare un percorso con 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 viene applicato al flusso di avvio predefinito, quindi è nell'ambito finché il flusso è attivo. Per un agente con un solo flusso, questo significa che il percorso è sempre nell'ambito. In qualsiasi momento della conversazione, l'utente finale può chiedere la posizione del negozio e verrà chiamato questo percorso.

Per creare questo percorso:

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

screenshot del percorso dell'intent

Quando chiudi il riquadro di modifica, noterai che la nuova pagina ha un nodo sul 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 pagina:

  1. Fai clic sul pulsante Test 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 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. Tutti i gestori degli stati applicati al flusso attivo erano nell'ambito, pertanto l'agente li ha valutati.
  2. Uno dei percorsi valutati ha store.location come requisito dell'intent. Il tuo input corrispondeva a questa intenzione, quindi è stata chiamata la route.
  3. La route chiamata non contiene messaggi di risposta all'evasione, quindi non è stato aggiunto nulla alla coda di risposta.
  4. Il percorso chiamato ha un target di transizione, quindi la pagina attiva è passata alla pagina Posizione negozio.
  5. La pagina Posizione negozio ha un'evasione dell'elemento, pertanto 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 di risposta.

Pagina Orari di apertura del negozio utilizzando la creazione in linea

In questa sezione, crei una pagina Orari di apertura che gestisce le domande degli utenti finali sugli orari di apertura. Nelle sezioni precedenti hai creato pagine e intenti 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, un'intenzione e una pagina:

  1. Fai clic sul nodo Inizia nel grafico.
  2. Fai clic sul pulsante Aggiungi Percorso intent. Viene visualizzato il riquadro di modifica del percorso dell'intenzione.
  3. Nella sezione Intento, seleziona Nuovo intento. 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'intenzione si chiude.

  6. Scorri verso il basso fino alla sezione Transizione nel riquadro di modifica del percorso dell'intenzione.

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

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

  11. Aggiungi un'erogazione di voci che fornisca l'orario di apertura del negozio, in modo simile alla procedura per Posizione negozio.

  12. Chiudi eventuali riquadri di modifica aperti.

Pagina dell'articolo dell'ordine

Successivamente, creerai una pagina che utilizza i 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

I tipi di entità vengono utilizzati per controllare il modo in cui vengono estratti i dati dall'input utente finale. Conversational Agents (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, 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, poco
media medio, normale, nella media
grande grande, grosso, 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 delle entità elencate nella tabella sopra.
  6. Fai clic su Salva.

Creare un intent di ordine con parametri di intent

Devi avere un'intenzione che corrisponda quando l'utente finale richiede un nuovo ordine di camicie. Facoltativamente, questo intento deve anche acquisire il colore e/o la taglia della camicia preferiti 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 utente finale non elaborato, i parametri sono dati strutturati che possono essere facilmente utilizzati per eseguire alcune operazioni logiche o generare risposte.

Puoi controllare la modalità di estrazione dei dati degli utenti finali con la corrispondenza dell'intent annotando alcune 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 per Tokyo?" Devi annotare "domani" con un parametro date e "Tokyo" con un parametro location. Quando annoti parti di una frase di addestramento, agenti conversazionali (Dialogflow CX) riconosce che queste parti sono solo esempi di valori effettivi che verranno forniti dagli utenti finali in fase di esecuzione. Per un input utente finale come "Quali sono le previsioni per venerdì a Sydney?", Conversational Agents (Dialogflow CX) estrae il parametro date da "Friday" e il parametro location da "Sydney".

Per aggiungere annotazioni a 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. Viene creato un parametro nella tabella dei parametri di seguito.

Crea un'intenzione simile a quella che hai seguito sopra. Assegna a questo intento il nome order.new. Per ogni frase che contiene un colore, annotalo con un parametro color e il tipo di entità di sistema @sys.color. Per ogni frase contenente la taglia della camicia, annotala 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'intent

Creare una pagina di ordine

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

  • Nome visualizzato: New Order
  • Adempimento delle voci: Ok, let's start a new order.

Aggiungere un modulo alla pagina di ordinazione

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, fino a quando non ha raccolto tutti i parametri del modulo richiesti, noti anche come 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 dei moduli.

Quando un utente finale fornisce parametri di intent per una corrispondenza dell'intent, i parametri di intent diventano parametri di sessione. Quando una pagina diventa inizialmente attiva, tutti i relativi parametri di modulo vengono precompilati con eventuali 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 obbligatori del modulo:

Obbligatorio Nome visualizzato Tipo di entità È elenco Prompt
color @sys.color Di che colore?
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.

Aggiungi un percorso relativo all'intenzione di acquisto al flusso

Come per i passaggi precedenti, aggiungi una route al Flusso di inizio predefinito. Questo percorso deve essere chiamato quando l'utente finale vuole effettuare un nuovo ordine:

  • Intent: order.new
  • Pagina Destinazione transizione: Nuovo ordine

Pagina di conferma

L'ultima pagina ti chiederà solo di confermare l'ordine e di terminare la sessione.

Crea la pagina di conferma

Crea una pagina di conferma con una risposta che utilizzi i parametri della sessione per confermare l'ordine:

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

Aggiungere route delle condizioni alla pagina dell'ordine

Puoi anche utilizzare le condizioni per determinare se viene chiamato un percorso. Le condizioni vengono comunemente utilizzate per verificare se un modulo è completo o sono configurate per essere sempre chiamate al momento della valutazione.

Per impostare le condizioni nella console, consulta la documentazione su come impostare le condizioni.

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

  • Condizione: $page.params.status = "FINAL"
  • L'agente dice: 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 di conversazione in cui la pagina è attiva e il percorso della condizione viene valutato. Quando la condizione riportata sopra viene valutata e richiamata, la pagina diventa inattiva, quindi questo percorso della condizione true non viene valutato:

  • 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 è diventata attiva e l'elaborazione dell'inserimento è stata completata:

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

Testa l'agente completato

Testa l'agente con il seguente 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 aggiunta alla coda di risposta.
  3. L'agente invia la coda di risposta all'utente finale.
Utente finale: voglio acquistare una camicia blu
Agente: OK, avviamo un nuovo ordine.
Agente: vorrei raccogliere qualche altra informazione.
Agente: che taglia vuoi?
  1. Viene valutato il percorso dell'intent order.new nel flusso di inizio predefinito.
  2. L'intent order.new viene associato e il parametro dell'intent color è impostato su "blu".
  3. La sessione passa alla pagina Nuovo ordine e il parametro di intent color diventa un parametro di sessione.
  4. La pagina Nuovo ordine contiene un completamento della voce ("Ok, iniziamo…"), che viene aggiunto alla coda di risposta.
  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. Contiene un messaggio di risposta ("Vorrei ritirare…"), che viene aggiunto alla coda di risposta.
  7. Il modulo delle pagine non è compilato, quindi l'agente utilizza la richiesta relativa alle dimensioni ("Che taglia…"). e lo aggiunge alla coda di risposta.
  8. L'agente invia la coda di risposta all'utente finale.
Utente finale: Taglia L
Agente: Hai selezionato una camicia blu di taglia L.
Agente: puoi ritirare l'ordine di una camicia blu di taglia L tra 7 e 10 giorni lavorativi. Arrivederci.
  1. L'input utente finale completa 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 completamento ("Hai selezionato…"), che viene aggiunto alla coda di risposta con i riferimenti ai parametri risolti in valori effettivi forniti dall'utente finale.
  3. La sessione passa alla pagina Conferma ordine.
  4. La pagina Conferma ordine contiene un'erogazione di voci ("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.