Definire, fare riferimento, impostare e ottenere i parametri
Esistono quattro modi generali per utilizzare i parametri:
- Definisci in fase di progettazione: In fase di progettazione, puoi utilizzare la console o l'API per definire i parametri. Ad esempio, puoi definire un parametro di intent e usarla in una frase di addestramento per indicare input utente finale da estrarre.
- Riferimento in fase di progettazione: i riferimenti ai parametri sono variabili che contengono i valori dei parametri da estrarre in fase di esecuzione. In fase di progettazione, puoi utilizzare la console o l'API per fare riferimento ai parametri in vari tipi di dati. Ad esempio, puoi fare riferimento a un parametro di sessione in una risposta di completamento statica per una route.
- Imposta durante il runtime: In fase di runtime, il servizio Agenti conversazionali (Dialogflow CX), il servizio che chiama l'API, e il servizio webhook può impostare tutti i valori parametro. Ad esempio, il servizio di agenti conversazionali (Dialogflow CX) imposta il valore di un parametro dell'intenzione quando un input dell'utente finale corrisponde all'intenzione e l'input contiene i dati del parametro.
- Ottieni in fase di esecuzione: in fase di esecuzione, i riferimenti ai parametri contengono i valori dei parametri che sono stati impostati e puoi utilizzare l'API o un webhook per ottenere i valori dei parametri. Ad esempio, quando viene trovata una corrispondenza per un'intenzione e viene chiamato il tuo webhook, il servizio webhook riceve i valori dei parametri per l'intenzione.
Denominazione dei parametri
Alla denominazione dei parametri si applicano le seguenti regole:
- Utilizza i seguenti caratteri:
[A-Z]
,[a-z]
,[0-9]
,.
,-
,_
- I nomi dei parametri non fanno distinzione tra maiuscole e minuscole.
quindi gli agenti conversazionali (Dialogflow CX) considerano
Apple
eapple
come uno stesso parametro. Il codice client dell'API e dei webhook deve anche trattare i nomi dei parametri come non sensibili alle maiuscole, perché non esiste alcuna garanzia per i nomi dei parametri restituiti dagli agenti conversazionali (Dialogflow CX). - Quando crei parametri con lo stesso ID o nome visualizzato in diversi intent o moduli, assicurati che il tipo di entità e le altre impostazioni uguale per tutte le definizioni. Se il tipo di entità o altre impostazioni del parametro differiscono, utilizza un ID parametro o un nome visualizzato univoco per ogni definizione.
Tipi di valori dei parametri
I valori dei parametri supportano più tipi di valori. La sezione sessioni di seguito descrive come fare riferimento a ciascun tipo di valore del parametro. Sono supportati i seguenti tipi:
Tipo | Descrizione |
---|---|
Scalare | Un singolo valore numerico o stringa. |
Composti | Un oggetto JSON compilato mediante la corrispondenza di un'entità composita o mediante il completamento di un parametro di intent, che contiene i campi original e resolved . |
Elenco | Un elenco di valori scalari o composti compilato per un parametro configurato come elenco. Consulta le opzioni È elenco di seguito. |
Stringa vuota del parametro e valori nulli
Puoi impostare i valori dei parametri di stringa su ""
,
che imposta il parametro sulla stringa vuota.
Puoi impostare qualsiasi valore del parametro su null
,
che indica che il parametro non è stato impostato.
Valori originali dei parametri
Quando il testo viene associato a una determinata entità in fase di esecuzione, spesso viene risolto in un valore più pratico per l'elaborazione. Ad esempio, la parola "mele" nell'input dell'utente finale può essere risolto come "mela" per un'entità frutta.
Tutti i tipi di valore per i riferimenti dei parametri di intent può fare riferimento al valore originale o risolto.
Solo tipi di valori compositi per i riferimenti dei parametri di sessione può fare riferimento al valore originale.
Parametri di intent
Gli intent utilizzano i parametri per estrarre i dati forniti dagli utenti finali quando gli intent vengono abbinati. I seguenti dati vengono utilizzati per definire un parametro di intent:
- Nome (noto anche come ID o Nome visualizzato): Un nome che identifica il parametro.
- Tipo di entità: Il tipo di entità associato al parametro.
- È elenco: se true, il parametro viene trattato come un elenco di valori.
- Oscura nel log: Se impostato su true, i dati dei parametri forniti dall'utente finale sono oscurato.
Definire i parametri di intent
I parametri di intent vengono definiti in fase di progettazione durante la creazione dei dati dell'intent o durante la annotazione delle frasi di addestramento.
Parametri di intenzione di riferimento
I riferimenti ai parametri di intent possono essere utilizzati nei messaggi di risposta all'esecuzione statica dei percorsi di intent.
Puoi fare riferimento al valore originale o al valore risolto.
Per fare riferimento a un parametro per l'intent attualmente associato, utilizza uno dei seguenti formati:
$intent.params.parameter-id.original $intent.params.parameter-id.resolved
Ad esempio:
se l'ID parametro è date
,
puoi fare riferimento al valore risolto come $intent.params.date.resolved
.
Imposta parametri di intent
Quando un input utente finale corrisponde a un intent in fase di runtime, qualsiasi parametro utilizzato annotazione per la frase di addestramento associata sia impostata dagli agenti conversazionali (Dialogflow CX).
L'implementazione per un percorso dell'intent può utilizzare un predefinito del parametro di implementazione per impostare un valore del parametro dell'intent in fase di esecuzione.
Ottenere i parametri dell'intenzione
Durante il turno di conversazione in cui viene trovata una corrispondenza con un'intenzione, il codice può accedere ai valori dei parametri dell'intenzione.
Le interazioni con l'API restituiranno i valori del parametro per l'intent.
Consulta il campo di risposta queryResult.parameters
del metodo detectIntent
per il tipo Session
.
Seleziona un protocollo e una versione per il riferimento sessione:
Protocollo | V3 | V3beta1 |
---|---|---|
REST | Risorsa di sessione | Risorsa sessione |
RPC | Interfaccia della sessione | Interfaccia di sessione |
C++ | SessionsClient | Non disponibile |
C# | SessionsClient | Non disponibile |
Vai | SessionsClient | Non disponibile |
Java | SessionsClient | SessionsClient |
Node.js | SessionsClient | SessionsClient |
PHP | Non disponibile | Non disponibile |
Python | SessionsClient | SessionsClient |
Ruby | Non disponibile | Non disponibile |
I webhook ricevono i valori dei parametri di intent.
Visualizza il campo intentInfo.parameters
nella
Richiesta webhook.
Parametri del modulo
Per ogni pagina puoi definire modulo, un elenco di parametri che deve essere raccolto dall'utente finale per la pagina. L'agente interagisce con l'utente finale in più turni di conversazione, finché non ha raccolto tutti i parametri del modulo richiesti, chiamati anche parametri di pagina. L'agente raccoglie questi parametri nell'ordine definito nella pagina. Per ogni parametro obbligatorio del modulo, fornisci anche messaggi che l'agente utilizza richiedere queste informazioni all'utente finale. Questa procedura è chiamata compilazione dei moduli.
Ad esempio, potresti creare un modulo
che raccoglie il nome e il numero di telefono dell'utente finale per una pagina Collect Customer Info
.
I seguenti dati vengono utilizzati per definire un parametro del modulo:
Nome dell'opzione della console | Catena di campi API | Descrizione |
---|---|---|
Nome visualizzato | Page.form.parameters[].displayName |
Un nome che identifica il parametro. |
Tipo di entità | Page.form.parameters[].entityType |
Il tipo di entità associato al parametro. |
Obbligatorio | Page.form.parameters[].required |
Indica se il parametro è obbligatorio. I parametri obbligatori devono essere compilati prima della conclusione della compilazione del modulo e l'agente chiederà all'utente finale di inserire i valori. Per maggiori dettagli, vedi la sezione Impostare i parametri del modulo di seguito. |
Valore predefinito (visibile solo se l'opzione Obbligatorio non è selezionata) | Page.form.parameters[].defaultValue |
Il valore predefinito di un parametro facoltativo. Per maggiori dettagli, vedi la sezione Impostare i parametri del modulo di seguito. |
È un elenco | Page.form.parameters[].isList |
Se impostato su true, il parametro viene considerato come un elenco di valori. |
Oscurare nel log | Page.form.parameters[].redact |
Se true, i dati dei parametri forniti dall'utente finale vengono oscurati. |
Adempimento del prompt iniziale | Page.form.parameters[].fillBehavior.initialPromptFulfillment |
Prompt iniziali sotto forma di adempimento per richiedere all'utente finale un valore parametro obbligatorio. Per informazioni dettagliate, consulta la sezione Impostare i parametri del modulo di seguito. |
Gestori di eventi di ripetizione | Page.form.parameters[].fillBehavior.repromptEventHandlers |
Vengono utilizzati quando l'agente deve chiedere di nuovo all'utente finale di compilare il parametro dopo un tentativo non riuscito. Consulta Gestione degli handler di richiesta di conferma per la compilazione dei moduli. Se non sono definiti gestori di eventi di richiesta di nuovo, l'agente chiederà di nuovo dopo un tentativo non riuscito. |
DTMF | Non disponibile | Consulta la sezione DTMF di seguito. |
Definisci e gestisci i parametri del modulo
I parametri del modulo vengono definiti in fase di progettazione durante la creazione di una pagina.
Per modificare l'ordine dei parametri del modulo nella console: fai clic sul titolo della sezione Parametri nella pagina, quindi trascina le righe dei parametri nella tabella dei parametri.
Per eliminare un parametro del modulo, fai clic sul titolo della sezione Parametri nella pagina, sposta il mouse sopra un parametro, quindi fai clic sul pulsante di eliminazione delete.
Parametri modulo di riferimento
I riferimenti ai parametri del modulo non vengono utilizzati direttamente. Puoi controllare solo lo stato di compilazione dei singoli parametri del modulo o del modulo nel suo complesso. Puoi utilizzare questi riferimenti allo stato del modulo in un requisito di condizione di un percorso di condizione.
Per verificare se il modulo completo della pagina corrente è compilato, utilizza la seguente condizione:
$page.params.status = "FINAL"
Per verificare se un determinato parametro del modulo è stato compilato nell'ultimo passaggio, utilizza la seguente condizione:
$page.params.parameter-id.status = "UPDATED"
Imposta parametri del modulo
I valori dei parametri del modulo possono essere impostati in diversi modi. Le seguenti sottosezioni descrivono ciascun meccanismo per impostare i valori dei parametri del modulo.
Valori dei parametri predefiniti
Puoi fornire valori predefiniti per i parametri facoltativi del modulo. Quando inizia il completamento del modulo, tutti i parametri facoltativi non impostati vengono impostati sui valori predefiniti. Questi valori possono essere inizializzati o sostituiti da alcuni dei meccanismi riportati di seguito.
Se è richiesto un parametro, il suo valore predefinito viene ignorato.
Compilazione dei moduli
Gli agenti conversazionali (Dialogflow CX) impostano automaticamente i valori parametro forniti dall'utente finale durante la compilazione del modulo. L'agente raccoglie i parametri obbligatori nell'ordine definito nella pagina. L'agente chiede all'utente finale i valori richiesti utilizzando il completamento della richiesta iniziale che fornisci per ogni parametro obbligatorio. I parametri facoltativi non attiveranno i prompt.
Se un valore parametro richiesto non è fornito dall'utente finale dopo il prompt di un agente, il prompt iniziale verrà ripetuto, a meno che non venga modificato è definita nei gestori dei prompt. Se sono definiti più prompt di testo iniziali, il comportamento dell'agente è lo stesso di qualsiasi risposta di testo per l'evasione.
Propagazione di parametri di sessione e intent
Se in fase di runtime viene impostato un parametro di qualsiasi tipo, il parametro viene scritto nella sessione e diventa un parametro di sessione.
Quando una pagina diventa attiva, e durante il suo periodo di attività qualsiasi parametro del modulo con lo stesso nome di un parametro di sessione viene impostato automaticamente sul valore parametro di sessione.
Ciò può accadere con un parametro di intent abbinato in un percorso di intent o nella propagazione dei parametri.
La propagazione dei parametri di intent e sessione è l'unico meccanismo per impostare i parametri facoltativi dei moduli su valori provenienti dall'input dell'utente finale, ma questo meccanismo può anche impostare o sostituire i valori dei parametri dei moduli obbligatori.
Valori preimpostati dei parametri di adempimento
L'elaborazione per una route, un gestore eventi o un richiamo del modulo può utilizzare un predefinito del parametro di adempimento per impostare un valore del parametro del modulo in fase di esecuzione. Un valore preimpostato di un parametro di completamento sostituirà un valore parametro inclusi i valori predefiniti dei parametri.
Impostazione del parametro webhook
Il webhook può impostare i valori dei parametri del modulo in fase di runtime.
Visualizza il campo pageInfo.formInfo.parameterInfo
nella
Risposta webhook.
Ottieni parametri del modulo
Le interazioni con l'API restituiranno i valori dei parametri del modulo.
Vedi il campo di risposta queryResult.parameters
del metodo detectIntent
per il tipo Session
.
Seleziona un protocollo e una versione per il riferimento sessione:
Protocollo | V3 | V3beta1 |
---|---|---|
REST | Risorsa di sessione | Risorsa sessione |
RPC | Interfaccia di sessione | Interfaccia della sessione |
C++ | SessionsClient | Non disponibile |
C# | SessionsClient | Non disponibile |
Vai | SessionsClient | Non disponibile |
Java | SessionsClient | SessionsClient |
Node.js | SessionsClient | SessionsClient |
PHP | Non disponibile | Non disponibile |
Python | SessionsClient | SessionsClient |
Ruby | Non disponibile | Non disponibile |
Valori dei parametri del modulo di ricezione del webhook.
Consulta il campo pageInfo.formInfo.parameterInfo
nella
richiesta webhook.
Gestori di richieste di conferma per la compilazione dei moduli
I gestori di richieste di nuovo input, noti anche come gestori di eventi a livello di parametro, vengono utilizzati per definire il comportamento complesso della richiesta di un parametro per i parametri obbligatori. Ad esempio, gli handler di richiesta di nuovo prompt possono essere utilizzati per modificare la richiesta quando l'utente finale non fornisce un valore dopo la richiesta iniziale e per passare a un'altra pagina dopo N tentativi non riusciti.
Se non sono definiti gestori di richieste ripetute, la richiesta iniziale verrà utilizzata per richiedere nuovamente all'utente finale, se necessario.
Se l'utente finale risponde con un input imprevisto, viene invocato un evento sys.no-match-*
o sys.no-input-*
e vengono chiamati eventuali gestori di richieste di nuovo input definiti per questi eventi.
Come altri gestori di eventi, un gestore di richieste di conferma è un tipo di gestore dello stato che può essere configurato con uno o entrambi i seguenti elementi:
- Un'implementazione per fornire un messaggio di richiesta di conferma all'utente finale e/o un predefinito del parametro.
- Un target di transizione per cambiare la pagina corrente.
Parametri sessione
Se in fase di runtime viene impostato un parametro di qualsiasi tipo, il parametro viene scritto nella sessione e diventa un parametro di sessione. Questi parametri non sono definiti esplicitamente in fase di progettazione. Puoi fare riferimento a questi parametri di sessione in qualsiasi momento durante una sessione.
Parametri di sessione di riferimento
I riferimenti dei parametri di sessione possono essere utilizzati i messaggi di risposta statici per i seguenti tipi di fulfillment:
- Fulfillment voce di pagina
- Evasione del percorso
- Adempimento del gestore di eventi
- Soddisfazione delle richieste del modulo
- Evasione richiesta di modulo
I riferimenti possono essere utilizzati anche in:
- Valori dell'intestazione webhook per l'autenticazione.
- Richieste webhook flessibili, per inviare i valori dei parametri a un webhook.
Per fare riferimento a un parametro di sessione, utilizza i seguenti formati:
Scalare
Per accedere a un parametro con un tipo di entità scalare:
$session.params.parameter-id
Ad esempio:
se l'ID parametro è date
,
puoi fare riferimento al valore come $session.params.date
.
Composti
Per accedere a un membro di un parametro con un tipo di entità composita:
$session.params.parameter-id.member-name
Ad esempio, se l'ID parametro è
location
, puoi fare riferimento al valore del membrozip-code
come$session.params.location.zip-code
.Per accedere al valore originale di un parametro con un tipo di entità composta:
$session.params.parameter-id.original
Per accedere all'oggetto completo di un parametro con un tipo di entità composita, utilizza la Funzione di sistema IDENTITY.
Elenco
Per accedere a un elenco completo degli elementi:
$session.params.parameter-id
Ad esempio, se l'ID parametro dell'elenco è
colors
e i valori estratti da una query utente sono["red", "blue", "yellow"]
, puoi fare riferimento a tutti i valori come$session.params.colors
.Per accedere all'elemento i di un parametro di elenco:
$session.params.parameter-id[i]
Ad esempio, se l'ID parametro dell'elenco è
colors
, puoi fare riferimento al primo valore come$session.params.colors[0]
.
Impostare i parametri della sessione
Al termine della compilazione del modulo, i parametri compilati vengono scritti nella sessione da agenti conversazionali (Dialogflow CX).
L'elaborazione per un percorso, un gestore eventi o un richiamo del modulo può utilizzare un predefinito del parametro di adempimento per impostare un valore del parametro di sessione in fase di esecuzione.
Il webhook può impostare i valori dei parametri di sessione in fase di runtime.
Visualizza il campo sessionInfo.parameters
nella
risposta webhook standard
o consulta
risposta webhook flessibile.
Le interazioni con l'API possono impostare i valori dei parametri di sessione.
Visualizza il campo di richiesta queryParams.parameters
del metodo detectIntent
per il tipo Session
.
Seleziona un protocollo e una versione per il riferimento sessione:
Protocollo | V3 | V3beta1 |
---|---|---|
REST | Risorsa di sessione | Risorsa di sessione |
RPC | Interfaccia della sessione | Interfaccia di sessione |
C++ | SessionsClient | Non disponibile |
C# | SessionsClient | Non disponibile |
Vai | SessionsClient | Non disponibile |
Java | SessionsClient | SessionsClient |
Node.js | SessionsClient | SessionsClient |
PHP | Non disponibile | Non disponibile |
Python | SessionsClient | SessionsClient |
Ruby | Non disponibile | Non disponibile |
Recupera i parametri della sessione
Le interazioni con l'API restituiranno i valori dei parametri della sessione.
Vedi il campo di risposta queryResult.parameters
del metodo detectIntent
per il tipo Session
.
Seleziona un protocollo e una versione per il riferimento sessione:
Protocollo | V3 | V3beta1 |
---|---|---|
REST | Risorsa di sessione | Risorsa sessione |
RPC | Interfaccia di sessione | Interfaccia di sessione |
C++ | SessionsClient | Non disponibile |
C# | SessionsClient | Non disponibile |
Vai | SessionsClient | Non disponibile |
Java | SessionsClient | SessionsClient |
Node.js | SessionsClient | SessionsClient |
PHP | Non disponibile | Non disponibile |
Python | SessionsClient | SessionsClient |
Ruby | Non disponibile | Non disponibile |
Valori dei parametri di sessione ricevuti dai webhook.
Consulta il campo sessionInfo.parameters
nella
richiesta webhook.
Propagazione dei parametri
Quando un input dell'utente finale fornisce un valore parametro, il parametro può essere propagato ad altri livelli:
- Quando un parametro di intent viene impostato da una corrispondenza di intent, parametri del modulo con gli stessi nomi per la pagina attiva siano impostati sullo stesso valore. Il tipo di entità del parametro è dettata dalla definizione del parametro di intent.
- Quando un parametro di intent viene impostato da una corrispondenza di intent o un parametro di modulo viene impostato durante la compilazione di un modulo, il parametro diventa un parametro di sessione.
DTMF per le integrazioni di telefonia
Puoi attivare e configurare DTMF (segnale multifrequenza dual-tono) per un parametro. Una volta abilitata, un utente finale per un agente che utilizza una telefonia di integrazione utilizzare il tastierino del telefono per fornire i valori dei parametri.
Per ridurre l'ambiguità, l'input DTMF può essere interpretato sia in forma normale che specifica per DTMF (consigliata):
- La forma normale consiste semplicemente nei valori del tastierino inseriti dall'utente finale.
Ad esempio,
123#
. - Il formato specifico DTMF converte l'input in
dtmf_digits_[digits]
, dove[digits]
sono le cifre DTMF originali con*
sostituito dastar
e#
sostituito dapound
. Ad esempio,123#
viene interpretato comedtmf_digits_123pound
.
Quando vengono abbinati i tipi di entità per un parametro, agenti conversazionali (Dialogflow CX) cercherà di abbinare sia le forme normali che quelle specifiche per DTMF.
Quando si utilizza un tipo di entità per l'input DTMF,
ti consigliamo di definire sinonimi come dtmf_digits_123
per migliorare la corrispondenza NLU.
Se l'input DTMF non soddisfa la condizione di risoluzione (ovvero ha non ha raggiunto la lunghezza massima di cifre o non è stato terminato entro il termine cifra), l'agente degli agenti conversazionali (Dialogflow CX) continuerà ad attendere ulteriori input. Durante questo punto, se timeout per nessuna voce è attivata, l'agente richiama un evento senza input. Se viene rilevata solo un'espressione vocale, l'agente abbina l'input vocale. Se vengono rilevati sia la voce che l'input DTMF, l'input vocale viene ignorato e viene preso in considerazione solo l'input DTMF.
Per attivare e personalizzare DTMF per un parametro:
Console
- Attiva le Impostazioni avanzate dal impostazioni IVR e voce agente se non le hai già attivate.
- Crea un parametro di pagina.
- Nel riquadro dei parametri, attiva Attiva DTMF.
- Imposta Cifre massime sul numero massimo di cifre che l'utente finale può fornire per questo parametro.
- Imposta Digito di fine sul valore del tastierino che interromperà l'inserimento DTMF per il parametro.
È comune utilizzare
#
per questa impostazione. La cifra finale non viene aggiunta alla query degli agenti conversazionali (Dialogflow CX) sull'agente. Pertanto, se la cifra finale è # e l'input è 123#, l'input effettivo della query sarà "123"
Quando crei l'agente, puoi testare gli input DTMF nel simulatore.
Endpoint intelligente
Se viene utilizzata l'endpoint intelligente se è abilitato per l'agente, puoi personalizzare il comportamento degli endpoint intelligenti per parametro numerico.
- Imposta Numero minimo di cifre per suggerire l'endpointer intelligente di attendere che tutte le cifre raccolte.
- Imposta Correggi trascrizioni per migliorare il riconoscimento vocale di cifre correggendo errori comuni nella trascrizione delle cifre. Questa opzione è supportata solo per le richieste che specificano un codice lingua en o en-*.
- Imposta Timeout di attesa per specificare il tempo aggiuntivo che gli agenti conversazionali (Dialogflow CX) dovranno attendere prima che l'utente fornisca ulteriori input.
Parametri basati sul flusso
I parametri basati sul flusso possono essere definiti come predefiniti dei parametri di evasione o parametri dei moduli. È possibile fare riferimento a questi parametri solo mentre il flusso in cui sono definiti è attivo e non è mantenuto nei parametri della sessione.
Per definire o fare riferimento a un parametro basato sul flusso, utilizza la seguente sintassi:
$flow.parameter-name
Ad esempio, se il nome del parametro è date
, puoi definirlo o fare riferimento al parametro come $flow.date
.
Tieni presente che utilizzare il prefisso $
durante la definizione dei parametri
è diverso da altri tipi di parametri che non utilizzano $
per le definizioni dei parametri.
Un esempio di definizione di parametro basato sul flusso:
Lifetime del valore del parametro basato sul flusso
È raro, ma in alcuni casi avanzati potresti dover capire come vengono conservati i valori dei parametri basati sul flusso (o eliminato) quando un flusso diventa inattivo, per poi essere di nuovo attivo.
Se i valori dei parametri basati sul flusso vengono conservati quando un flusso diventa inattivo, la riattivazione dipende Stack di flusso e di trasferire le instances di flusso nello stack.
- Quando il flusso A passa al flusso B utilizzando un target di transizione specifico, il flusso A (flusso principale) rimane nello stack, il flusso A mantiene i valori dei parametri a livello di flusso e viene aggiunta allo stack una nuova istanza del flusso B (flusso secondario).
- Quando un flusso secondario torna a un flusso principale utilizzando un target di transizione simbolico (ad esempio END_FLOW), il flusso secondario viene rimosso dallo stack, tutti i valori dei parametri basati sul flusso secondario vengono ignorati e tutti i valori dei parametri basati sul flusso principale vengono mantenuti.
- Utilizzando una serie di transizioni con target di transizione specifici, la serie di flussi può contenere più istanze di un tipo di flusso. Ogni istanza del tipo di flusso ha valori parametro univoci basati sul flusso. Ad esempio: A1 -> B1 -> C1 -> B2 dove A, B e C sono tipi di flusso, e i numeri indicano le istanze di questi tipi di flusso. In questo esempio, B1 e B2 sono istanze diverse del flusso B e hanno parametri basati sul flusso univoci.
Esempi:
Transizioni | Risultato |
---|---|
Il flusso A (A1) diventa attivo. Il flusso B (B1) diventa attivo utilizzando un target di transizione specifico. Il flusso B ritorna al flusso A (A1) che lo ha avviato utilizzando un target di transizione simbolico. |
Il flusso A conserva i valori dei parametri. |
Il flusso A (A1) diventa attivo. Il flusso B (B1) si attiva utilizzando un target di transizione specifico. Il flusso B esegue la transizione a una nuova istanza del flusso A (A2) utilizzando un target di transizione specifico. |
La nuova istanza del flusso A (A2) nella parte superiore dello stack non ha accesso ai valori parametro del flusso A (A1) nella parte inferiore dello stack. |
Il flusso A (A1) diventa attivo. Il flusso B (B1) si attiva utilizzando un target di transizione specifico. Il flusso A (A1) diventa attivo utilizzando un target di transizione simbolico. Il flusso B (B2) si attiva utilizzando un target di transizione specifico. |
Il flusso B (B2) non conserva i valori dei parametri impostati mentre era attivo dopo la seconda transizione (B1). |
Parametri basati sulle richieste
I parametri basati sulle richieste sono parametri di breve durata creati dagli agenti conversazionali (Dialogflow CX) a cui si può fare riferimento solo durante il ciclo di vita della richiesta corrente e non vengono mantenuti nei parametri della sessione.
I parametri basati sulle richieste vengono generati dagli agenti conversazionali (Dialogflow CX) per le funzionalità seguenti.
Parametri integrati
Puoi accedere ai vari dati associati alla richiesta utilizzando:
Riferimento | Descrizione |
---|---|
$request.agent-id | L'identificatore dell'agente. |
$request.session-id | L'identificatore della sessione. |
$request.language | Codice lingua specificato in QueryInput.language_code . |
$request.resolved-language | Il codice lingua effettivo utilizzato dall'agente durante l'elaborazione. La lingua risolta può essere diversa da quella specificata nella richiesta. Ad esempio, se l'agente supporta solo "en", mentre la lingua specificata nella richiesta è "en-US", la lingua risolta sarà "en". |
$request.user-utterance | L'espressione utente corrente specificata nella richiesta. |
$request.last-agent-utterance | L'espressione più recente inviata dall'agente. |
Payload personalizzato
Se il criterio QueryParameters.payload
è impostato, puoi accedere al parametro corrispondente tramite $request.payload.param-id
.
Analisi del sentiment
Quando l'analisi del sentiment è abilitata, sono disponibili i seguenti riferimenti al sentiment:
Riferimento | Tipo | Descrizione |
---|---|---|
$request.sentiment.score | Numero | Punteggio del sentiment compreso tra -1,0 (sentiment negativo) e 1,0 (sentiment positivo). |
$request.sentiment.magnitude | Numero | Indica la forza complessiva dell'emozione (sia positiva che negativa) compresa tra 0,0 e +inf. A differenza del punteggio, la grandezza non è normalizzata, ciascuna espressione emotiva nell'input utente finale (sia positiva che negativa) contribuisce alla grandezza dell'input. Gli input più lunghi potrebbero avere magnitudini maggiori. |
$request.sentiment.succeeded | Booleano | True se l'analisi del sentiment ha esito positivo, falso negli altri casi. |
Oscuramento dei parametri
Per qualsiasi parametro di intent o modulo,
puoi attivare l'oscuramento dei parametri,
che oscura i dati dei parametri di runtime dell'utente finale dai log
e dallo spazio di archiviazione interno degli agenti di conversazione (Dialogflow CX).
I parametri oscurati sono visualizzati come $parameter-name_redacted
nei log.
Ad esempio: Considera un input utente finale come "Il mio indirizzo è 1600 Amphitheatre Parkway" che genera un parametro address inviati a "1600 Amphitheatre Parkway". Il testo registrato sarà "Il mio indirizzo è $address_redacted".
Per attivare l'oscuramento dei parametri:
Console
Seleziona la casella di controllo Oscuramento nel log quando crei o aggiorni un parametro.
API
Imposta il campo parameters[].redact
su true per il tipo Intent
.
Seleziona un protocollo e una versione per il riferimento per intent:
Protocollo | V3 | V3beta1 |
---|---|---|
REST | Risorsa intent | Risorsa intent |
RPC | Interfaccia per intent | Interfaccia Intent |
C++ | IntentsClient | Non disponibile |
C# | IntentsClient | Non disponibile |
Vai | IntentsClient | Non disponibile |
Java | IntentsClient | IntentsClient |
Node.js | IntentsClient | IntentsClient |
PHP | Non disponibile | Non disponibile |
Python | IntentsClient | IntentsClient |
Ruby | Non disponibile | Non disponibile |
Imposta il campo form.parameters[].redact
su true per il tipo Page
.
Seleziona un protocollo e una versione per il riferimento della pagina:
Protocollo | V3 | V3beta1 |
---|---|---|
REST | Risorsa pagina | Risorsa della pagina |
RPC | Interfaccia della pagina | Interfaccia della pagina |
C++ | PagesClient | Non disponibile |
C# | PagesClient | Non disponibile |
Vai | PagesClient | Non disponibile |
Java | PagesClient | PagesClient |
Node.js | PagesClient | PagesClient |
PHP | Non disponibile | Non disponibile |
Python | PagesClient | PagesClient |
Ruby | Non disponibile | Non disponibile |
In alternativa, puoi oscurare tutti i parametri di un tipo di entità specifico.