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 alcune logiche o generare risposte.

I parametri CX sono simili ai parametri ES, ma l'utilità e l'ambito sono stati ampliati e la sintassi dei parametri di riferimento sono cambiate.

Definire, fare riferimento, impostare e ottenere i parametri

Esistono quattro modi generali per utilizzare i parametri:

  • Definisci in fase di progettazione: durante la progettazione, utilizza la console o l'API per definire i parametri. Ad esempio, puoi definire un parametro intent e utilizzarlo in una frase di addestramento per indicare l'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 runtime. 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 fulfillment statica per una route.
  • Imposta in fase di runtime: in fase di runtime, il servizio Dialogflow, il servizio che chiama l'API e il tuo servizio webhook possono impostare tutti i valori parametro. Ad esempio, il servizio Dialogflow imposta il valore di un parametro di intent quando un input utente finale corrisponde all'intent e l'input contiene i dati dei parametri.
  • Ottieni 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 ottenere 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

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, pertanto Dialogflow considera Apple e apple come lo stesso parametro. Anche il webhook e il codice client API devono trattare i nomi dei parametri come senza distinzione tra maiuscole e minuscole, in quanto non viene garantita la presenza di maiuscole e minuscole per i nomi dei parametri restituiti da Dialogflow.

Tipi di valori dei parametri

I valori dei parametri supportano più tipi di valori. La sezione delle sessioni riportata di seguito descrive come fare riferimento a ciascun tipo di valore 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 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. Vedi le opzioni È un elenco riportate di seguito.

Stringa vuota del parametro e valori nulli

Puoi impostare i valori dei parametri di stringa su "", in modo da impostare la stringa vuota nel parametro.

Puoi impostare qualsiasi valore parametro su null, a indicare 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ù 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 dei parametri di intent possono fare riferimento al valore originale o al valore risolto.

Solo i tipi di valori composti per i riferimenti dei parametri di sessione possono fare riferimento al valore originale.

Parametri di intent

Gli intent utilizzano parametri per estrarre i dati forniti dagli utenti finali quando viene rilevata una corrispondenza degli 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.
  • È un elenco: se true, il parametro viene considerato 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 di intent

I parametri di intent vengono definiti in fase di progettazione quando si creano dati di intent o quando annotano le frasi di addestramento.

Parametri per intent di riferimento

I riferimenti dei parametri di intent possono essere utilizzati nei messaggi di risposta di completamento statici delle route di intent.

Puoi fare riferimento al valore originale o al valore risolto.

Per fare riferimento a un parametro per l'intenzione 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 di 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 completamento per una route di intent può utilizzare un predefinito del parametro di completamento per impostare un valore parametro di intent in fase di runtime.

Ottieni parametri di intent

Durante la fase di conversazione in cui viene trovato un intent, il codice può accedere ai valori del parametro di intent.

Le interazioni con l'API restituiranno i valori del parametro per l'intent. 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 di sessione
RPC Interfaccia di sessione Interfaccia di 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 di intent. Vedi il campo intentInfo.parameters in Richiesta webhook.

Parametri modulo

Per ogni pagina puoi definire un modulo, 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, fino a quando 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, fornisci anche i prompt che l'agente utilizza per richiedere le 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 dei moduli CX è simile alla compilazione degli slot ES.

Per definire un parametro del modulo vengono utilizzati i seguenti dati:

Nome opzione di 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 informazioni dettagliate, consulta la sezione Impostare i parametri del modulo di seguito.
Valore predefinito (visibile solo quando Obbligatorio è deselezionato) Page.form.parameters[].defaultValue Il valore predefinito di un parametro facoltativo. Per informazioni dettagliate, consulta 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.
Oscura nel log Page.form.parameters[].redact Se il valore è true, i dati dei parametri forniti dall'utente finale vengono oscurati.
Evasione del prompt iniziale Page.form.parameters[].fillBehavior.initialPromptFulfillment Prompt iniziali sotto forma di fulfillment 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 utilizzate quando l'agente deve chiedere nuovamente all'utente finale di compilare il parametro dopo un tentativo non riuscito. Vedi Gestori di richieste di compilazione di moduli. Se non sono definiti gestori di eventi di ripetizione, l'agente risponderà 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, poi 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 modulo di riferimento

I riferimenti dei parametri del modulo non vengono utilizzati direttamente. Puoi controllare lo stato di compilazione solo di singoli parametri del modulo o del modulo nel suo complesso. Puoi utilizzare questi riferimenti allo stato del modulo nei requisiti 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 fase, 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 i meccanismi di impostazione dei valori dei parametri del modulo.

Valori dei parametri predefiniti

Puoi fornire valori predefiniti per i parametri facoltativi del modulo. 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 obbligatori nell'ordine definito nella pagina. L'agente richiede all'utente finale i valori obbligatori utilizzando il completamento del prompt iniziale fornito per ogni parametro richiesto. I parametri facoltativi non attivano i prompt.

Se l'utente finale non fornisce un valore parametro richiesto dopo il prompt di un agente, il prompt iniziale verrà ripetuto, a meno che non venga definito un comportamento diverso nei gestori di ripetizione. Se sono stati definiti più prompt di testo iniziali, il comportamento dell'agente è uguale a quello di qualsiasi risposta di testo di completamento.

Propagazione di parametri di sessione e intent

Quando un parametro di qualsiasi tipo è impostato in fase di runtime, il parametro viene scritto nella sessione e diventa un parametro di sessione.

Quando una pagina diventa inizialmente 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 corrispondente in una route dell'intent o nella propagazione dei parametri.

La propagazione dei parametri di sessione e intent è l'unico meccanismo per impostare parametri del modulo facoltativi in base ai valori dall'input utente finale, ma questo meccanismo può anche impostare o sostituire i valori dei parametri del modulo richiesti.

Predefiniti dei parametri di evasione ordine

Il completamento per una route, un gestore di eventi o un reprompt del modulo può utilizzare un preimpostazione dei parametri di completamento per impostare un valore parametro del modulo in fase di runtime. Un valore preimpostato di parametri di completamento 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. Vedi 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 di sessione
RPC Interfaccia di sessione Interfaccia di 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. Vedi il campo pageInfo.formInfo.parameterInfo in Richiesta webhook.

Gestori di reprompt compilazione moduli

I gestori di prompt di ripetizione, noti anche come gestori di eventi a livello di parametro, vengono utilizzati per definire il comportamento delle richieste di parametri complessi per i parametri richiesti. Ad esempio, i gestori di prompt possono essere utilizzati per modificare il prompt quando l'utente finale non riesce a fornire un valore dopo il prompt iniziale e per passare a un'altra pagina dopo N tentativi non riusciti.

Se non vengono definiti gestori di prompt, il prompt iniziale verrà utilizzato per riproporre l'utente finale in base alle esigenze.

Se l'utente finale risponde con un input imprevisto, viene richiamato un evento sys.no-match-* o sys.no-input-* e vengono chiamati tutti i gestori di richieste definite per questi eventi.

Come gli 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 fulfillment per fornire un messaggio di richiesta dell'utente finale e/o un valore preimpostato di parametri.
  • Un target di transizione per modificare la pagina corrente.

Parametri sessione

Quando un parametro di qualsiasi tipo è impostato in fase di runtime, 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 sessione di riferimento

I riferimenti dei parametri di sessione possono essere utilizzati nei messaggi di risposta statici per i seguenti tipi di fulfillment:

  • Fulfillment voce di pagina
  • Evasione del percorso
  • Fulfillment gestore eventi
  • Evasione dei prompt di modulo
  • Evasione 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.

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 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 elenco:

    $session.params.parameter-id[i]

    Ad esempio, se l'ID del parametro dell'elenco è colors, puoi fare riferimento al primo valore come $session.params.colors[0].

Imposta parametri di sessione

Al termine della compilazione del modulo, i parametri compilati vengono scritti nella sessione da Dialogflow.

Il completamento per una route, un gestore di eventi o un reprompt di moduli può utilizzare un preimpostazione dei parametri di completamento 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 standard webhook o consulta la risposta webhook flessibile.

Le interazioni con l'API possono impostare i valori dei parametri di sessione. Vedi 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 di sessione Interfaccia di 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

Ottieni parametri di sessione

Le interazioni con l'API restituiranno i valori dei parametri di 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 di sessione
RPC Interfaccia di sessione Interfaccia di 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 dei parametri di sessione ricevuti dai webhook. Vedi il campo sessionInfo.parameters in Richiesta webhook.

Propagazione 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 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 di intent viene impostato da una corrispondenza di intent o viene impostato un parametro di modulo durante la compilazione di un modulo, il parametro diventa un parametro di sessione.

DTMF per le integrazioni di telefonia

Puoi abilitare e configurare DTMF (segnale multifrequenza dual-tono) per un parametro. Una volta abilitata, un utente finale per un agente che utilizza un'integrazione di telefonia può 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 in forma specifica per DTMF (consigliato):

  • La forma normale consiste semplicemente nei valori del tastierino inseriti dall'utente finale. Ad esempio, 123#.
  • Il modulo specifico per il DTMF converte l'input in dtmf_digits_[digits], dove [digits] rappresenta le cifre originali del DTMF con * sostituito con star e # sostituito con pound. Ad esempio, 123# viene interpretato come dtmf_digits_123pound.

Durante la ricerca di corrispondenze tra i tipi di entità di un parametro, Dialogflow cercherà di trovare corrispondenze sia per il formato normale che per quello specifico per DTMF. Quando viene utilizzato un tipo di entità per l'input DTMF, è consigliabile 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 entro la cifra finale), l'agente Dialogflow continuerà ad attendere ulteriori input. Durante questo periodo, se viene attivato il timeout senza voce, l'agente richiama invece un evento senza input. Se viene rilevata solo una frase, l'agente trova una corrispondenza con l'input vocale. Se vengono rilevati sia l'input vocale che l'input DTMF, l'input vocale viene ignorato e viene preso in considerazione solo l'input DTMF.

Per attivare e personalizzare il DTMF per un parametro:

Console

  1. Abilita le Impostazioni avanzate dalle impostazioni IVR e voce dell'agente, se non le hai già attivate.
  2. Crea un parametro di pagina.
  3. Nel riquadro dei parametri, attiva Attiva DTMF.
  4. Imposta Max cifre sul numero massimo di cifre che l'utente finale può fornire per questo parametro.
  5. Imposta Cifra finale sul valore del tastierino che terminerà l'input DTMF per il parametro. È comune utilizzare # per questa impostazione. La cifra finale non viene aggiunta alla query Dialogflow sull'agente. Di conseguenza, se la cifra finale è # e l'input è 123#, l'input effettivo della query sarà "123".

Quando crei il tuo agente, puoi testare gli input DTMF nel simulatore.

Endpoint intelligente

Se l'endpoint intelligente è abilitato per l'agente, puoi personalizzare il relativo comportamento per un parametro numerico.

  1. Imposta Numero minimo di cifre per suggerire l'endpointer intelligente di attendere che vengano raccolte tutte le cifre.
  2. Imposta Correggi trascrizioni per migliorare il riconoscimento vocale di cifre correggendo gli errori comuni di trascrizione delle cifre. Questo è supportato solo per le richieste che specificano un codice lingua en o en-*.
  3. Imposta Timeout in attesa per specificare il tempo aggiuntivo che Dialogflow attenderà prima che l'utente fornisca ulteriori input.

Parametri con ambito a livello di flusso

I parametri basati sui flussi possono essere definiti come valori preimpostati dei parametri di completamento o parametri del modulo. È possibile fare riferimento a questi parametri solo quando il flusso in cui sono definiti è attivo e non sono resi persistenti 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 definire o fare riferimento al parametro come $flow.date.

Tieni presente che l'utilizzo del prefisso $ quando definisci i parametri è diverso rispetto agli altri tipi di parametri che non utilizzano $ per le definizioni dei parametri.

Esempio di definizione di un parametro con ambito di flusso: Screenshot del parametro con ambito a livello di flusso.

Durata del valore parametro con ambito a livello di flusso

È raro, ma in alcuni casi avanzati potresti dover capire come vengono conservati (o eliminati) i valori dei parametri basati sul flusso quando un flusso diventa inattivo e poi di nuovo attivo.

Il fatto che i valori parametro basati sul flusso vengano conservati quando un flusso diventa inattivo, allora di nuovo attivi dipende dallo stack di flusso e dalle istanze del flusso nello stack.

  • Quando il flusso A passa al flusso B utilizzando una destinazione di transizione specifica, il flusso A (flusso padre) rimane nello stack, il flusso A conserva i valori parametro con ambito a livello di flusso e allo stack viene aggiunta una nuova istanza del flusso B (flusso figlio).
  • Quando un flusso figlio ritorna a un flusso padre utilizzando un target di transizione simbolica (ad esempio, END_FLOW), il flusso figlio viene rimosso dallo stack, tutti i valori dei parametri con ambito a livello di flusso figlio vengono ignorati e tutti i valori dei parametri con ambito a livello di flusso figlio vengono conservati.
  • Utilizzando una serie di transizioni con destinazioni specifiche, lo stack di flusso può contenere più istanze dello stesso tipo. 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 univoci basati sul flusso.

Esempi:

Transizioni Risultato
Il flusso A (A1) diventa attivo.
Il flusso B (B1) si attiva 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 dei parametri 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) si attiva 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 da Dialogflow a cui è possibile 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 da Dialogflow per le funzionalità seguenti.

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 utente corrente specificata nella richiesta.

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 di 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; ogni espressione di emozione all'interno dell'input dell'utente finale (sia positiva che negativa) contribuisce alla grandezza dell'input. Gli input più lunghi possono avere una grandezza maggiore.
$request.sentiment.succeeded Booleano True se l'analisi del sentiment ha esito positivo, falso negli altri casi.

Oscuramento dei parametri

Per qualsiasi intent o parametro del modulo, puoi abilitare l'oscuramento dei parametri, che oscurerà i dati dei parametri di runtime dell'utente finale nei log e nell'archiviazione interna di Dialogflow. I parametri oscurati sono visualizzati come $parameter-name_redacted nei log.

Ad esempio, considera un input utente finale di "Il mio indirizzo è 1600 Amphitheatre Parkway" che comporta l'invio di un parametro indirizzo 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 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 per intent Risorsa per intent
RPC Interfaccia per intent Interfaccia per 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 una versione per il riferimento della 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.