Creazione degli intent del flusso di sequenze

Ora che disponi dell'entità sequenza, puoi creare gli intent per raccogliere la sequenza dall'utente finale. È consigliabile che almeno tre intent con le seguenti responsabilità:

  1. Una "Sequenza" per intent principale
    • Rileva gli enunciati per iniziare la raccolta della sequenza.
    • Richiamato da eventi di follow-up per continuare ad acquisire sequenze finché l'utente finale non dice di completare l'operazione.
  2. Un intent contestuale "Sequenza - Modifica"
    • Rileva gli enunciati per correggere l'ultima sequenza raccolta.
    • Torna in modo programmatico all'intent "Sequenza" per raccogliere la sequenza corretta.
  3. Un intent contestuale "Sequenza - Fine"
    • Rileva gli enunciati che indicano che la sequenza è stata completata.

Nella prossima sezione vedrai in che modo il webhook collega tutti questi elementi, ma prima impostiamo gli intent.

Crea l'intent "Sequenza"

Questo è l'intento principale per la raccolta di sequenze. Configurala in questo modo:

  1. Lascia vuoti i contesti di input in modo che gli utenti finali possano attivare questo intent all'inizio della chiamata.
  2. Aggiungi un contesto di output "collecting- sequence". Utilizzeremo questo contesto per abilitare gli intent di correzione e fine durante il flusso.
  3. Aggiungi un contesto di output "editing- sequence" e imposta la durata su 0. Abiliteremo questo contesto con una durata dall'intent "Sequenza - Modifica" nella sezione successiva ed è importante cancellarlo qui, in modo che il contesto "Sequenza di modifica" sia attivo solo subito dopo aver attivato l'intent "Modifica".
  4. Aggiungi un evento "continue-Sequence" in modo che il webhook possa eseguire il loop di questo intent per raccogliere tutte le sequenze parziali.

  5. Aggiungi frasi di addestramento in modo che l'utente finale possa attivare questo intent per avviare il flusso. In questo esempio vengono utilizzate frasi come "Qual è lo stato del mio ordine", "traccia il mio ordine", "dove si trova il mio ordine" e così via.

  6. Aggiungi il nome di azione "handle-Sequence" in modo che il webhook sappia quando attivarsi. Dopo aver configurato tutti gli intent, codificherai il webhook nella sezione successiva di questo tutorial.

  7. Aggiungi il parametro obbligatorio "new_Sequence" utilizzando l'entità regexp creata per raccogliere 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 il 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 il 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 il riempimento degli slot.

Crea l'intent "Sequenza - Modifica"

Questo intent ascolta le frasi che indicano che la sequenza precedente è stata sbagliata dall'agente. Configuralo in questo modo:

  1. Aggiungi un contesto di input "collecting-Sequence" in modo che questo intent venga chiamato solo quando ci troviamo nel mezzo del flusso della sequenza. Questo è lo stesso contesto attivato dall'intent "Sequenza".
  2. Aggiungi un contesto di output "editing-Sequence" a cui fare riferimento il nostro webhook di fulfillment. Quando questo intent viene attivato, il webhook trasmetterà in loop Dialogflow all'intent "Sequenza" principale per raccogliere la sequenza successiva. Il webhook per il riempimento degli slot dell'intent "Sequenza" controllerà la presenza di un contesto attivo di tipo "modifica-sequenza" per fornire una risposta simpatica "Riprova" all'utente finale.
  3. Aggiungi frasi di addestramento come "no", "non è corretto" e così via.

  4. Aggiungi il nome dell'azione "handle-Sequence". Questa è la stessa azione dell'intent "Sequenza", quindi possiamo riutilizzare la stessa logica webhook.

  5. Aggiungi un parametro "new_Sequence" con il valore "#collecting-Sequence.previous_Sequence" per estrarre la sequenza precedente dal contesto, annullando efficacemente l'ultima espressione. Non aggiungiamo un parametro "existing_Sequence" qui, in modo che il webhook sovrascriverà la sequenza esistente con quella precedente.

  6. Attiva la chiamata webhook per questo intent.

Crea un intent "Sequenza - Completato".

  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 lo cancelli, gli intent "Modifica" ed "Completato" non verranno riattivati ora che l'agente ha completato la raccolta della sequenza.
  3. Aggiungi frasi di addestramento come "fatto", "tutto fatto" e così via.

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

  5. Attiva la chiamata webhook per questo intent.

Collega gli intent tramite webhook

Ora hai tutto il necessario per programmare la logica per questi intent. Nella sezione successiva, vedrai come programmare il webhook per utilizzare tutti questi contesti, azioni, parametri ed eventi al fine di completare il flusso di convalida della sequenza.