I parametri CX sono simili ai parametri ES, ma l'utilità e l'ambito sono stati ampliati e la sintassi per fare riferimento ai parametri è cambiata.
Definire, fare riferimento, impostare e ottenere parametri
Esistono quattro modi generali per utilizzare i parametri:
- Definire in fase di progettazione: durante la fase di progettazione, puoi utilizzare 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 contenenti i valori dei parametri da estrarre durante il runtime. Durante la 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 fulfillment statica per una route.
- Impostato in fase di runtime: in fase di runtime, possono essere impostati valori parametro dal servizio Dialogflow, dal servizio che chiama l'API e dal servizio webhook. Ad esempio, il servizio Dialogflow imposta il valore di un parametro intent quando un input utente finale corrisponde all'intent e l'input contiene i dati dei parametri.
- In fase di runtime: in fase di runtime, i riferimenti ai parametri contengono i valori parametro 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 di un intent e il webhook viene chiamato, il servizio webhook riceve i valori parametro dell'intent.
Denominazione dei parametri
Per la 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,
pertanto Dialogflow considera
Apple
eapple
come lo stesso parametro. Anche il codice client API e webhook devono considerare i nomi dei parametri senza distinzione tra maiuscole e minuscole, in quanto non esiste alcuna garanzia per i nomi dei parametri restituiti da Dialogflow.
Tipi di valori dei parametri
I valori dei parametri supportano più tipi di valori. La sezione sessioni riportata di seguito descrive come fare riferimento a ogni tipo di valore parametro. Sono supportati i seguenti tipi:
Tipo | Descrizione |
---|---|
Scalare | Un singolo valore numerico o stringa. |
Composite | Un oggetto JSON compilato abbinando un'entità composita o compilando un parametro intent, che contiene i campi original e resolved . |
Elenco | Un elenco di valori scalari o compositi compilato per un parametro configurato come elenco. Consulta le opzioni È elenco riportate di seguito. |
Stringa vuota del parametro e valori nulli
Puoi impostare i valori del parametro stringa su ""
,
in modo da impostare il parametro sulla stringa vuota.
Puoi impostare qualsiasi valore parametro su null
,
per indicare che il parametro non è stato impostato.
Valori originali dei parametri
Quando il testo viene associato a una particolare entità in fase di runtime, spesso viene risolto con un valore più conveniente per l'elaborazione. Ad esempio, la parola "mele" nell'input utente finale potrebbe essere risolta come "mela" per un'entità frutta.
Tutti i tipi di valore per i riferimenti ai parametri intent possono fare riferimento al valore originale o risolto.
Solo i tipi di valori composti per i riferimenti ai parametri di sessione possono fare riferimento al valore originale.
Parametri intent
Gli intent utilizzano i parametri per estrarre i dati forniti dagli utenti finali quando vengono soddisfatti gli intent. Per definire un parametro intent vengono utilizzati i seguenti dati:
- 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 considerato come un elenco di valori.
- Oscura nel log: se true, i dati dei parametri forniti dall'utente finale vengono oscurati.
Definisci i parametri di intent
I parametri di intent vengono definiti in fase di progettazione, durante la creazione dei dati di intent o la annotazione delle frasi di addestramento.
Parametri per intent di riferimento
I riferimenti ai parametri di intent possono essere utilizzati nei messaggi di risposta del fulfillment statico delle route dell'intent.
Puoi fare riferimento al valore originale o al valore risolto.
Per fare riferimento a un parametro per l'intent attualmente corrispondente, 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 per 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.
Il fulfillment per una route di intent può utilizzare un parametro di fulfillment preimpostato per impostare uvalore parametroro di intent in fase di runtime.
Recupero parametri intent
Durante la svolta conversazionale in cui viene soddisfatta un intent, il tuo codice può accedere ai valori dei parametri degli intent.
Le interazioni con l'API restituiranno i valori dei parametri di intent.
Controlla 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 sessione | Risorsa sessione |
RPC | Interfaccia sessione | Interfaccia sessione |
C++ | SessionsClient | Non disponibile |
C# | SessionsClient | Non disponibile |
Go | SessionsClient | Non disponibile |
Java | SessionsClient | SessionsClient |
Node.js | SessionsClient | SessionsClient |
PHP | Non disponibile | Non disponibile |
Python | SessionsClient | SessionsClient |
Ruby | Non disponibile | Non disponibile |
I valori dei parametri di intent di ricezione del webhook.
Controlla il campo intentInfo.parameters
nella
richiesta webhook.
Parametri modulo
Per ogni pagina puoi definire un modulo, ovvero un elenco di parametri che dovrebbero essere raccolti dall'utente finale della 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 di pagina. L'agente raccoglie questi parametri nell'ordine definito nella pagina. Per ogni parametro del modulo obbligatorio, devi fornire anche i messaggi utilizzati dall'agente per richiedere queste informazioni all'utente finale. Questa procedura è chiamata compilazione di moduli.
Ad esempio, puoi creare un modulo che raccolga il nome e il numero di telefono dell'utente finale per una pagina Collect Customer Info
.
La compilazione di moduli CX è simile alla compilazione di slot ES.
Per definire un parametro del modulo vengono utilizzati i seguenti dati:
Nome opzione della console | Catena dei campi API | Descrizione |
---|---|---|
Nome visualizzato | Page.form.parameters[].displayName |
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 del termine della compilazione del modulo e l'agente chiederà i valori all'utente finale. Per maggiori dettagli, consulta la sezione Impostare i parametri del modulo di seguito. |
Valore predefinito (visibile solo quando l'opzione Obbligatorio è deselezionata) | Page.form.parameters[].defaultValue |
Il valore predefinito di un parametro facoltativo. Per maggiori dettagli, consulta la sezione Impostare i parametri del modulo di seguito. |
È un elenco | Page.form.parameters[].isList |
Se il valore è true, il parametro viene considerato come un elenco di valori. |
Oscura nel log | Page.form.parameters[].redact |
Se il valore è true, i dati dei parametri forniti dall'utente finale vengono oscurati. |
Fulfillment iniziale del prompt | Page.form.parameters[].fillBehavior.initialPromptFulfillment |
Prompt iniziali in forma di fulfillment per richiedere all'utente finale un valore parametro obbligatorio. Per maggiori dettagli, consulta la sezione Impostare i parametri del modulo di seguito. |
Gestori di eventi di Reprompt | Page.form.parameters[].fillBehavior.repromptEventHandlers |
Questi vengono utilizzati quando l'agente deve chiedere nuovamente all'utente finale di compilare il parametro dopo un tentativo non riuscito. Consulta l'articolo Gestori dei prompt per la compilazione di moduli. Se non sono definiti gestori di eventi di ripetizione, l'agente visualizzerà di nuovo 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 nella console, fai clic sul titolo della sezione Parametri nella pagina e trascina le righe dei parametri nella tabella dei parametri.
Per eliminare un parametro del modulo, fai clic sul titolo della sezione Parametri nella pagina, passa il mouse sopra un parametro e fai clic sul pulsante Elimina delete.
Parametri del modulo di riferimento
I riferimenti ai parametri di modulo non vengono utilizzati direttamente. Puoi controllare solo lo stato di riempimento dei singoli parametri del modulo o dell'intero modulo. Puoi utilizzare questi riferimenti allo stato del modulo in un requisito di una condizione di una route 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'ultima svolta, utilizza la seguente condizione:
$page.params.parameter-id.status = "UPDATED"
Imposta parametri 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 di modulo.
Valori parametro predefiniti
Puoi fornire valori predefiniti per i parametri del modulo facoltativi. Quando inizia la compilazione 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 di moduli
Dialogflow imposta automaticamente i valori dei parametri forniti dall'utente finale durante la compilazione dei moduli. L'agente raccoglie i parametri richiesti nell'ordine definito nella pagina. L'agente richiede all'utente finale i valori richiesti utilizzando il completamento della richiesta iniziale fornito per ogni parametro richiesto. I parametri facoltativi non attiveranno le richieste.
Se l'utente finale non fornisce un valore parametro obbligatorio dopo la richiesta di un agente, la richiesta iniziale verrà ripetuta, a meno che non venga definito un comportamento diverso nei gestori di richiesta. Se sono stati definiti più prompt di testo iniziali, il comportamento dell'agente è lo stesso di tutte le risposte di testo di fulfillment.
Propagazione dei parametri di intent e sessione
Quando viene impostato un parametro di qualsiasi tipo in fase di runtime, viene scritto nella sessione e diventa un parametro della sessione.
Quando una pagina diventa inizialmente attiva e durante il suo periodo attivo, qualsiasi parametro del modulo con lo stesso nome di un parametro di sessione viene impostato automaticamente sul valore parametro sessione.
Ciò può accadere con un parametro di intent corrispondente in una route dell'intent o una propagazione dei parametri.
La propagazione dei parametri di intent e sessione è l'unico meccanismo per impostare parametri facoltativi del modulo sui valori dall'input utente finale, ma questo meccanismo può anche impostare o sostituire i valori dei parametri modulo richiesti.
Preimpostazioni dei parametri di evasione degli ordini
Il fulfillment per una route, un gestore di eventi o una reprompt di modulo può utilizzare un parametro di fulfillment preimpostato per impostare un valore parametro del modulo in fase di runtime. Un valore preimpostato di un parametro di fulfillment sostituirà un valore parametro, inclusi i valori predefiniti dei parametri.
Impostazione parametro webhook
Il webhook può impostare i valori dei parametri del modulo in fase di runtime.
Controlla il campo pageInfo.formInfo.parameterInfo
nella
risposta webhook.
Ottieni parametri del modulo
Le interazioni con l'API restituiranno i valori dei parametri del modulo.
Controlla 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 sessione | Risorsa sessione |
RPC | Interfaccia sessione | Interfaccia sessione |
C++ | SessionsClient | Non disponibile |
C# | SessionsClient | Non disponibile |
Go | 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.
Controlla il campo pageInfo.formInfo.parameterInfo
nella
richiesta webhook.
Gestori dei prompt per la compilazione di moduli
I gestori di richieste di conferma, noti anche come gestori di eventi a livello di parametro, vengono utilizzati per definire un comportamento complesso dei prompt dei parametri per i parametri richiesti. Ad esempio, puoi utilizzare i gestori di ripetizione per modificare la richiesta quando l'utente finale non riesce a fornire un valore dopo la richiesta iniziale e per passare a un'altra pagina dopo N tentativi non riusciti.
Se non è stato definito alcun gestore di richieste, verrà utilizzato il prompt iniziale per riproporre 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 tutti i gestori di prompt definiti per questi eventi vengono chiamati.
Come altri gestori di eventi, un gestore di richieste di conferma è un tipo di gestore di stato che può essere configurato con uno o entrambi gli elementi:
- Un fulfillment per fornire un messaggio di richiesta per l'utente finale e/o un preimpostazione di parametri.
- Un target di transizione per modificare la pagina corrente.
Parametri sessione
Quando viene impostato un parametro di qualsiasi tipo in fase di runtime, viene scritto nella sessione e diventa un parametro della 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 della sessione possono essere utilizzati nei messaggi di risposta statici per i seguenti tipi di fulfillment:
- Fulfillment voce pagina
- Fulfillment percorso
- Fulfillment gestore di eventi
- Fulfillment richiesta modulo
- Evasione della richiesta di modulo
I riferimenti possono essere utilizzati anche in:
- Valori dell'intestazione webhook per l'autenticazione.
- Richieste di 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
.
Composite
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 membrozip-code
come$session.params.location.zip-code
.Per accedere al valore originale di un parametro con un tipo di entità composita:
$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 di elementi:
$session.params.parameter-id
Ad esempio, se l'ID parametro 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 dell'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]
.
Impostazione dei parametri di sessione
Al termine della compilazione del modulo, i parametri compilati vengono scritti nella sessione da Dialogflow.
Il fulfillment per una route, un gestore di eventi o una reprompt di modulo può utilizzare un parametro di fulfillment preimpostato 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.
Controlla il campo sessionInfo.parameters
nella
risposta webhook standard
o visualizza la
risposta webhook flessibile.
Le interazioni con l'API possono impostare i valori dei parametri di sessione.
Controlla 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 sessione | Risorsa sessione |
RPC | Interfaccia sessione | Interfaccia sessione |
C++ | SessionsClient | Non disponibile |
C# | SessionsClient | Non disponibile |
Go | SessionsClient | Non disponibile |
Java | SessionsClient | SessionsClient |
Node.js | SessionsClient | SessionsClient |
PHP | Non disponibile | Non disponibile |
Python | SessionsClient | SessionsClient |
Ruby | Non disponibile | Non disponibile |
Recupero parametri di sessione
Le interazioni con l'API restituiranno i valori parametro sessione.
Controlla 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 sessione | Risorsa sessione |
RPC | Interfaccia sessione | Interfaccia sessione |
C++ | SessionsClient | Non disponibile |
C# | SessionsClient | Non disponibile |
Go | SessionsClient | Non disponibile |
Java | SessionsClient | SessionsClient |
Node.js | SessionsClient | SessionsClient |
PHP | Non disponibile | Non disponibile |
Python | SessionsClient | SessionsClient |
Ruby | Non disponibile | Non disponibile |
Valori parametro sessione di ricezione del webhook.
Controlla il campo sessionInfo.parameters
nella
richiesta webhook.
Propagazione dei parametri
Quando un input utente finale fornisce un valore parametro, questo può essere propagato ad altri livelli:
- Quando un parametro di intent viene impostato da una corrispondenza di intent, i parametri di forma con nome simile per la pagina attiva vengono impostati sullo stesso valore. Il tipo di entità del parametro è dettato dalla definizione del parametro intent.
- Quando un parametro intent viene impostato da una corrispondenza di intent o quando viene impostato un parametro modulo durante la compilazione di un modulo, il parametro diventa un parametro di sessione.
DTMF per integrazioni di telefonia
Puoi abilitare e configurare il DTMF (segnale multifrequenza a due toni) per un parametro. Una volta abilitata, un utente finale di un agente che utilizza un'integrazione di telefonia può usare il tastierino del telefono per fornire i valori dei parametri.
Per ridurre l'ambiguità, l'input DTMF può essere interpretato in formato sia normale che specifico per DTMF (consigliato):
- In formato normale sono semplicemente i valori del tastierino inseriti dall'utente finale.
Ad esempio,
123#
. - Il modulo specifico per DTMF converte l'input in
dtmf_digits_[digits]
, dove[digits]
corrisponde alle cifre DTMF originali, dove*
viene sostituito constar
e#
sostituito conpound
. Ad esempio,123#
viene interpretato comedtmf_digits_123pound
.
Quando vengono trovati tipi di entità per un parametro,
Dialogflow tenta di creare corrispondenze con i moduli normali e specifici per DTMF.
Quando si utilizza un tipo di entità per l'input DTMF,
è consigliabile definire sinonimi come dtmf_digits_123
per migliorare la corrispondenza della NLU.
Se l'input DTMF non soddisfa la condizione di terminazione (non ha raggiunto la lunghezza massima delle cifre o non è stato terminato entro la cifra di fine), l'agente Dialogflow continuerà ad attendere altri input. Durante questo periodo, se è attivato il timeout senza voce, l'agente richiama un evento no-input. Se viene rilevata solo un'espressione vocale, l'agente corrisponde all'input vocale. Se vengono rilevati sia input vocale sia input DTMF, l'input vocale viene ignorato e solo quello DTMF viene preso in considerazione.
Per attivare e personalizzare il DTMF per un parametro:
Console
- Abilita le Impostazioni avanzate dalle impostazioni vocali dell'agente e IVR se non le hai già attivate.
- 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 di fine sul valore del tastierino che termina l'input DTMF per il parametro.
È pratica comune utilizzare
#
per questa impostazione. La cifra di fine non viene aggiunta alla query Dialogflow sull'agente. Di conseguenza, se la cifra di fine è # e l'input è 123 #, l'input della query effettivo sarà "123".
Quando crei l'agente, puoi testare gli input DTMF nel simulatore.
Endpointing intelligente
Se l'endpoint intelligente è abilitato per l'agente, puoi personalizzare il comportamento dell'endpoint intelligente per un parametro numerico.
- Imposta Numero minimo di cifre per suggerirti l'endpoint intelligente di attendere fino a quando non saranno state raccolte tutte le cifre.
- Imposta l'opzione Correggi le trascrizioni per migliorare il riconoscimento vocale delle cifre correggendo gli errori di trascrizione delle cifre comuni. È supportato solo per le richieste che specificano un codice lingua en o en-*.
- Imposta Timeout di attesa per specificare il tempo aggiuntivo che Dialogflow attende che l'utente fornisca ulteriori input.
Parametri con ambito a flusso
I parametri con ambito a livello di flusso possono essere definiti come parametri preimpostati di fulfillment o parametri modulo. È possibile fare riferimento a questi parametri solo quando il flusso in cui sono definiti è attivo e non sono persistenti nei parametri di sessione.
Per definire o fare riferimento a un parametro con ambito a livello di flusso, utilizza la seguente sintassi:
$flow.parameter-name
Ad esempio,
se il nome del parametro è date
,
puoi definire o fare riferimento al parametro come $flow.date
.
Tieni presente che l'utilizzo di un prefisso $
quando si definiscono i parametri è diverso rispetto ad altri tipi di parametri che non usano $
per le definizioni dei parametri.
Esempio di definizione di parametro con ambito a livello di flusso:
Durata del valore parametro con ambito flusso
È raro, ma in alcuni casi avanzati potrebbe essere necessario capire come vengono conservati (o eliminati i valori dei parametri con ambito del flusso) quando un flusso diventa inattivo e poi nuovamente attivo.
La conservazione dei valori dei parametri basati sul flusso quando un flusso diventa inattivo dipende dall'stack di flusso e dalle istanze del flusso nello stack.
- Quando il flusso A passa al flusso B utilizzando una specifica destinazione di transizione, il flusso A (flusso padre) rimane nello stack, il flusso A conserva i valori dei parametri con ambito a livello di flusso e una nuova istanza del flusso B (flusso figlio) viene aggiunta allo stack.
- Quando un flusso secondario torna a un flusso padre utilizzando una destinazione di transizione simbolica (ad esempio, END_FLOW), il flusso figlio viene rimosso dallo stack, tutti i valori dei parametri con ambito a flusso secondario vengono ignorati e tutti i valori dei parametri con ambito a flusso principale vengono conservati.
- Utilizzando una serie di transizioni con obiettivi di transizione specifici, lo stack di flusso può contenere più istanze di un tipo di flusso. Ogni istanza del tipo di flusso ha valori parametro univoci con ambito a livello di 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 con ambito di 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) diventa attivo utilizzando un target di transizione specifico. Il flusso B passa 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 dei parametri 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) si attiva 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 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 da Dialogflow a cui è possibile fare riferimento solo durante il ciclo di vita della richiesta attuale e non sono persistenti nei parametri della sessione.
I parametri basati sulle richieste vengono generati da Dialogflow per le seguenti funzionalità.
Parametri integrati
Puoi accedere ai vari dati associati alla richiesta utilizzando:
Riferimento | Descrizione |
---|---|
$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 dell'utente corrente specificata nella richiesta. |
Payload personalizzato
Una volta impostato QueryParameters.payload
, puoi accedere al parametro corrispondente tramite $request.payload.param-id
.
Analisi del sentiment
I seguenti riferimenti del sentiment sono disponibili quando l'analisi del sentiment è abilitata:
Riferimento | Tipo | Descrizione |
---|---|---|
$request.sentiment.score | Numero | Punteggio di sentiment compreso tra -1,0 (senso negativo) e 1,0 (senso positivo). |
$request.sentiment.magnitude | Numero | Indica l'intensità complessiva dell'emozione (sia positiva che negativa) compresa tra 0,0 e +inf. A differenza del punteggio, la grandezza non è normalizzata; ogni espressione di emozione all'interno dell'input dell'utente finale (sia positiva che negativa) contribuisce alla grandezza dell'input. Gli input più lunghi potrebbero avere magnitudini maggiori. |
$request.sentiment.riuscito | Booleano | True se l'analisi del sentiment ha avuto esito positivo, false negli altri casi. |
Oscuramento dei parametri
Per qualsiasi intent o parametro del modulo, puoi abilitare l'oscuramento dei parametri, che oscura i dati dei parametri di runtime dell'utente finale dai log e dallo spazio di archiviazione interno di Dialogflow.
I parametri oscurati vengono indicati come $parameter-name_redacted
nei log.
Ad esempio, considera l'input dell'utente finale del tipo "Il mio indirizzo è 1600 Amphitheatre Parkway" viene inviato un parametro address 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 nel 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 dell'intent:
Protocollo | V3 | V3beta1 |
---|---|---|
REST | Risorsa intent | Risorsa intent |
RPC | Interfaccia dell'intent | Interfaccia dell'intent |
C++ | IntentsClient | Non disponibile |
C# | IntentsClient | Non disponibile |
Go | 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 la versione per il riferimento pagina:
Protocollo | V3 | V3beta1 |
---|---|---|
REST | Risorsa della pagina | Risorsa della pagina |
RPC | Interfaccia della pagina | Interfaccia della pagina |
C++ | PagesClient | Non disponibile |
C# | PagesClient | Non disponibile |
Go | 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.