Contesti di input e output

I contesti di input e output vengono applicati agli intent. Funzionano insieme per controllare il flusso della conversazione:

  • I contesti di output controllano i contesti attivi. Quando viene trovato un intent, tutti i contesti di output configurati per quell'intent diventano attivi.
  • I contesti di input controllano la corrispondenza degli intent. Mentre i contesti sono attivi, è più probabile che Dialogflow trovi gli intent configurati con contesti di input che sono un sottoinsieme dei contesti attualmente attivi.

Con i contesti puoi:

  • Controllare l'ordine di corrispondenza degli intent.
  • Creare intent specifici per il contesto con le stesse frasi di addestramento.

Ad esempio, considera i seguenti intent:

Nome dell'intent Frasi di addestramento Parametri Contesti di input Contesti di output Risposta
pet-init "Che aspetto hanno?" - - - "Che tipo di animale domestico ti piace?"
pet-select-dogs "Mi piacciono i cani" - - dogs "Cosa vuoi sapere sui cani?"
pet-select-cats "Mi piacciono i gatti" - - cats "Cosa vuoi sapere sui gatti?"
dog-show "Che aspetto hanno?" - dogs - "Ecco l'immagine di un cane."
cat-show "Che aspetto hanno?" - cats - "Ecco l'immagine di un gatto."

Quando l'utente finale dice I like dogs:

  • Viene trovato l'intent pet-select-dogs.
  • Il contesto di output è dogs, quindi diventa il contesto attivo.

Quando l'utente finale dice I like cats:

  • Viene trovato l'intent pet-select-cats.
  • Il contesto di output è cats, quindi diventa il contesto attivo.

Quando l'utente finale dice What do they look like?:

  • Se dogs è il contesto attivo:
    • Viene trovato l'intent dog-show.
    • All'utente finale viene mostrata l'immagine di un cane.
  • Se cats è il contesto attivo:
    • Viene trovato l'intent cat-show.
    • All'utente finale viene mostrata l'immagine di un gatto.
  • Se non è presente alcun contesto attivo:
    • Viene trovato l'intent pet-init.
    • All'utente finale viene chiesto che tipo di animale domestico gli piace.

Contesti di output

A un intent possono essere applicati più contesti di output. Quando viene trovato un intent, tutti i contesti di output applicati all'intent diventano attivi.

Riferimenti ai parametri per i contesti attivi

Quando viene trovato un intent con un contesto di output, i valori dei parametri raccolti possono fungere da spazio di archiviazione temporaneo con riferimenti ai parametri per i contesti attivi. È possibile accedere a questi valori durante la corrispondenza degli intent futuri, finché il contesto rimane attivo.

Ad esempio, considera la seguente variante dell'esempio di animale domestico riportato sopra:

Nome dell'intent Frasi di addestramento Parametri Contesti di input Contesti di output Risposta
pet-init "Che aspetto hanno?" - - - "Che tipo di animale domestico ti piace?"
pet-select "Mi piacciono i cani", "Mi piacciono i gatti" pet - pet-chosen "Cosa vuoi sapere su $pet?"
pet-show "Che aspetto hanno?" - pet-chosen - "Ecco l'immagine di un #pet-chosen.pet."

Quando l'utente finale dice I like dogs o I like cats:

  • Viene trovato l'intent pet-select.
  • Il pet parametro è impostato sul tipo di animale domestico scelto.
  • Il contesto di output è pet-chosen, quindi diventa il contesto attivo.

Quando l'utente finale dice What do they look like?:

  • Se pet-chosen è il contesto attivo:
    • Viene trovato l'intent pet-show.
    • Se l'utente finale ha selezionato dogs nel turno di conversazione precedente, gli viene mostrata l'immagine di un cane.
    • Se l'utente finale ha selezionato cats nel turno di conversazione precedente, gli viene mostrata l'immagine di un gatto.
  • Se non è presente alcun contesto attivo:
    • Viene trovato l'intent pet-init.
    • All'utente finale viene chiesto di selezionare un tipo di animale domestico.

Durata

Ogni contesto attivo ha una durata che definisce il numero di turni di conversazione per i quali il contesto rimane attivo. La durata predefinita è di cinque turni di conversazione per gli intent normali e di due turni di conversazione per gli intent di follow-up. Puoi sostituire la durata predefinita per qualsiasi contesto. Inoltre, tutti i contesti scadono dopo 20 minuti dall'attivazione. Quando viene trovato un intent con un contesto di output già attivo, la durata e il timer di scadenza vengono reimpostati.

Ad esempio, considera le seguenti descrizioni degli intent per un agente di informazioni sugli animali domestici:

Nome dell'intent Frasi di addestramento Parametri Contesti di input Contesti di output Risposta
pet-init "Che aspetto hanno?", "Che verso fanno?", "Quanto sono grandi?" - - - "Che tipo di animale domestico ti piace?"
pet-select "Mi piacciono i cani", "Mi piacciono i gatti" pet - pet-chosen (lifespan = 2) "Cosa vuoi sapere su $pet?"
pet-show "Che aspetto hanno?" - pet-chosen - "Ecco l'immagine di un #pet-chosen.pet. Cos'altro vuoi sapere?"
pet-audio "Che verso fanno?" - pet-chosen - "Ecco il verso di un #pet-chosen.pet. Cos'altro vuoi sapere?"
pet-size "Quanto sono grandi?" - pet-chosen - Ecco una tabella delle dimensioni di un #pet-chosen.pet. Cos'altro vuoi sapere?"

La tabella seguente mostra un esempio di dialogo per questo agente di informazioni sugli animali domestici, che illustra la durata del contesto pet-chosen:

Turno Dialogo Spiegazione
1 Agente: Che tipo di animale domestico ti piace? Viene trovato l'intent pet-init.
2 Utente: Mi piacciono i gatti.
Agente: Cosa vuoi sapere sui gatti?
Viene trovato l'intent pet-select. Il contesto di output pet-chosen diventa il contesto attivo.
3 Utente: Che aspetto hanno?
Agente: Ecco l'immagine di un gatto. Cos'altro vuoi sapere?
L'intent pet-show ha un contesto di input pet-chosen, quindi viene trovato. Il contesto pet-chosen è attivo da 1 turno.
4 Utente: Che verso fanno?
Agente: Ecco il verso di un gatto. Cos'altro vuoi sapere?
L'intent pet-audio ha un contesto di input pet-chosen, quindi viene trovato. Il contesto pet-chosen è attivo da 2 turni.
5 Utente: Quanto sono grandi?
Agente: Che tipo di animale domestico ti piace?
Viene trovato di nuovo l'intent pet-init, perché il contesto pet-chosen non è più attivo.

Contesti di input

Mentre i contesti sono attivi, è più probabile che Dialogflow trovi gli intent configurati con contesti di input che corrispondono ai contesti attualmente attivi. Le regole dettagliate per la corrispondenza degli intent sono le seguenti:

  1. Per trovare un intent, l'elenco dei contesti di input dell'intent deve essere un sottoinsieme dell'elenco dei contesti attualmente attivi. Questo vale anche per gli intent senza contesti di input.
  2. Per gli intent che soddisfano la regola n. 1, è più probabile che vengano trovati quelli con un elenco di contesti di input che corrisponde più da vicino all'elenco dei contesti attualmente attivi.

Ad esempio:

  • Gli intent senza contesti di input possono essere trovati in qualsiasi momento.
  • Quando non sono attivi contesti, possono essere trovati solo gli intent senza contesti di input.
  • Se i contesti "A" e "B" sono attivi, non è possibile trovare un intent con i contesti di input "A" e "C".
  • Se i contesti "A", "B" e "C" sono attivi, è possibile trovare un intent con i contesti di input "A" e "B".
  • Se i contesti "A" e "B" sono attivi, è più probabile che venga trovato un intent con i contesti di input "A" e "B" rispetto a un intent senza contesto di input o a un intent con solo "A" come contesto di input.