Definisci, fai riferimento, imposta e recupera i parametri
Esistono quattro modi generali in cui vengono utilizzati i parametri:
- Definizione in fase di progettazione: durante la fase di progettazione, utilizzi la console o l'API per definire i parametri. Ad esempio, puoi definire un parametro di intent e utilizzarlo in una frase di addestramento per indicare l'input utente finale che deve essere estratto.
- Riferimento in fase di progettazione: i riferimenti ai parametri sono variabili che contengono i valori parametro da estrarre in fase di runtime. Durante la fase di progettazione, utilizzi 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 fulfillment statico per un percorso.
- Impostazione in fase di runtime: in fase di runtime, il servizio Dialogflow CX, il tuo servizio che chiama l'API e il tuo servizio webhook possono impostare i valori parametro. Ad esempio, il servizio Dialogflow CX imposta il valore di un parametro di intent quando un input utente finale corrisponde all'intent e l'input contiene dati del parametro.
- Recupero in fase di runtime: in fase di runtime, i riferimenti ai parametri contengono i valori parametro impostati e puoi utilizzare l'API o un webhook per recuperare i valori parametro. Ad esempio, quando viene trovata una corrispondenza con un intent e viene chiamato il webhook, il servizio webhook riceve i valori parametro per l'intent.
Denominazione dei parametri
Ai nomi 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, pertanto Dialogflow CX considera
Appleeapplecome lo stesso parametro. Anche il codice client API e webhook deve trattare i nomi dei parametri come non sensibili alle maiuscole, perché non è garantito che i nomi dei parametri restituiti da Dialogflow CX rispettino le maiuscole. - Quando crei parametri con lo stesso ID o nome visualizzato in intent o moduli diversi, assicurati che il tipo di entità e le altre impostazioni siano uguali per tutte le definizioni. Se il tipo di entità o altre impostazioni dei parametri differiscono, utilizza un ID parametro o un nome visualizzato univoco per ogni definizione.
Tipi di valori dei parametri
I valori parametro supportano più tipi di valori. La seguente sezione sulle sessioni descrive come fare riferimento a ogni tipo di valore parametro. Sono supportati i seguenti tipi:
| Tipo | Descrizione |
|---|---|
| Scalare | Un singolo valore numerico o di stringa. |
| Composita | Un oggetto JSON compilato mediante la corrispondenza di un'entità composita o la compilazione di un parametro di intent, che contiene i campi original e resolved. |
| Elenco | Un elenco di valori scalari o compositi compilati per un parametro configurato come elenco. Consulta le seguenti opzioni di Is List. |
Valori null e stringa vuota dei parametri
Puoi impostare i valori dei parametri di stringa su "",
che imposta il parametro sulla stringa vuota.
Puoi impostare qualsiasi valore parametro su null,
che indica che il parametro non è stato impostato.
Valori originali dei parametri
Quando il testo viene abbinato a una determinata entità in fase di runtime, spesso viene risolto in un valore più comodo per l'elaborazione. Ad esempio, la parola "mele" nell'input utente finale può essere risolta come "mela" per un'entità frutta.
Tutti i tipi di valore per i riferimenti ai parametri di intent possono fare riferimento al valore originale o a quello risolto.
Solo i tipi di valore compositi per i riferimenti ai parametri di sessione possono fare riferimento al valore originale.
Parametri di intent
Gli intent utilizzano i parametri per estrarre i dati forniti dagli utenti finali quando vengono trovate corrispondenze con gli intent. 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.
- Is List: 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 vengono oscurati.
Definisci i parametri dell'intent
I parametri degli intent vengono definiti in fase di progettazione durante la creazione dei dati degli intent o l'annotazione delle frasi di addestramento.
Parametri di intent di riferimento
I riferimenti ai parametri di intent possono essere utilizzati nei messaggi di risposta di fulfillment statici dei percorsi di intent.
Puoi fare riferimento al valore originale o al valore risolto.
Per fare riferimento a un parametro per l'intent corrispondente corrente, 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 i parametri dell'intent
Quando un input utente finale corrisponde a un intent in fase di runtime, qualsiasi parametro utilizzato da un'annotazione per la frase di addestramento associata viene impostato da Dialogflow CX.
Il fulfillment per una route di intent può utilizzare un preset del parametro di fulfillment per impostare un valore parametro di intent in fase di runtime.
Recupera i parametri dell'intent
Durante il turno di conversazione in cui viene trovato un intent corrispondente, il tuo codice può accedere ai valori parametro dell'intent.
Le interazioni con l'API restituiranno i valori dei parametri di intent.
Consulta il campo di risposta queryResult.parameters del metodo detectIntent per il tipo Session.
Seleziona un protocollo e una versione per il riferimento alla sessione:
| Protocollo | V3 | V3beta1 |
|---|---|---|
| REST | Risorsa Session | Risorsa Session |
| RPC | Interfaccia della 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 |
I webhook ricevono i valori dei parametri degli intent.
Consulta il campo intentInfo.parameters nella richiesta del webhook.
Parametri del modulo
Per ogni pagina, puoi definire un modulo, ovvero un elenco di parametri che devono essere raccolti dall'utente finale per la pagina. L'agente interagisce con l'utente finale per più turni di conversazione, finché non ha raccolto tutti i parametri del modulo richiesti, noti anche come parametri della pagina. L'agente raccoglie questi parametri nell'ordine definito nella pagina. Per ogni parametro del modulo obbligatorio, fornisci anche i prompt che l'agente utilizza per richiedere le informazioni all'utente finale. Questo processo è chiamato 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 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 i valori. Per maggiori dettagli, consulta la sezione Imposta 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, consulta la sezione Imposta i parametri del modulo di seguito. |
| È un elenco | Page.form.parameters[].isList |
Se true, il parametro viene trattato come un elenco di valori. |
| Oscura 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 fulfillment per richiedere un valore parametro obbligatorio all'utente finale. Per maggiori dettagli, consulta la sezione Imposta i parametri del modulo di seguito. |
| Gestori di eventi di invio di un nuovo prompt | Page.form.parameters[].fillBehavior.repromptEventHandlers |
Questi vengono utilizzati quando l'agente deve inviare un nuovo prompt all'utente finale per compilare il parametro dopo un tentativo non riuscito. Consulta Gestori di nuovi prompt per la compilazione dei moduli. Se non sono definiti gestori di eventi di nuovo prompt, l'agente invierà un nuovo prompt con i prompt iniziali 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 con la 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 della pagina, tieni il puntatore su un parametro, quindi fai clic sul pulsante Elimina delete.
Parametri del 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 è stato compilato, utilizza la seguente condizione:
$page.params.status = "FINAL"
Per verificare se un determinato parametro del modulo è stato compilato nell'ultimo turno, utilizza la seguente condizione:
$page.params.parameter-id.status = "UPDATED"
Imposta i parametri del modulo
I valori dei parametri del modulo possono essere impostati in vari modi. Le sezioni seguenti descrivono ogni meccanismo per impostare i valori dei parametri del modulo.
Valori dei parametri predefiniti
Puoi fornire valori predefiniti per i parametri facoltativi del modulo. All'inizio della compilazione del modulo, tutti i parametri facoltativi del modulo non impostati vengono impostati sui valori predefiniti. Questi valori possono essere inizializzati o sostituiti da alcuni dei seguenti meccanismi.
Se un parametro è obbligatorio, il suo valore predefinito viene ignorato.
Compilazione di moduli
Dialogflow CX imposta 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 fulfillment del prompt iniziale che fornisci per ogni parametro obbligatorio. I parametri facoltativi non attiveranno i prompt.
Se l'utente finale non fornisce un valore parametro obbligatorio dopo un prompt dell'agente, il prompt iniziale verrà ripetuto, a meno che non venga definito un comportamento diverso nei gestori di nuovi prompt. Se sono definiti più prompt testuali iniziali, il comportamento dell'agente è lo stesso di quello per qualsiasi risposta di testo di fulfillment.
Propagazione dei parametri di intent e sessione
Quando un parametro di qualsiasi tipo viene impostato in fase di runtime, viene scritto nella sessione e diventa un parametro sessione.
Quando una pagina diventa attiva per la prima volta 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 corrispondente 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 del modulo sui valori dell'input utente finale, ma questo meccanismo può anche impostare o sostituire i valori dei parametri obbligatori del modulo.
Preset dei parametri di fulfillment
Il fulfillment per una route, un gestore di eventi o un nuovo prompt del modulo può utilizzare un preset del parametro di fulfillment per impostare un valore parametro del modulo in fase di runtime. Un preset dei parametri di fulfillment sostituisce 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.
Consulta il campo pageInfo.formInfo.parameterInfo nella risposta del webhook.
Ottieni i parametri del modulo
Le interazioni con l'API restituiranno i valori dei parametri del modulo.
Consulta il campo di risposta queryResult.parameters del metodo detectIntent per il tipo Session.
Seleziona un protocollo e una versione per il riferimento alla sessione:
| Protocollo | V3 | V3beta1 |
|---|---|---|
| REST | Risorsa Session | Risorsa Session |
| RPC | Interfaccia della 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 |
I webhook ricevono i valori dei parametri del modulo.
Consulta il campo pageInfo.formInfo.parameterInfo nella richiesta del webhook.
Gestori di nuovi prompt per la compilazione di moduli
I gestori di nuovi prompt, noti anche come gestori di eventi a livello di parametro, vengono utilizzati per definire un comportamento complesso dei prompt dei parametri per i parametri obbligatori. Ad esempio, i gestori di nuovi prompt possono essere utilizzati per modificare il prompt quando l'utente finale non fornisce un valore dopo il prompt iniziale e per passare a un'altra pagina dopo N tentativi non riusciti.
Se non sono definiti gestori di nuovi prompt, il prompt iniziale verrà utilizzato per inviare un nuovo prompt all'utente finale, se necessario.
Se l'utente finale risponde con un input imprevisto, viene richiamato un evento sys.no-match-* o sys.no-input-* e vengono chiamati i gestori di invio di un nuovo prompt definiti per questi eventi.
Come altri gestori di eventi, un gestore di nuovi prompt è un tipo di gestore di stato che può essere configurato con uno o entrambi i seguenti elementi:
- Un fulfillment per fornire un messaggio di nuovo prompt per l'utente finale e un parametro preimpostato.
- Un target di transizione per cambiare la pagina corrente.
Parametri di sessione
Quando un parametro di qualsiasi tipo viene impostato in fase di runtime, viene scritto nella sessione e diventa un parametro 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 ai parametri di sessione possono essere utilizzati nei messaggi di risposta statici per i seguenti tipi di fulfillment:
- Fulfillment di ingresso alla pagina
- Evasione del percorso
- Fulfillment del gestore di eventi
- Esecuzione del prompt del modulo
- Fulfillment di un nuovo prompt del modulo
I riferimenti possono essere utilizzati anche in:
- Valori delle intestazioni del webhook per l'autenticazione.
- Richieste webhook flessibili, per inviare 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.
Composita
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-codecome$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à composta, utilizza la funzione di sistema IDENTITY.
Elenco
Per accedere a un elenco completo degli elementi:
$session.params.parameter-id
Ad esempio, se l'ID del parametro elenco è
colorse 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'i-esimo elemento 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].
Imposta i parametri della sessione
Al termine della compilazione del modulo, i parametri compilati vengono scritti nella sessione da Dialogflow CX.
Il fulfillment per una route, un gestore di eventi o un nuovo prompt del modulo può utilizzare un preset del parametro di fulfillment per impostare un valore parametro di sessione in fase di runtime.
Il webhook può impostare i valori dei parametri di sessione in fase di runtime.
Consulta il campo sessionInfo.parameters nella
risposta webhook standard
o consulta la
risposta webhook flessibile.
Le interazioni con l'API possono impostare i valori dei parametri di sessione.
Consulta il campo di richiesta queryParams.parameters del metodo detectIntent per il tipo Session.
Seleziona un protocollo e una versione per il riferimento alla sessione:
| Protocollo | V3 | V3beta1 |
|---|---|---|
| REST | Risorsa Session | Risorsa Session |
| RPC | Interfaccia della 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 |
Ottieni i parametri della sessione
Le interazioni con l'API restituiranno i valori dei parametri di sessione.
Consulta il campo di risposta queryResult.parameters del metodo detectIntent per il tipo Session.
Seleziona un protocollo e una versione per il riferimento alla sessione:
| Protocollo | V3 | V3beta1 |
|---|---|---|
| REST | Risorsa Session | Risorsa Session |
| RPC | Interfaccia della 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 |
I webhook ricevono i valori dei parametri di sessione.
Consulta il campo sessionInfo.parameters nella richiesta del webhook.
Disattiva il riconoscimento vocale per la telefonia
In un ambiente rumoroso, il riconoscimento vocale può trascrivere il rumore di fondo come input utente finale. Per un'integrazione di telefonia, queste trascrizioni false possono attivare eventi di mancata corrispondenza o interrompere un utente finale che sta inserendo cifre DTMF con il tastierino.
Per accettare solo l'input DTMF, imposta il parametro di sessione telephony_disable_voice_processing su true. A partire dal turno di conversazione successivo, Dialogflow CX ignora l'input vocale ed elabora solo l'input DTMF. Questa impostazione rimane attiva per il resto della sessione. Per riattivare il riconoscimento vocale, imposta il parametro su false.
Ti consigliamo di utilizzare questo parametro come opzione di riserva, non all'inizio di una conversazione. Ad esempio, dopo che l'utente finale attiva due eventi consecutivi di mancata corrispondenza o di mancato input, utilizza un valore preimpostato del parametro di fulfillment per impostare il parametro su true, quindi chiedi all'utente finale di utilizzare il tastierino.
Assicurati che il DTMF sia abilitato per i parametri che l'utente finale deve fornire.
Propagazione dei parametri
Quando l'input di un 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, i parametri del modulo con lo stesso nome per la pagina attiva vengono impostati sullo stesso valore. Il tipo di entità del parametro è dettato 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 la tecnologia DTMF (Dual-tone multi-frequency signaling) per un parametro. Una volta abilitata, un utente finale di un agente che utilizza un'integrazione di telefonia può utilizzare la tastiera del telefono per fornire i valori dei parametri.
Per ridurre l'ambiguità, l'input DTMF può essere interpretato sia in forma normale che in forma specifica per DTMF (consigliata):
- La forma normale è costituita dai valori del tastierino inseriti dall'utente finale.
Ad esempio,
123#. - Il formato specifico per DTMF converte l'input in
dtmf_digits_[digits], dove[digits]sono le cifre DTMF originali con*sostituito dastare#sostituito dapound. Ad esempio,123#viene interpretato comedtmf_digits_123pound.
Quando associa i tipi di entità per un parametro, Dialogflow CX tenta di associare sia i moduli normali sia quelli specifici per DTMF.
Quando un tipo di entità viene utilizzato 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 terminazione (non ha raggiunto la lunghezza massima delle cifre o non è stato terminato dalla cifra finale), l'agente Dialogflow CX continuerà ad attendere altri input. Durante questo periodo, se viene attivato il timeout di assenza di parlato, l'agente richiamerà un evento di assenza di input. Se viene rilevata solo un'espressione vocale, l'agente esegue la corrispondenza con l'input vocale. Se vengono rilevati sia l'input vocale sia l'input DTMF, l'input vocale viene ignorato e viene considerato solo l'input DTMF.
Per attivare e personalizzare il DTMF per un parametro:
Console
- Attiva le impostazioni avanzate dalle impostazioni di sintesi vocale e IVR dell'agente, se non l'hai già fatto.
- Crea un parametro di pagina.
- Nel riquadro dei parametri, attiva Abilita DTMF.
- Imposta Numero massimo di cifre sul numero massimo di cifre che l'utente finale può fornire per questo parametro.
- Imposta Cifra finale sul valore della tastiera che terminerà l'input DTMF per il parametro.
È comune utilizzare
#per questa impostazione. La cifra finale non viene aggiunta alla query di Dialogflow CX sull'agente, quindi se la cifra finale è # e l'input è 123#, l'input della query effettivo sarà "123".
Durante la creazione dell'agente, puoi testare gli input DTMF nel simulatore.
Parametri con ambito flusso
I parametri con ambito flusso possono essere definiti come valori preimpostati dei parametri di fulfillment o parametri del modulo. Questi parametri possono essere referenziati solo quando il flusso in cui sono definiti è attivo e non vengono mantenuti nei parametri di sessione.
Per definire o fare riferimento a un parametro con ambito di flusso, utilizza la seguente sintassi:
$flow.parameter-name
Ad esempio, se il nome del parametro è date, puoi definirlo o farvi riferimento come $flow.date.
Tieni presente che l'utilizzo di un prefisso $ durante la definizione dei parametri è diverso da altri tipi di parametri che non utilizzano $ per le definizioni dei parametri.
Esempio di definizione di un parametro con ambito di flusso:

Durata del valore parametro con ambito flusso
È raro, ma in alcuni casi avanzati, potresti dover capire come vengono conservati (o eliminati) i valori parametro con ambito di flusso quando un flusso diventa inattivo e poi di nuovo attivo.
La conservazione dei valori parametro basati sui flussi quando un flusso diventa inattivo e poi di nuovo attivo dipende dallo stack di flussi e dalle istanze di flusso nello stack.
- Quando il flusso A passa al flusso B utilizzando una destinazione di transizione specifica, il flusso A (flusso principale) rimane nello stack, il flusso A conserva i valori parametro con ambito del flusso e una nuova istanza del flusso B (flusso secondario) viene aggiunta allo stack.
- Quando un flusso secondario torna a un flusso principale utilizzando una destinazione di transizione simbolica (ad esempio END_FLOW), il flusso secondario viene rimosso dallo stack, tutti i valori parametro con ambito del flusso secondario vengono ignorati e tutti i valori parametro con ambito del flusso principale vengono conservati.
- Utilizzando una serie di transizioni con target di transizione specifici, lo stack di flussi può contenere più istanze di un tipo di flusso. Ogni istanza del tipo di flusso ha valori dei parametri con ambito del flusso univoci. 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 univoci con ambito del flusso.
Esempi:
| Transizioni | Risultato |
|---|---|
| Il flusso A (A1) diventa attivo. Il flusso B (B1) diventa attivo utilizzando un target di transizione specifico. Il flusso B torna al flusso A (A1) che lo ha avviato utilizzando un target di transizione simbolico. |
Il flusso A conserva i valori parametro. |
| Il flusso A (A1) diventa attivo. Il flusso B (B1) diventa attivo utilizzando un target di transizione specifico. Il flusso B passa a una nuova istanza del flusso A (A2) utilizzando una destinazione di transizione specifica. |
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) diventa attivo utilizzando un target di transizione specifico. Il flusso A (A1) diventa attivo utilizzando un target di transizione simbolico. Il flusso B (B2) diventa attivo utilizzando un target di transizione specifico. |
Il flusso B (B2) non conserva i valori parametro impostati mentre era attivo dopo la seconda transizione (B1). |
Parametri con ambito di richiesta
I parametri con ambito di richiesta sono parametri di breve durata creati da Dialogflow CX a cui è possibile fare riferimento solo durante il ciclo di vita della richiesta corrente e non vengono mantenuti nei parametri di sessione.
I parametri con ambito della richiesta vengono generati da Dialogflow CX per le seguenti funzionalità.
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.project-id | L'identificatore del progetto. |
| $request.location-id | L'identificatore della località dell'agente. |
| $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'enunciato dell'utente corrente specificato nella richiesta. |
| $request.last-agent-utterance | L'espressione più recente inviata dall'agente. |
| $request.nlu-confidence-score | Il punteggio di confidenza della classificazione NLU corrente. |
| $request.end-user-metadata | I metadati dell'utente finale specificati nella richiesta. |
| $request.webhook_status_code | Il codice di stato HTTP della chiamata webhook. |
Payload personalizzato
Quando QueryParameters.payload è impostato, puoi accedere al parametro corrispondente utilizzando $request.payload.param-id.
Analisi del sentiment
Quando l'analisi del sentiment è abilitata, sono disponibili i seguenti riferimenti:
| 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 l'intensità complessiva dell'emozione (sia positiva che negativa) tra 0,0 e +infinito. A differenza del punteggio, la grandezza non è normalizzata; ogni espressione di emozione all'interno dell'input utente finale (sia positiva che negativa) contribuisce alla grandezza dell'input. Gli input più lunghi possono avere magnitudo maggiori. |
| $request.sentiment.succeeded | Booleano | True se l'analisi del sentiment è riuscita, altrimenti False. |
Oscuramento dei parametri
Per qualsiasi parametro di intent o modulo, puoi attivare l'oscuramento dei parametri, che oscurerà i dati dei parametri di runtime dell'utente finale dai log e dallo spazio di archiviazione interno di Dialogflow CX.
I parametri oscurati vengono visualizzati come $parameter-name_redacted nei log.
Ad esempio, considera un input dell'utente finale "Il mio indirizzo è 1600 Amphitheatre Parkway" che genera un parametro address inviato 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 Oscura nei log durante la creazione o l'aggiornamento di un parametro.
API
Imposta il campo parameters[].redact su true per il tipo Intent.
Seleziona un protocollo e una versione per il riferimento all'intent:
| Protocollo | V3 | V3beta1 |
|---|---|---|
| REST | Risorsa Intent | Risorsa Intent |
| RPC | Interfaccia 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 alla pagina:
| Protocollo | V3 | V3beta1 |
|---|---|---|
| REST | Risorsa Page | Risorsa Page |
| 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.