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 grezzo dell'utente finale, i parametri sono dati strutturati che possono essere facilmente utilizzati per eseguire una logica o generare risposte.

Definisci, fai riferimento, imposta e recupera i parametri

Esistono quattro modi generali in cui vengono utilizzati i parametri:

  • Definisci 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 dei parametri da estrarre in fase di runtime. In 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 sessione in una risposta di evasione statica per una route.
  • Impostazione in fase di runtime: in fase di runtime, il servizio Conversational Agents (Dialogflow CX), il servizio che chiama l'API e il servizio webhook possono impostare tutti i valori dei parametri. Ad esempio, il servizio Agenti conversazionali (Dialogflow CX) imposta il valore di un parametro di intent quando l&#39input utentee finale corrisponde all'intent e l'input contiene dati dei parametri.
  • Ottieni al runtime: Al runtime, i riferimenti ai parametri contengono i valori dei parametri che sono stati impostati e puoi utilizzare l'API o un webhook per ottenere i valori dei parametri. Ad esempio, quando viene trovata una corrispondenza con un intent e viene chiamato il webhook, il servizio webhook riceve i valori dei parametri 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, quindi Conversational Agents (Dialogflow CX) considera Apple e apple come lo stesso parametro. Il codice client API e webhook deve trattare i nomi dei parametri come non sensibili alle maiuscole, perché non esiste alcuna garanzia di distinzione tra maiuscole e minuscole per i nomi dei parametri restituiti da Conversational Agents (Dialogflow CX).
  • 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 gli stessi per tutte le definizioni. Se il tipo di entità o altre impostazioni dei parametri sono diversi, utilizza un ID parametro o un nome visualizzato univoco per ogni definizione.

Tipi di valori dei parametri

I valori dei parametri supportano più tipi di valori. La seguente sezione sulle sessioni descrive come fare riferimento a ogni tipovalore parametroo. Sono supportati i seguenti tipi:

Tipo Descrizione
Scalare Un singolo valore numerico o stringa.
Composita 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 compilati per un parametro configurato come elenco. Vedi le seguenti opzioni di Is List.

Valori stringa vuota e nulli dei parametri

Puoi impostare i valori dei parametri 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 associato 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à di frutta.

Tutti i tipi di valori per i riferimenti ai parametri di intent possono fare riferimento al valore originale o risolto.

Solo i tipi di valori compositi 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 gli intent vengono abbinati. Per definire un parametro di 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 trattato 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 durante 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 statico degli itinerari degli 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.

Impostare i parametri di intent

Quando l'input di un 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 Conversational Agents (Dialogflow CX).

L'evasione di una route di intent può utilizzare un preset di parametri di evasione per impostare un valore parametro di intent in fase di runtime.

Recupera i parametri di intent

Durante il turno conversazionale in cui viene trovata una corrispondenza con un intent, il tuo codice può accedere ai valori dei parametri 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 sessione Risorsa sessione
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

Valori dei parametri di intent di ricezione del webhook. Consulta il campo intentInfo.parameters nella richiesta webhook.

Parametri della postura

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 richiesto, fornisci anche prompt che l'agente utilizza per richiedere queste informazioni all'utente finale. Questa procedura è chiamata compilazione del modulo.

Ad esempio, potresti creare un modulo che raccolga 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 del termine della compilazione del modulo e l'agente chiederà i valori all'utente finale. Per ulteriori dettagli, consulta la sezione Impostare i parametri del modulo.
Valore predefinito (visibile solo quando l'opzione Obbligatorio è deselezionata) Page.form.parameters[].defaultValue Il valore predefinito di un parametro facoltativo. Per ulteriori dettagli, consulta la sezione Impostare i parametri del modulo.
È 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.
Completamento della richiesta iniziale Page.form.parameters[].fillBehavior.initialPromptFulfillment Prompt iniziali sotto forma di completamento per richiedere un valore parametro obbligatorio all'utente finale. Per ulteriori dettagli, consulta la sezione Impostare i parametri del modulo.
Gestori di eventi di richiesta Page.form.parameters[].fillBehavior.repromptEventHandlers Vengono utilizzati quando l'agente deve chiedere nuovamente all'utente finale di compilare il parametro dopo un tentativo non riuscito. Consulta Gestori di richieste di compilazione dei moduli. Se non sono definiti gestori di eventi di richiesta di ripristino, l'agente ripropone i prompt iniziali dopo un tentativo non riuscito.
DTMF Non disponibile Consulta la sezione seguente relativa al DTMF.

Definire e gestire 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 nella pagina, sposta il puntatore su un parametro, poi fai clic sul pulsante di eliminazione .

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 una route di condizione.

Per verificare se il modulo completo della pagina corrente è compilato, utilizza la seguente condizione:

$page.params.status = "FINAL"

Per verificare se un determinato parametro del modulo è stato compilato nell'ultimo turno, utilizza la seguente condizione:

$page.params.parameter-id.status = "UPDATED"

Impostare i parametri del modulo

I valori dei parametri del modulo possono essere impostati in vari modi. Le seguenti sottosezioni descrivono ciascun meccanismo per impostare i valori dei parametri del modulo.

Valori predefiniti dei parametri

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 seguenti meccanismi.

Se un parametro è obbligatorio, il suo valore predefinito viene ignorato.

Compilazione dei moduli

Conversational Agents (Dialogflow CX) imposta automaticamente i valori dei parametri 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 obbligatori utilizzando il completamento del prompt iniziale che fornisci per ogni parametro obbligatorio. I parametri facoltativi non attivano prompt.

Se un valore parametro obbligatorio non viene fornito dall'utente finale dopo una richiesta dell'agente, la richiesta iniziale verrà ripetuta, a meno che non sia definito un comportamento diverso nei gestori di richieste ripetute. Se sono definiti più prompt di testo iniziali, il comportamento dell'agente è lo stesso di quello di qualsiasi risposta di testo di completamento.

Propagazione dei parametri di intent e sessione

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

Quando una pagina diventa inizialmente attiva e durante il 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 di intent o nella propagazione dei parametri.

La propagazione dei parametri di intent e sessione è l'unico meccanismo per impostare i parametri del modulo facoltativi sui valori dell&#3input utentete finale, ma questo meccanismo può anche impostare o sostituire i valori dei parametri del modulo obbligatori.

Valori preimpostati dei parametri di evasione

Il fulfillment per una route, un gestore di eventi o una richiesta di rientro nel modulo può utilizzare un preset del parametro di fulfillment per impostare un valore parametro del modulo in fase di runtime. Un preset di parametri di evasione sostituirà un valore parametro, inclusi i valori predefiniti dei parametri.

Impostazione dei parametri del webhook

Il webhook può impostare i valori dei parametri del modulo in fase di runtime. Vedi il campo pageInfo.formInfo.parameterInfo nella risposta webhook.

Recuperare 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 sessione Risorsa sessione
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 webhook.

Gestori di richieste di compilazione automatica moduli

I gestori di riprompt, noti anche come gestori di eventi a livello di parametro, vengono utilizzati per definire un comportamento complesso di richiesta dei parametri per i parametri obbligatori. Ad esempio, i gestori di richieste possono essere utilizzati per modificare la richiesta quando l'utente finale non fornisce un valore dopo la richiesta iniziale e per passare a un'altra pagina dopo N tentativi non riusciti.

Se non sono definiti gestori di riproposta, il prompt iniziale verrà utilizzato per riproporre la richiesta all'utente finale in base alle necessità.

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 riprompt definiti per questi eventi.

Come altri gestori di eventi, un gestore di riprompt è un tipo di gestore di stati che può essere configurato con uno o entrambi i seguenti elementi:

  • Un fulfillment per fornire un messaggio di riproposta all'utente finale e un preset dei parametri.
  • Una transizione di destinazione per cambiare la pagina corrente.

Parametri sessione

Quando un parametro di qualsiasi tipo viene impostato in fase di runtime, il parametro viene scritto nella sessione e diventa un parametro sessione. Questi parametri non sono definiti in modo esplicito in fase di progettazione. Puoi fare riferimento a questi parametri della 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 statica per i seguenti tipi di fulfillment:

  • Completamento della voce di pagina
  • Completamento della route
  • Completamento del gestore di eventi
  • Completamento della richiesta del modulo
  • Completamento della richiesta di ripristino del modulo

I riferimenti possono essere utilizzati anche in:

Per fare riferimento a un parametro 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 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 degli 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'i-esimo elemento di un parametro di elenco:

    $session.params.parameter-id[i]

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

Impostare i parametri sessione

Al termine della compilazione del modulo, i parametri compilati vengono scritti nella sessione da Conversational Agents (Dialogflow CX).

Il fulfillment per una route, un gestore di eventi o un prompt di rientro del modulo può utilizzare un preset del parametro di fulfillment per impostare un valore parametro 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 nella risposta webhook flessibile.

Le interazioni con l'API possono impostare i valori dei parametri di sessione. Consulta il campo della 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 sessione Risorsa sessione
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

Recupera i parametri di 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 sessione Risorsa sessione
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

Valori dei parametri della sessione di ricezione del webhook. Consulta il campo sessionInfo.parameters nella richiesta webhook.

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 intent viene impostato da una corrispondenza intent, i parametri del modulo con lo stesso nome per la pagina attiva vengono impostati sullo stesso valore. Il tipo di entità del parametro è determinato dalla definizione del parametro di intent.
  • Quando un parametro di intent viene impostato da una corrispondenza di intent o un parametro del 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 segnalazione multifrequenza a due toni (DTMF) per un parametro. Una volta attivato, un utente finale di un agente che utilizza un'integrazione di telefonia può utilizzare il tastierino telefonico per fornire i valori dei parametri.

Per ridurre l'ambiguità, l'input DTMF può essere interpretato sia in formato normale che in formato specifico per DTMF (consigliato):

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

Quando abbina i tipi di entità per un parametro, Conversational Agents (Dialogflow CX) tenta di abbinare sia i moduli normali che quelli specifici per DTMF. Quando un tipo di entità viene utilizzato 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 dalla cifra finale), l'agente Conversational Agents (Dialogflow CX) continuerà ad attendere ulteriori input. Durante questo periodo, se viene attivato il timeout di assenza di voce, l'agente invocherà un evento di assenza di input. Se viene rilevato solo un'espressione vocale, l'agente cerca una corrispondenza con l'input vocale. Se vengono rilevati sia l'input vocale che quello DTMF, l'input vocale viene eliminato e viene considerato solo l'input DTMF.

Per attivare e personalizzare DTMF per un parametro:

Console

  1. Attiva le impostazioni avanzate dalle impostazioni del discorso dell'agente e dell'IVR se non le hai ancora attivate.
  2. Crea un parametro di pagina.
  3. Nel riquadro dei parametri, attiva Abilita DTMF.
  4. Imposta Cifre massime sul numero massimo di cifre che l'utente finale può fornire per questo parametro.
  5. 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 Conversational Agents (Dialogflow CX) sull'agente, quindi se la cifra finale è # e l'input è 123#, l'input della query effettivo sarà "123".

Quando crei l'agente, puoi testare gli input DTMF nel simulatore.

Endpoint intelligente

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

  1. Imposta Cifre minime per suggerire a Smart Endpointer di attendere fino alla raccolta di tutte le cifre.
  2. Imposta Correggi trascrizioni per migliorare il riconoscimento vocale delle cifre correggendo gli errori di trascrizione delle cifre più comuni. Questa funzionalità è supportata solo per le richieste che specificano un codice di lingua en o en-*.
  3. Imposta Timeout di attesa per specificare il tempo aggiuntivo che Conversational Agents (Dialogflow CX) attenderà che l'utente fornisca ulteriori input.

Parametri con ambito flusso

I parametri con ambito flusso possono essere definiti come preset dei parametri di fulfillment o parametri del modulo. È possibile fare riferimento a questi parametri solo mentre 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 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 $ durante la definizione dei parametri è diverso dagli altri tipi di parametri che non utilizzano $ per le definizioni dei parametri.

Un esempio di definizione di un parametro con ambito flusso: Figura della definizione dei parametri con ambito flusso.

Durata valore parametro con ambito 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.

La conservazione dei valori dei parametri basati sul flusso quando un flusso diventa inattivo e poi di nuovo attivo dipende dalla pila di flussi e dalle istanze di flusso nella pila.

  • Quando il flusso A passa al flusso B utilizzando un target di transizione specifico, il flusso A (flusso principale) rimane nello stack, il flusso A conserva i valori dei parametri con ambito 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 dei parametri con ambito del flusso secondario vengono eliminati e tutti i valori dei parametri 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 unici nell'ambito del 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 unici con ambito flusso.

Esempi:

Transizioni Risultato
Il flusso A (A1) diventa attivo.
Il flusso B (B1) viene attivato utilizzando un target di transizione specifico.
Il flusso B torna al flusso A (A1) che lo ha avviato utilizzando una destinazione di transizione simbolica.
Il flusso A conserva i valori dei parametri.
Il flusso A (A1) diventa attivo.
Il flusso B (B1) viene attivato 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) viene attivato utilizzando un target di transizione specifico.
Il flusso A (A1) diventa attivo utilizzando una destinazione di transizione simbolica.
Il flusso B (B2) viene attivato 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 con ambito di richiesta

I parametri con ambito di richiesta sono parametri di breve durata creati da Conversational Agents (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 di richiesta vengono generati da Conversational Agents (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 posizione 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'espressione dell'utente corrente specificata nella richiesta.
$request.last-agent-utterance L'ultima frase inviata dall'agente.
$request.nlu-confidence-score L'attuale punteggio di affidabilità della classificazione NLU.

Payload personalizzato

Quando QueryParameters.payload è impostato, puoi accedere al parametro corrispondente utilizzando $request.payload.param-id.

Analisi del sentiment

Quando l'analisi del sentiment è attivata, sono disponibili i seguenti riferimenti al sentiment:

Riferimento Tipo Descrizione
$request.sentiment.score Numero Punteggio del sentiment compreso tra -1,0 (sentiment negativo) e 1,0 (sentiment positivo).
$request.sentiment.magnitude Numero Indica 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 Vero se l'analisi del sentiment è riuscita, falso in caso contrario.

Oscuramento dei parametri

Per qualsiasi parametro di intent o modulo, puoi attivare la redazione dei parametri, che redigerà i dati dei parametri di runtime dell'utente finale dai log e dallo spazio di archiviazione interno di Conversational Agents (Dialogflow CX). I parametri oscurati vengono visualizzati come $parameter-name_redacted nei log.

Ad esempio, considera l'input dell'utente finale "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 la redazione 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 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 della pagina Risorsa della pagina
RPC Interfaccia della pagina Interfaccia della pagina
C++ PagesClient Non disponibile
C# PagesClient Non disponibile
Vai PagesClient Non disponibile
Java PagesClient PagesClient
Node.js PagesClient PagesClient
PHP Non disponibile Non disponibile
Python PagesClient PagesClient
Ruby Non disponibile Non disponibile

In alternativa, puoi oscurare tutti i parametri di un tipo di entità specifico.