I contesti di input e output vengono applicati ai intent. Lavorano insieme per controllare il flusso della conversazione:
- I contesti di output controllano i contesti attivi. Quando viene trovata una corrispondenza per un'intenzione, tutti i contesti di output configurati per quell'intenzione diventano attivi.
- I contesti di input controllano la corrispondenza degli intent. Quando i contesti sono attivi, Dialogflow ha maggiori probabilità di trovare una corrispondenza con gli intent configurati con contesti di input che sono un sottoinsieme dei contesti attualmente attivi.
Con i contesti puoi:
- Controlla l'ordine della corrispondenza all'intenzione.
- Crea intent specifici per il contesto con le stesse frasi di addestramento.
Ad esempio, considera le seguenti intenzioni:
Nome dell'intent | Frasi di addestramento | Parametri | Contesti di input | Contesti di output | Risposta |
---|---|---|---|---|---|
pet-init | "Che aspetto hanno?" | - | - | - | "Che tipo di animale ti piace?" |
pet-select-dogs | "Mi piacciono i cani" | - | - | cani | "Cosa vuoi sapere sui cani?" |
pet-select-cats | "Mi piacciono i gatti" | - | - | gatti | "Cosa vuoi sapere sui gatti?" |
dog-show | "Che aspetto hanno?" | - | cani | - | "Ecco una foto di un cane." |
mostra-di-gatti | "Che aspetto hanno?" | - | gatti | - | "Ecco una foto di un gatto." |
Quando l'utente finale dice I like dogs
:
- L'intent
pet-select-dogs
è associato. - Il contesto di output è
dogs
, quindi diventa il contesto attivo.
Quando l'utente finale dice I like cats
:
- L'intent
pet-select-cats
è associato. - 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:- L'intent
dog-show
è associato. - All'utente finale viene mostrata l'immagine di un cane.
- L'intent
- Se
cats
è il contesto attivo:- L'intent
cat-show
è associato. - All'utente finale viene mostrata l'immagine di un gatto.
- L'intent
- Se non è presente alcun contesto attivo:
- L'intent
pet-init
è associato. - All'utente finale viene chiesto che tipo di animale domestico preferisce.
- L'intent
Contesti di output
A un intent possono essere applicati più contesti di output. Quando viene trovata una corrispondenza per un'intenzione, tutti i contesti di output applicati all'intenzione diventano attivi.
Riferimenti ai parametri per i contesti attivi
Quando viene trovata una corrispondenza per un'intenzione con un contesto di output, i valori dei parametri raccolti possono essere utilizzati come spazio di archiviazione temporaneo con riferimenti ai parametri per i contesti attivi. È possibile accedere a questi valori durante la corrispondenza degli intent futuri, per tutto il tempo in cui 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 ti piace?" |
pet-select | "Mi piacciono i cani", "Mi piacciono i gatti" | animale domestico | - | pet-chosen | "Cosa vuoi sapere su $pet?" |
pet-show | "Che aspetto hanno?" | - | pet-chosen | - | "Ecco una foto di #pet-chosen.pet." |
Quando l'utente finale dice I like dogs
o I like cats
:
- L'intent
pet-select
è associato. - 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:- L'intent
pet-show
è associato. - Se l'utente finale ha selezionato
dogs
nel turno di conversazione precedente, gli viene mostrata un'immagine di un cane. - Se l'utente finale ha selezionato
cats
nel turno di conversazione precedente, gli viene mostrata un'immagine di un gatto.
- L'intent
- Se non è presente alcun contesto attivo:
- L'intent
pet-init
è associato. - All'utente finale viene chiesto di selezionare un tipo di animale domestico.
- L'intent
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 intenti normali e di due turni di conversazione per gli intent di follow-up. Puoi eseguire l'override della durata predefinita per qualsiasi contesto. Inoltre, tutti i contesti scadono 20 minuti dopo essere diventati attivi. Quando un'intenzione viene associata a un contesto di output già attivo, la durata e il timer di scadenza vengono reimpostati.
Ad esempio, considera le seguenti descrizioni dell'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 suono fanno?", "Quanto sono grandi?" | - | - | - | "Che tipo di animale ti piace?" |
pet-select | "Mi piacciono i cani", "Mi piacciono i gatti" | animale domestico | - | pet-chosen (lifespan = 2) | "Cosa vuoi sapere su $pet?" |
pet-show | "Che aspetto hanno?" | - | pet-chosen | - | "Ecco una foto di #pet-chosen.pet. Cos'altro vuoi sapere?" |
pet-audio | "Che suono fanno?" | - | pet-chosen | - | "Ecco un suono di #pet-chosen.pet. Cos'altro vuoi sapere?" |
per animali domestici | "Quanto sono grandi?" | - | pet-chosen | - | "Ecco una tabella delle taglie di #pet-chosen.pet. Cos'altro vuoi sapere?" |
La tabella seguente mostra un dialogo di esempio per questo agente di informazioni sugli animali domestici,
che illustra la durata del contesto pet-chosen
:
Girare | Finestra di dialogo | Spiegazione |
---|---|---|
1 | Agente: che tipo di animale ti piace? | L'intent pet-init è associato. |
2 | Utente: mi piacciono i gatti. Agente: cosa vuoi sapere sui gatti? |
L'intent pet-select è associato. Il contesto di output pet-chosen diventa il contesto attivo. |
3 | Utente: Che aspetto hanno? Agente: Ecco una foto di un gatto. Che altro vuoi sapere? |
L'intent pet-show ha un contesto di input pet-chosen , quindi è associato. Il contesto pet-chosen è attivo da 1 turno. |
4 | Utente: come suonano? Agente: ecco il suono di un gatto. Cos'altro vuoi sapere? |
L'intent pet-audio ha un contesto di input pet-chosen , quindi è associato. Il contesto pet-chosen è attivo da 2 turni. |
5 | Utente: Che dimensioni hanno? Agente: Che tipo di animale ti piace? |
L'intent pet-init viene nuovamente associato perché il contesto pet-chosen non è più attivo. |
Contesti di input
Quando i contesti sono attivi, Dialogflow ha maggiori probabilità di trovare una corrispondenza con gli intent configurati con contesti di input corrispondenti ai contesti attualmente attivi. Le regole di corrispondenza degli intent dettagliate sono le seguenti:
- Per poter essere associato, l'elenco del contesto di input di un'intenzione deve essere un sottoinsieme dell'elenco del contesto attualmente attivo. Questo vale anche per gli intent senza contesti di input.
- Per gli intent che soddisfano la regola 1, quelli con un elenco di contesti di input che corrisponde maggiormente all'elenco di contesti attualmente attivo hanno maggiori probabilità di essere associati.
Ad esempio:
- Gli intent senza contesti di input possono essere abbinati in qualsiasi momento.
- Quando non sono attivi, possono essere abbinati solo gli intent senza contesti di input.
- Se i contesti "A" e "B" sono attivi, non è possibile associare un'intenzione con contesti di input "A" e "C".
- Se i contesti "A", "B" e "C" sono attivi, è possibile associare un'intenzione con i contesti di input "A" e "B".
- Se i contesti "A" e "B" sono attivi, è più probabile che venga trovato un match per un intent con 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.