Creazione degli intent del flusso di sequenze

Ora che hai l'entità sequenza, puoi creare gli intent per raccogliere la sequenza dall'utente finale. Ti consigliamo di avere almeno tre intent con queste responsabilità:

  1. Un'intenzione principale "Sequence"
    • Cattura le frasi per avviare la raccolta di sequenze.
    • Viene invocato dagli eventi di follow-up per continuare a acquisire sequenze finché l'utente finale non indica che ha terminato.
  2. Un'intenzione contestuale "Sequenza - Modifica"
    • Cattura le frasi per correggere l'ultima sequenza raccolta.
    • Torna programmaticamente all'intent "Sequence" per raccogliere la sequenza corretta.
  3. Un'intenzione contestuale "Sequence - Done"
    • Cattura le frasi che indicano che la sequenza è completa.

Nella sezione successiva vedrai come l'webhook collegherà tutti questi elementi, ma prima configuriamo gli intent.

Crea l'intent "Sequenza"

Questo è lo scopo principale della raccolta delle sequenze. Configurala nel seguente modo:

  1. Lascia vuoti i contesti di input in modo che gli utenti finali possano attivare questo intento all'inizio della chiamata.
  2. Aggiungi un contesto di output "collecting-sequence". Utilizzeremo questo contesto per attivare le intenzioni di correzione e completamento durante il flusso.
  3. Aggiungi un contesto di output "editing-sequence" e imposta la durata su 0. Attiveremo questo contesto con una durata dall'intent "Sequenza - Modifica" nella sezione successiva ed è importante cancellarlo qui in modo che il contesto "editing-sequence" sia attivo solo immediatamente dopo l'attivazione dell'intent "Modifica".
  4. Aggiungi un evento "continue-sequence" in modo che l'webhook possa ripetere questo intento per raccogliere tutte le sequenze parziali.

  5. Aggiungi frasi di addestramento in modo che l'utente finale possa attivare questo intento per avviare il flusso. Questo esempio utilizza frasi come "Qual è lo stato del mio ordine?", "Traccia il mio ordine", "Dov'è il mio ordine?" e così via.

  6. Aggiungi un nome di azione "handle-sequence" in modo che il webhook sappia quando attivarsi. Codificherai l'webhook nella sezione successiva di questo tutorial, dopo aver configurato tutti gli scopi.

  7. Aggiungi un parametro obbligatorio "new_sequence" utilizzando l'entità regexp che hai creato per raccogliere le sequenze parziali nella sezione precedente. Imposta il tipo di entità su "@alphanumeric" e il valore su "$new_sequence".

  8. Aggiungi un parametro facoltativo "existing_sequence" con valore "#continue-sequence.existing_sequence" per estrarre la nuova sequenza esistente dall'evento. Puoi lasciare vuoto il tipo di entità.

  9. Aggiungi un parametro facoltativo "previous_sequence" con valore "#continue-sequence.previous_sequence" per estrarre la sequenza precedente dall'evento. Puoi lasciare vuoto il tipo di entità.

  10. Attiva la chiamata webhook per questo intent e la chiamata webhook per la compilazione degli slot.

Crea l'intent "Sequenza - Modifica"

Questo intento rileva le frasi che indicano che la sequenza precedente è stata male interpretata dall'agente. Configurala nel seguente modo:

  1. Aggiungi un contesto di input "collecting-sequence" in modo che questo intento venga chiamato solo quando siamo nel mezzo del flusso di sequenza. Si tratta dello stesso contesto attivato dall'intento "Sequenza".
  2. Aggiungi un contesto di output "editing-sequence" da fare riferimento al nostro webhook di adempimento. Quando questo intento viene attivato, il webhook fa tornare Dialogflow all'intento principale "Sequenza" per raccogliere la sequenza successiva. Il webhook per il completamento degli slot dell'intent "Sequenza" verificherà la presenza di un contesto "editing-sequence" attivo per fornire una risposta di tipo "riprova" all'utente finale.
  3. Aggiungi frasi di addestramento come "no", "non è corretto" e così via.

  4. Aggiungi il nome dell'azione "handle-sequence". Si tratta della stessa azione dell'intent "Sequenza", quindi possiamo riutilizzare la stessa logica di webhook.

  5. Aggiungi un parametro "new_sequence" con valore "#collecting-sequence.previous_sequence" per estrarre la sequenza precedente dal contesto, annullando di fatto l'ultimo enunciato. Non aggiungiamo un parametro "existing_sequence" qui in modo che l'webhook sovrascriva la sequenza esistente con quella precedente.

  6. Attiva la chiamata webhook per questo intent.

Crea un'intenzione "Sequenza - Fine".

  1. Aggiungi un contesto di input "collecting-sequence"
  2. Aggiungi un contesto di output "collecting-sequence" e imposta la durata su 0 per cancellare il contesto. Se la cancelli, gli intent "Modifica" e "Fine" non si attiveranno di nuovo ora che l'agente ha completato la raccolta della sequenza.
  3. Aggiungi frasi di addestramento come "è tutto", "è fatta" e così via.

  4. Aggiungi un parametro "sequence" con valore "#collecting-sequence.existing_sequence" per estrarre la sequenza finale dal contesto.

  5. Attiva la chiamata webhook per questo intent.

Collega le intenzioni tramite webhook

Ora hai tutto ciò che ti serve per codificare la logica di questi intent. Nella sezione successiva, vedrai come codificare l'webhook in modo da utilizzare tutti questi contesti, azioni, parametri ed eventi per completare il flusso di convalida della sequenza.