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 agentes conversacionales (Dialogflow CX), tu servicio que llama a la API y tu servicio de webhook pueden establecer los valores del parámetro. Por ejemplo, el servicio de agentes conversacionales (Dialogflow CX) 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 los agentes conversacionales (Dialogflow CX) tratan 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 muestran los agentes conversacionales (Dialogflow CX). - Cuando crees parámetros con el mismo ID o nombre visible en diferentes intents o formularios, asegúrate de que el tipo de entidad y otros parámetros de configuración sean los mismos para todas las definiciones. Si el tipo de entidad o cualquier otro parámetro de configuración difieren, usa un ID de parámetro o un nombre visible únicos para cada definición.
Tipos de valores de parámetros
Los valores de los parámetros admiten varios tipos de valores. En la sección de sesiones que aparece a continuación, se describe cómo hacer referencia a cada tipo de valor de parámetro. Se admiten los siguientes tipos:
Tipo | Descripción |
---|---|
Escalar | Un solo valor numérico o de cadena. |
Compuestos | Un objeto JSON propagado por la coincidencia de una entidad compuesta o por el llenado de un parámetro de intent, que contiene campos original y resolved . |
Lista | Es una lista de valores escalares o compuestos propagados para un parámetro configurado como una lista. Consulta las opciones de Is List a continuación. |
Cadena vacía y valores nulos del parámetro
Puedes establecer los valores de los parámetros de cadena en ""
, que establece el parámetro en la cadena vacía.
Puedes establecer cualquier valor de parámetro en null
, lo que indica que no se configuró.
Valores originales de los parámetros
Cuando el texto coincide con una entidad en particular en el entorno de ejecución, a menudo se resuelve en un valor que es más conveniente para el procesamiento. Por ejemplo, la palabra “manzanas” en la entrada del usuario final se puede resolver como “manzana” para una entidad de fruta.
Todos los tipos de valores para las referencias de parámetros de intent pueden hacer referencia al valor original o al resuelto.
Solo los tipos de valores compuestos para las referencias de parámetros de sesión pueden 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
.
Establecer los parámetros de intents
Cuando una entrada del usuario final coincide con un intent en el entorno de ejecución, los agentes conversacionales (Dialogflow CX) establecen cualquier parámetro que use 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
.
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 solicitud nueva, el agente volverá a solicitar con las instrucciones iniciales después de un intento fallido. |
DTMF | No disponible | Consulta la sección DTMF a continuación. |
Define y administra 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 en la página y, 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 en la página, coloca el cursor sobre un parámetro y, 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
Los agentes de conversación (Dialogflow CX) establecen 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 los siguientes casos:
- 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, haz lo siguiente:
$session.params.parameter-id.original
Para acceder al objeto completo de un parámetro con un tipo de entidad compuesta, usa la 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, los agentes conversacionales (Dialogflow CX) escriben 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 en la 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 habilitado, un usuario final para un agente que usa una integración de telefonía 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, los agentes conversacionales (Dialogflow CX) intentarán hacer coincidir las formas normales y específicas 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 agentes conversacionales (Dialogflow CX) 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 agentes conversacionales (Dialogflow CX) 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 tu agente, puedes probar las entradas de DTMF en el simulador.
Finalización inteligente
Si la dirección de extremo inteligente está habilitada para el agente, puedes personalizar el comportamiento de la dirección de extremo inteligente para un parámetro numérico.
- Establece Dígitos mínimos para sugerirle al localizador de extremos inteligente que espere hasta que se recopilen todos los dígitos.
- Establece Corregir transcripciones para mejorar el reconocimiento de voz de los dígitos corrigiendo los errores comunes de transcripción de dígitos. Esto solo es compatible con las solicitudes que especifican un código de idioma en o en-*.
- Establece el tiempo de espera para especificar el tiempo adicional que los agentes conversacionales (Dialogflow CX) esperarán a que el usuario proporcione más entradas.
Parámetros centrados en el flujo
Los parámetros centrados en el flujo se pueden definir como ajustes predeterminados de parámetros de entrega o parámetros de formulario. Solo se puede hacer referencia a estos parámetros mientras el flujo en el que se definen está activo y no se conservan en los parámetros de sesión.
Para definir o hacer referencia a un parámetro centrado en el flujo, usa la siguiente sintaxis:
$flow.parameter-name
Por ejemplo, si el nombre del parámetro es date
, puedes definirlo 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.
Ejemplo de definición de parámetros centrados en el flujo:
Ciclo de vida del valor del parámetro centrado en el flujo
Es poco común, pero en ciertos casos avanzados, es posible que debas comprender cómo se retienen (o descartan) los valores de los parámetros centrados en el flujo cuando un flujo se vuelve inactivo y, luego, vuelve a estar activo.
El hecho de que los valores de los parámetros centrados en el flujo se retengan cuando un flujo se vuelve inactivo y, luego, vuelve a estar activo depende de la pila de flujo y de las instancias de flujo en la pila.
- Cuando el flujo A realiza la transición al flujo B con un objetivo de transición específico, el flujo A (flujo superior) permanece en la pila, retiene sus valores de parámetros centrados en el flujo y se agrega una instancia nueva del flujo B (flujo secundario) a la pila.
- Cuando un flujo secundario vuelve a realizar la transición a un flujo superior con un objetivo de transición simbólico (por ejemplo, END_FLOW), se quita el flujo secundario de la pila, se descartan todos los valores de parámetros centrados en el flujo secundario y se retienen todos los valores de parámetros centrados en el flujo superior.
- Con una serie de transiciones con destinos de transición específicos, la pila de flujos puede contener varias instancias de un tipo de flujo. Cada instancia del tipo de flujo tiene valores de parámetros únicos centrados en el flujo. Por ejemplo, A1 -> B1 -> C1 -> B2, en el que A, B y C son tipos de flujo, y los números indican instancias de esos tipos de flujo. En este ejemplo, B1 y B2 son instancias diferentes del flujo B y tienen parámetros únicos centrados en el flujo.
Ejemplos:
Transiciones | Resultado |
---|---|
El flujo A (A1) se activa. El flujo B (B1) se activa con un destino 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 retiene los valores de los parámetros. |
El flujo A (A1) se activa. El flujo B (B1) se activa con un destino de transición específico. El flujo B realiza la transición a una instancia nueva del flujo A (A2) con un destino de transición específico. |
La instancia nueva 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 con un destino de transición específico. El flujo A (A1) se activa con un objetivo de transición simbólico. El flujo B (B2) se activa con un destino de transición específico. |
El flujo B (B2) no retiene los valores de los parámetros que se establecieron mientras estaba activo después de la segunda transición (B1). |
Parámetros centrados en la solicitud
Los parámetros centrados en la solicitud son parámetros de corta duración que crean los agentes conversacionales (Dialogflow CX) y a los que solo se puede hacer referencia durante el ciclo de vida de la solicitud actual. No se conservan en los parámetros de la sesión.
Los agentes conversacionales (Dialogflow CX) generan parámetros centrados en la solicitud para las siguientes funciones.
Parámetros integrados
Puedes acceder a los diversos datos asociados con la solicitud de las siguientes maneras:
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 | Es el código de idioma real que usa 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 | Es la frase del usuario actual especificada en la solicitud. |
$request.last-agent-utterance | Es la última frase que envió el agente. |
Carga útil personalizada
Cuando se establece QueryParameters.payload
, puedes acceder al parámetro correspondiente a través de $request.payload.param-id
.
Análisis de opiniones
Las siguientes referencias de polaridad están disponibles cuando se habilita el análisis de opiniones:
Reference | Tipo | Descripción |
---|---|---|
$request.sentiment.score | Número | Puntuación de opinión entre -1.0 (opinión negativa) y 1.0 (opinión positiva). |
$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 en la entrada del usuario final (tanto positiva como negativa) contribuye a la magnitud de esta. Las entradas más largas pueden tener magnitudes mayores. |
$request.sentiment.succeeded | Booleano | Es verdadero si el análisis de opiniones se realizó correctamente; de lo contrario, es 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 los agentes conversacionales (Dialogflow CX).
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 intents | Interfaz de intents |
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.