Parametri

I parametri vengono utilizzati per acquisire e fare riferimento ai valori forniti dall'utente finale durante una sessione. Ogni parametro ha un nome e un tipo di entità. A differenza dell'input non elaborato dell'utente finale, i parametri sono dati strutturati che possono essere facilmente utilizzati per eseguire logica o generare risposte.

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 e apple 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 .

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:

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 membro zip-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 con star e # sostituito con pound. Ad esempio, 123# viene interpretato come dtmf_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

  1. Abilita le Impostazioni avanzate dalle impostazioni vocali dell'agente e IVR se non le hai già attivate.
  2. Crea un parametro di pagina.
  3. Nel riquadro dei parametri, attiva Abilita DTMF.
  4. Imposta Numero massimo di cifre sul numero massimo di cifre che l'utente finale può fornire per questo parametro.
  5. 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.

  1. Imposta Numero minimo di cifre per suggerirti l'endpoint intelligente di attendere fino a quando non saranno state raccolte tutte le cifre.
  2. 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-*.
  3. 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: Screenshot del 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.