Los parámetros de CX son similares a los parámetros de ES, pero la utilidad y el permiso se han expandido y la sintaxis para hacer referencia a los parámetros cambió.
Define, haz referencia, establece y obtén los parámetros
Existen cuatro formas generales en las que se usan los parámetros:
- Definir en el momento del diseño: Durante el tiempo de diseño, usa la consola o la API para definir parámetros. Por ejemplo, puedes definir un parámetro de intent y usarlo en una frase de entrenamiento para indicar la entrada del usuario final que se debe extraer.
- Hacer referencia en el momento del diseño: Las referencias de parámetros son variables que contienen los valores del parámetro que se extraerán en el entorno de ejecución. Durante el tiempo de diseño, puedes usar la consola o la API para hacer referencia a los parámetros en varios tipos de datos. Por ejemplo, puedes hacer referencia a un parámetro de sesión en una respuesta de entrega estática para una ruta.
- Establecer en el entorno de ejecución: En el tiempo de ejecución, el servicio de Dialogflow, tu servicio que llama a la API y tu servicio de webhook pueden establecer los valores del parámetro. Por ejemplo, el servicio de Dialogflow establece el valor de un parámetro de intent cuando una entrada del usuario final coincide con el intent y la entrada contiene los datos del parámetro.
- Obtener en el entorno de ejecución: En el tiempo de ejecución, tus referencias de parámetro contienen los valores del parámetro que se configuró y puedes usar la API o un webhook para obtener los valores del parámetro. Por ejemplo, cuando un intent coincide y se llama a tu webhook, tu servicio de webhook recibe los valores del parámetro para el intent.
Asigna nombres a los parámetros
Las siguientes reglas se aplican a la denominación de parámetros:
- Usa los siguientes caracteres:
[A-Z]
,[a-z]
,[0-9]
,.
,-
y_
- Los nombres de los parámetros no distinguen mayúsculas de minúsculas, por lo que Dialogflow trata a
Apple
yapple
como el mismo parámetro. El webhook y el código del cliente de la API también deben tratar los nombres de parámetros como no distinguen mayúsculas de minúsculas, ya que no hay garantía de caso para los nombres de parámetros que muestra Dialogflow. - Cuando creas parámetros con el mismo ID o nombre visible en diferentes o formularios, asegúrate de que el tipo de entidad y otros parámetros de configuración para todas las definiciones. Si el tipo de entidad o alguna otra configuración de parámetros difieren, use un ID de parámetro único o un nombre visible para cada definición.
Tipos de valores de parámetros
Los valores del parámetro admiten varios tipos de valores. En la sección de sesiones a continuación, se describe cómo hacer referencia a cada tipo de valor del parámetro. Se admiten los siguientes tipos:
Tipo | Descripción |
---|---|
Escalar | Un único valor numérico o de cadena. |
Compuestos | Un objeto JSON que se propaga mediante la coincidencia de una entidad compuesta o el relleno de un parámetro de intent, que contiene los campos original y resolved . |
Lista | Una lista de valores escalares o compuestos propagados para un parámetro configurado como una lista. Consulta las opciones de Es lista a continuación. |
String vacía de parámetros y valores nulos
Puedes establecer los valores de los parámetros de cadena en ""
,
que configura el parámetro en una cadena vacía.
Puedes establecer cualquier valor de parámetro en null
,
lo que indica que no se configuró el parámetro.
Valores originales del parámetro
Cuando el texto coincide con una entidad en particular en el tiempo de ejecución, a menudo se resuelven en un valor que es más conveniente para el procesamiento. Por ejemplo, la palabra "manzanas" en la entrada del usuario final puede resolverse como “manzana” para una entidad de frutas.
Todos los tipos de valores para las referencias de parámetros de intents puede hacer referencia al valor original o resuelto.
Solo tipos de valores compuestos para las referencias del parámetro de sesión puede hacer referencia al valor original.
Parámetros de intents
Los intents usan parámetros para extraer los datos que proporcionan los usuarios finales cuando coinciden los intents. Los siguientes datos se usan para definir un parámetro de intent:
- Nombre (también conocido como ID o Nombre visible): Es un nombre que identifica el parámetro.
- Tipo de entidad: Es el tipo de entidad asociado con el parámetro.
- Es lista: Si es verdadero, el parámetro se trata como una lista de valores.
- Oculta en el registro: Si es verdadero, los datos de los parámetros proporcionados por el usuario final se ocultan.
Define los parámetros del intent
Los parámetros de intent se definen en el momento del diseño cuando creas datos de intent o cuando anotas frases de entrenamiento.
Parámetros de intent de referencia
Las referencias de parámetros de intents se pueden usar en mensajes de respuesta de entrega estáticos de rutas de intents.
Puedes hacer referencia al valor original o al valor resuelto.
Si quieres hacer referencia a un parámetro para el intent con coincidencia en este momento, usa uno de los siguientes formatos:
$intent.params.parameter-id.original $intent.params.parameter-id.resolved
Por ejemplo, si el ID del parámetro es date
, puedes hacer referencia al valor resuelto como $intent.params.date.resolved
.
Establece los parámetros de intents
Cuando una entrada de usuario final coincide con un intent en el entorno de ejecución, Dialogflow establece un parámetro que usa una anotación para la frase de entrenamiento asociada.
La entrega de una ruta de intent puede usar un ajuste predeterminado de parámetros de entrega para establecer un valor de parámetro de intent en el entorno de ejecución.
Obtén parámetros de intent
Durante el turno de la conversación en el que se encuentra una coincidencia con un intent, tu código puede acceder a los valores del parámetro de intent.
Las interacciones con la API mostrarán los valores del parámetro de intent.
Consulta el campo de respuesta queryResult.parameters
del método detectIntent
para el tipo Session
.
Selecciona un protocolo y una versión para la referencia de sesión:
Protocolo | V3 | V3beta1 |
---|---|---|
REST | Recurso de sesión | Recurso de sesión |
RPC | Interfaz de sesión | Interfaz de sesión |
C++ | SessionsClient | No disponible |
C# | SessionsClient | No disponible |
Go | SessionsClient | No disponible |
Java | SessionsClient | SessionsClient |
Node.js | SessionsClient | SessionsClient |
PHP | No disponible | No disponible |
Python | SessionsClient | SessionsClient |
Ruby | No disponible | No disponible |
Valores del parámetro de intent de excepción del webhook.
Consulta el campo intentInfo.parameters
en la solicitud de webhook.
Parámetros del formulario
Para cada página, puedes definir un formulario, que es una lista de parámetros que se deben recopilar desde el usuario final de la página. El agente interactúa con el usuario final durante varios turnos de conversación hasta que haya recopilado todos los parámetros del formulario necesarios, que también se conocen como parámetros de página. El agente recopila estos parámetros en el orden definido en la página. Para cada parámetro de formulario obligatorio, también proporcionas mensajes que el agente usa a fin de solicitar esa información del usuario final. Esto se denomina proceso para completar formularios.
Por ejemplo, puedes crear un formulario que recopile el nombre y el número de teléfono del usuario final para una página de Collect Customer Info
.
El proceso para completar formularios de CX es similar al llenado de ranuras de ES.
Los siguientes datos se usan para definir un parámetro de formulario:
Nombre de la opción de la consola | Cadena de campo de API | Descripción |
---|---|---|
Nombre visible | Page.form.parameters[].displayName |
Un nombre que identifique el parámetro. |
Tipo de entidad | Page.form.parameters[].entityType |
El tipo de entidad asociado con el parámetro. |
Obligatorio | Page.form.parameters[].required |
Indica si el parámetro es obligatorio. Los parámetros obligatorios deben completarse antes de que se complete el formulario, y el agente solicitará valores al usuario final. Consulta la sección Establece los parámetros del formulario que se encuentra a continuación para obtener más detalles. |
Valor predeterminado (solo visible cuando está desmarcado obligatorio) | Page.form.parameters[].defaultValue |
El valor predeterminado de un parámetro opcional. Consulta la sección Establece los parámetros del formulario que se encuentra a continuación para obtener más detalles. |
Es una lista | Page.form.parameters[].isList |
Si es verdadero, el parámetro se trata como una lista de valores. |
Ocultar en el registro | Page.form.parameters[].redact |
Si es verdadero, los datos de los parámetros proporcionados por el usuario final se ocultan. |
Entrega del mensaje inicial | Page.form.parameters[].fillBehavior.initialPromptFulfillment |
Mensajes iniciales en forma de entrega para solicitar un valor del parámetro obligatorio al usuario final. Consulta la sección Establece los parámetros del formulario que se encuentra a continuación para obtener más detalles. |
Controladores de eventos de solicitud nuevas | Page.form.parameters[].fillBehavior.repromptEventHandlers |
Se usan cuando el agente necesita volver a admitir el usuario final para completar el parámetro después de un intento con errores. Consulta Controladores de solicitud nueva de relleno de formulario. Si no se definen controladores de eventos de nueva solicitud, el agente volverá a enviar la solicitud con los mensajes iniciales después de un intento fallido. |
DTMF | No disponible | Consulta la sección DTMF a continuación. |
Cómo definir y administrar los parámetros del formulario
Los parámetros de formulario se definen en el momento del diseño cuando se crea una página.
Para cambiar el orden de los parámetros del formulario con la consola, Haz clic en el título de la sección Parámetros de la página luego, arrastra las filas de parámetros en la tabla de parámetros.
Para borrar un parámetro de formulario, Haz clic en el título de la sección Parámetros de la página coloca el cursor del mouse sobre un parámetro Luego, haz clic en el botón Borrar delete.
Parámetros del formulario de referencia
Las referencias de parámetros de formularios no se usan directamente. Solo puedes verificar el estado de relleno de los parámetros de formularios individuales o el formulario en su conjunto. Puedes usar estas referencias de estado del formulario en un requisito de condición de una ruta de condición.
A fin de verificar si se completó el formulario actual de la página, usa la siguiente condición:
$page.params.status = "FINAL"
Para verificar si un parámetro de forma particular se completó en el último turno, usa la siguiente condición:
$page.params.parameter-id.status = "UPDATED"
Establece los parámetros del formulario
Los valores del parámetro del formulario se pueden establecer de varias maneras. En las siguientes subsecciones, se describen cada mecanismo para configurar los valores de los parámetros de formularios.
Valores de parámetros predeterminados
Puedes proporcionar valores predeterminados para los parámetros opcionales del formulario. Cuando se completa el formulario, todos los parámetros opcionales del formulario no establecidos se establecen en sus valores predeterminados. Estos valores se pueden inicializar o anular mediante algunos de los mecanismos que se indican a continuación.
Si se requiere un parámetro, se ignora su valor predeterminado.
Relleno de formularios
Dialogflow establece automáticamente los valores de parámetros proporcionados por el usuario final durante el proceso para completar formularios. El agente recopila los parámetros requeridos en el orden definido en la página. El agente solicita al usuario final los valores necesarios mediante la entrega del mensaje inicial que proporcionas para cada parámetro obligatorio. Los parámetros opcionales no activarán mensajes.
Si el usuario final no proporciona un valor de parámetro obligatorio después de un mensaje del agente, este se repetirá, a menos que se defina un comportamiento diferente en los controladores de solicitudes nuevas. Si hay múltiples mensajes de texto iniciales definidos, el comportamiento del agente es el mismo que el de cualquier respuesta de texto de entrega.
Propagación del parámetro de intent y sesión
Cuando se establece un parámetro de cualquier tipo en el entorno de ejecución, el parámetro se escribe en la sesión y se convierte en un parámetro de sesión.
Cuando una página se activa en un principio, y durante su período activo, cualquier parámetro de formulario con el mismo nombre que un parámetro de sesión se establece automáticamente en el valor del parámetro de sesión.
Esto puede suceder con un parámetro de intent coincidente en una ruta de intent o una propagación de parámetros.
La propagación de intents y parámetros de sesión es el único mecanismo para configurar parámetros opcionales de formulario a valores de entrada de usuario final, pero este mecanismo también puede configurar o anular los valores de parámetros de formulario obligatorios.
Ajustes predeterminados de los parámetros de entrega
La entrega para una ruta, un controlador de eventos o un formulario de solicitud nueva puede usar un ajuste predeterminado de parámetros de entrega con el fin de establecer un valor del parámetro del formulario en el entorno de ejecución. Un ajuste predeterminado de parámetros de entrega anulará un valor del parámetro, incluidos los valores predeterminados del parámetro.
Configuración del parámetro de webhook
Tu webhook puede establecer los valores de los parámetros de formulario en el entorno de ejecución.
Consulta el campo pageInfo.formInfo.parameterInfo
en la respuesta de webhook.
Obtén los parámetros del formulario
Las interacciones con la API mostrarán los valores del parámetro del formulario.
Consulta el campo de respuesta queryResult.parameters
del método detectIntent
para el tipo Session
.
Selecciona un protocolo y una versión para la referencia de sesión:
Protocolo | V3 | V3beta1 |
---|---|---|
REST | Recurso de sesión | Recurso de sesión |
RPC | Interfaz de sesión | Interfaz de sesión |
C++ | SessionsClient | No disponible |
C# | SessionsClient | No disponible |
Go | SessionsClient | No disponible |
Java | SessionsClient | SessionsClient |
Node.js | SessionsClient | SessionsClient |
PHP | No disponible | No disponible |
Python | SessionsClient | SessionsClient |
Ruby | No disponible | No disponible |
Valores del parámetro del formulario de recepción del webhook.
Consulta el campo pageInfo.formInfo.parameterInfo
en la solicitud de webhook.
Controladores de solicitud nueva de relleno de formulario
Los controladores de solicitudes nuevas, también conocidos como controladores de eventos a nivel de parámetros, se usan a fin de definir el comportamiento de mensajes de parámetros complejos para los parámetros obligatorios. Por ejemplo, los controladores de solicitudes nuevas se pueden usar para modificar la solicitud cuando el usuario final no proporciona un valor después de la solicitud inicial y para cambiar a otra página después de N intentos fallidos.
Si no se definen controladores de solicitudes nuevas, la solicitud inicial se usará para solicitar nuevamente al usuario final según sea necesario.
Si el usuario final responde con una entrada inesperada, se invoca un evento sys.no-match-*
o sys.no-input-*
y se llama a cualquier controlador de solicitud definido para estos eventos.
Al igual que otros controladores de eventos, un controlador de solicitud es un tipo de controlador de estado que se puede configurar con uno o ambos de los siguientes elementos:
- Una entrega para proporcionar un mensaje de solicitud del usuario final o un ajuste predeterminado de parámetros.
- Un objetivo de transición para cambiar la página actual.
Parámetros de sesión
Cuando se establece un parámetro de cualquier tipo en el entorno de ejecución, el parámetro se escribe en la sesión y se convierte en un parámetro de sesión. Estos parámetros no se definen de forma explícita en el momento del diseño. Puedes hacer referencia a estos parámetros de sesión en cualquier momento durante una sesión.
Parámetros de la sesión de referencia
Las referencias de los parámetros de sesión se pueden usar en los mensajes de respuesta estáticos para los siguientes tipos de entrega:
- Entrega de entrada de página
- Entrega de ruta
- Entrega del controlador de eventos
- Entrega de solicitud de formulario
- Entrega de solicitud nueva del formulario
Las referencias también se pueden usar en lo siguiente:
- Valores de encabezado de webhook para la autenticación.
- Solicitudes de webhook flexibles, para enviar valores de parámetros a un webhook.
Para hacer referencia a un parámetro de sesión, usa los siguientes formatos:
Escalar
Para acceder a un parámetro con un tipo de entidad escalar, haz lo siguiente:
$session.params.parameter-id
Por ejemplo, si el ID del parámetro es date
, puedes hacer referencia al valor como $session.params.date
.
Composite
Para acceder a un miembro de un parámetro con un tipo de entidad compuesta, haz lo siguiente:
$session.params.parameter-id.member-name
Por ejemplo, si el ID del parámetro es
location
, puedes hacer referencia al valor del miembrozip-code
como$session.params.location.zip-code
.Para acceder al valor original de un parámetro con un tipo de entidad compuesta:
$session.params.parameter-id.original
Para acceder al objeto completo de un parámetro con un tipo de entidad compuesta, haz lo siguiente: usa el Función del sistema IDENTITY.
Lista
Sigue estos pasos para acceder a una lista completa de elementos:
$session.params.parameter-id
Por ejemplo, si el ID del parámetro de lista es
colors
y los valores extraídos de una consulta de usuario son["red", "blue", "yellow"]
, puedes hacer referencia a todos los valores como$session.params.colors
.Para acceder al elemento ith de un parámetro de lista:
$session.params.parameter-id[i]
Por ejemplo, si el ID del parámetro de lista es
colors
, puedes hacer referencia al primer valor como$session.params.colors[0]
.
Configura parámetros de sesión
Cuando se completa el formulario, Dialogflow escribe los parámetros completados en la sesión.
La entrega para una ruta, un controlador de eventos o un formulario de solicitud nueva puede usar un ajuste predeterminado de parámetros de entrega con el fin de establecer un valor del parámetro de la sesión en el entorno de ejecución.
Tu webhook puede establecer los valores de los parámetros de sesión en el entorno de ejecución.
Consulta el campo sessionInfo.parameters
en la
respuesta de webhook estándar
o consulta
respuesta de webhook flexible.
Las interacciones con la API pueden establecer los valores del parámetro de sesión.
Consulta el campo de la solicitud queryParams.parameters
del método detectIntent
para el tipo Session
.
Selecciona un protocolo y una versión para la referencia de sesión:
Protocolo | V3 | V3beta1 |
---|---|---|
REST | Recurso de sesión | Recurso de sesión |
RPC | Interfaz de sesión | Interfaz de sesión |
C++ | SessionsClient | No disponible |
C# | SessionsClient | No disponible |
Go | SessionsClient | No disponible |
Java | SessionsClient | SessionsClient |
Node.js | SessionsClient | SessionsClient |
PHP | No disponible | No disponible |
Python | SessionsClient | SessionsClient |
Ruby | No disponible | No disponible |
Obtén parámetros de sesión
Las interacciones con la API mostrarán los valores del parámetro de la sesión.
Consulta el campo de respuesta queryResult.parameters
del método detectIntent
para el tipo Session
.
Selecciona un protocolo y una versión para la referencia de sesión:
Protocolo | V3 | V3beta1 |
---|---|---|
REST | Recurso de sesión | Recurso de sesión |
RPC | Interfaz de sesión | Interfaz de sesión |
C++ | SessionsClient | No disponible |
C# | SessionsClient | No disponible |
Go | SessionsClient | No disponible |
Java | SessionsClient | SessionsClient |
Node.js | SessionsClient | SessionsClient |
PHP | No disponible | No disponible |
Python | SessionsClient | SessionsClient |
Ruby | No disponible | No disponible |
Valores del parámetro de sesión de recepción del webhook.
Consulta el campo sessionInfo.parameters
en la solicitud de webhook.
Propagación de parámetros
Cuando una entrada del usuario final proporciona un valor del parámetro, este se puede propagar a otros niveles:
- Cuando un parámetro de intent se configura mediante una coincidencia de intent, los parámetros del formulario con nombre similar para la página activa se establecen en el mismo valor. El tipo de entidad del parámetro está determinado por la definición de parámetro de intent.
- Cuando un parámetro de intent se establece mediante una coincidencia de intent, o se configura un parámetro de formulario mientras se completa un formulario, el parámetro se convierte en un parámetro de sesión.
DTMF para integraciones de telefonía
Puedes habilitar y configurar DTMF (señalización multifrecuencia de dos tonos) para un parámetro. Una vez habilitada, el usuario final de un agente integración puede usar el teclado del teléfono para proporcionar valores de parámetros.
Para reducir la ambigüedad, la entrada de DTMF se puede interpretar en forma normal y específica de DTMF (recomendado):
- La forma normal es simplemente los valores del teclado ingresados por el usuario final.
Por ejemplo,
123#
. - El formulario específico de DTMF convierte la entrada en
dtmf_digits_[digits]
, en la que[digits]
es la cantidad original de dígitos de DTM por*
reemplazada porstar
y#
reemplazada porpound
. Por ejemplo,123#
se interpreta comodtmf_digits_123pound
.
Cuando se buscan coincidencias de tipos de entidades para un parámetro, Dialogflow intenta hacer coincidir las forma normal y específica de DTMF.
Cuando se usa un tipo de entidad para la entrada de DTMF, se recomienda definir sinónimos, como dtmf_digits_123
, a fin de mejorar la coincidencia del NLU.
Si la entrada de DTMF no cumple con la condición de finalización (ya no alcanzó la longitud máxima de dígitos o no se terminó en el dígito de finalización), el agente de Dialogflow seguirá esperando más entradas. Durante este período, si se activa el tiempo de espera de no voz, el agente invocará un evento de no entrada. Si solo se detecta un enunciado de voz, el agente coincide con la entrada de voz. Si se detectan la entrada de voz y la de DTMF, esta se descarta y solo se considera la de DTMF.
Si deseas habilitar y personalizar DVF para un parámetro, haz lo siguiente:
Console
- Habilita la Configuración avanzada desde la configuración del IVR y del agente de voz, si aún no las habilitaste.
- Crea un parámetro de página.
- En el panel de parámetros, activa Habilitar DTMF.
- Establece la Cantidad máxima de dígitos en la cantidad máxima de dígitos que el usuario final puede proporcionar para este parámetro.
- Configura Finalizar dígitos como el valor del teclado que finalizará la entrada DTMF para el parámetro.
Es común usar
#
para esta configuración. El dígito de finalización no se agrega a la consulta de Dialogflow en el agente, por lo que si el dígito de finalización es # y la entrada es 123#, la entrada de consulta real será “123”
Cuando compilas el agente, puedes probar las entradas de DTMF en el simulador.
Extremo inteligente
Si el extremo inteligente es habilitado para el agente, puedes personalizar el comportamiento del extremo inteligente para un parámetro numérico.
- Establece Dígitos mínimos para sugerir al extremo inteligente que espere hasta que dígitos recolectados.
- Establecer Corregir transcripciones para mejorar el reconocimiento de voz de los dígitos corrigiendo errores de transcripción de dígitos comunes. Esta opción solo se admite para las solicitudes que especifiquen un código de idioma en o en-*.
- Establece Tiempo de espera de espera para especificar el tiempo adicional que Dialogflow esperará para que el usuario proporcione más entradas.
Parámetros con alcance de flujo
Los parámetros con alcance de flujo se pueden definir de la siguiente manera: ajustes predeterminados de los parámetros de entrega o parámetros de formulario. Solo se puede hacer referencia a estos parámetros mientras el flujo en el que están definidos está activa y no se conservan en los parámetros de sesión.
Para definir un parámetro con alcance de flujo o hacer referencia a él, usa la siguiente sintaxis:
$flow.parameter-name
Por ejemplo:
si el nombre del parámetro es date
,
puedes definir el parámetro o hacer referencia a él como $flow.date
.
Ten en cuenta que usar un prefijo de $
cuando se definen los parámetros
es diferente de otros tipos de parámetros que no usan $
para las definiciones de parámetros.
Este es un ejemplo de definición del parámetro con alcance de flujo:
Ciclo de vida del valor del parámetro con alcance de flujo
Es poco común, pero en algunos casos avanzados Es posible que debas comprender cómo se retienen los valores de los parámetros con alcance de flujo. (o descartada) cuando un flujo se vuelve inactivo y, luego, activo de nuevo.
Si los valores de los parámetros con alcance de flujo se retienen cuando un flujo se vuelve inactivo entonces la opción para volver a activar depende del pila de flujo y flujos de instancias en la pila.
- Cuando el flujo A pasa al flujo B usando un objetivo de transición específico, A (flujo principal) permanece en la pila, el flujo A conserva sus valores de parámetros con alcance de flujo, y se agrega una nueva instancia del flujo B (flujo secundario) a la pila.
- Cuando un flujo secundario vuelve a un flujo superior con un objetivo de transición simbólica (por ejemplo, END_FLOW), el flujo secundario se quita de la pila, se descartan todos los valores de parámetros con alcance de flujo secundario y se conservan todos los valores de los parámetros superiores con alcance de flujo.
- Usar una serie de transiciones con objetivos de transición específicos la pila de flujo puede contener varias instancias de un tipo de flujo. Cada instancia del tipo de flujo tiene valores de parámetros únicos con alcance de flujo. Por ejemplo: A1 -> B1 -> C1 -> B2: en la que A, B y C son tipos de flujo, y los números denotan instancias de esos tipos de flujos. En este ejemplo, B1 y B2 son instancias diferentes del flujo B, y tienen parámetros únicos con alcance de flujo.
Ejemplos:
Transiciones | Resultado |
---|---|
El flujo A (A1) se activa. El flujo B (B1) se activa usando un objetivo de transición específico. El flujo B vuelve al flujo A (A1) que lo inició con un objetivo de transición simbólico. |
El flujo A conserva los valores de los parámetros. |
El flujo A (A1) se activa. El flujo B (B1) se activa usando un objetivo de transición específico. El flujo B pasa a una instancia nueva del flujo A (A2) con un objetivo de transición específico. |
La nueva instancia del flujo A (A2) en la parte superior de la pila no tiene acceso a los valores de los parámetros del flujo A (A1) en la parte inferior de la pila. |
El flujo A (A1) se activa. El flujo B (B1) se activa usando un objetivo de transición específico. El flujo A (A1) se activa usando un objetivo de transición simbólico. El flujo B (B2) se activa usando un objetivo de transición específico. |
El flujo B (B2) no retiene los valores de parámetros que se establecieron mientras estaba activo después de la segunda transición (B1). |
Parámetros con alcance de la solicitud
Los parámetros con alcance de solicitud son parámetros de corta duración creados por Dialogflow a los que solo se puede hacer referencia durante el ciclo de vida de la solicitud actual y no persisten en los parámetros de sesión.
Dialogflow genera parámetros con alcance de solicitud para las siguientes funciones.
Parámetros integrados
Puedes acceder a los diversos datos asociados con la solicitud usando lo siguiente:
Reference | Descripción |
---|---|
$request.agent-id | Es el identificador del agente. |
$request.session-id | Es el identificador de la sesión. |
$request.language | Código de idioma especificado en QueryInput.language_code . |
$request.resolved-language | El código de idioma real que usó el agente durante el procesamiento. El idioma resuelto puede ser diferente del idioma especificado en la solicitud. Por ejemplo, si el agente solo admite “en”, mientras que el idioma especificado en la solicitud es “en-US”, el idioma resuelto sería “en”. |
$request.user-utterance | La declaración del usuario actual especificada en la solicitud. |
$request.last-agent-utterance | La declaración más reciente que envió el agente. |
Carga útil personalizada
Cuando estableces QueryParameters.payload
, puedes acceder al parámetro correspondiente a través de $request.payload.param-id
.
Análisis de opiniones
Cuando el análisis de opiniones está habilitado, se encuentran disponibles las siguientes referencias de opiniones:
Reference | Tipo | Descripción |
---|---|---|
$request.sentiment.score | Número | Puntuación de las opiniones entre -1.0 (opiniones negativas) y 1.0 (opiniones positivas). |
$request.sentiment.magnitude | Número | Indica la intensidad general de la emoción (tanto positiva como negativa) entre 0.0 y +inf. A diferencia de la puntuación, la magnitud no está normalizada; cada expresión de emoción dentro de la entrada del usuario final (tanto positiva como negativa) contribuye a la magnitud de la entrada. Las entradas más largas pueden tener magnitudes mayores. |
$request.sentiment.succeeded | Booleano | Verdadero si el análisis de opiniones se realiza correctamente; de lo contrario, falso. |
Ocultamiento de parámetros
Para cualquier parámetro de intent o de formulario, puedes habilitar la ocultamiento de parámetros, que oculta los datos del parámetro de entorno de ejecución del usuario final de los registros y el almacenamiento interno de Dialogflow.
Los parámetros ocultos se muestran como $parameter-name_redacted
en los registros.
Por ejemplo, considera una entrada del usuario final de “Mi dirección es 1600 Amphitheatre Parkway”, que hace que se envíe un parámetro address a “1600 Amphitheatre Parkway”. El texto registrado será “Mi dirección es $address_redacted”.
Para habilitar la ocultamiento de parámetros, sigue estos pasos:
Console
Marca la casilla de verificación Ocultar en el registro cuando creas o actualizas un parámetro.
API
Establece el campo parameters[].redact
como verdadero para el tipo Intent
.
Selecciona un protocolo y una versión para la Referencia de intent:
Protocolo | V3 | V3beta1 |
---|---|---|
REST | Recurso de intent | Recurso de intent |
RPC | Interfaz de intent | Interfaz de intent |
C++ | IntentsClient | No disponible |
C# | IntentsClient | No disponible |
Go | IntentsClient | No disponible |
Java | IntentsClient | IntentsClient |
Node.js | IntentsClient | IntentsClient |
PHP | No disponible | No disponible |
Python | IntentsClient | IntentsClient |
Ruby | No disponible | No disponible |
Establece el campo form.parameters[].redact
como verdadero para el tipo Page
.
Selecciona un protocolo y una versión para la Referencia de la página:
Protocolo | V3 | V3beta1 |
---|---|---|
REST | Recurso de la página | Recurso de la página |
RPC | Interfaz de la página | Interfaz de la página |
C++ | PagesClient | No disponible |
C# | PagesClient | No disponible |
Go | PagesClient | No disponible |
Java | PagesClient | PagesClient |
Node.js | PagesClient | PagesClient |
PHP | No disponible | No disponible |
Python | PagesClient | PagesClient |
Ruby | No disponible | No disponible |
Como alternativa, puedes ocultar todos los parámetros de un tipo de entidad específico.