Definir, hacer referencia, definir y obtener parámetros
Hay cuatro formas generales de usar los parámetros:
- Definir en tiempo de diseño: durante el tiempo de diseño, puedes usar la consola o la API para definir los parámetros. Por ejemplo, puedes definir un parámetro de intención y usarlo en una frase de entrenamiento para indicar la entrada del usuario final que se debe extraer.
- Referencia en tiempo de diseño: Las referencias de parámetros son variables que contienen valores de parámetros que se extraerán en tiempo de ejecución. Durante el tiempo de diseño, puedes usar la consola o la API para hacer referencia a parámetros de varios tipos de datos. Por ejemplo, puede hacer referencia a un parámetro de sesión en una respuesta estática de cumplimiento de una ruta.
- Definir en el tiempo de ejecución: en el tiempo de ejecución, el servicio Conversational Agents (Dialogflow CX), el servicio que llama a la API y el servicio de webhook pueden definir valores de parámetros. Por ejemplo, el servicio Conversational Agents (Dialogflow CX) asigna el valor de un parámetro de intención cuando la entrada de un usuario final coincide con la intención y la entrada contiene datos de parámetros.
- Obtener en tiempo de ejecución: En tiempo de ejecución, las referencias de parámetros contienen los valores de los parámetros que se han definido. Puedes usar la API o un webhook para obtener los valores de los parámetros. Por ejemplo, cuando se encuentra una coincidencia con una intención y se llama a tu webhook, el servicio de webhook recibe los valores de los parámetros de la intención.
Nombres de parámetros
Los nombres de los parámetros deben cumplir las siguientes reglas:
- Use los siguientes caracteres:
[A-Z]
,[a-z]
,[0-9]
,.
,-
,_
- Los nombres de los parámetros no distinguen entre mayúsculas y minúsculas, por lo que Conversational Agents (Dialogflow CX) trata
Apple
yapple
como el mismo parámetro. El código del webhook y del cliente de la API también debe tratar los nombres de los parámetros sin distinguir entre mayúsculas y minúsculas, ya que no se garantiza que los nombres de los parámetros devueltos por Conversational Agents (Dialogflow CX) se escriban de una forma concreta. - Cuando cree parámetros con el mismo ID o nombre visible en diferentes intenciones o formularios, asegúrese de que el tipo de entidad y otros ajustes sean los mismos en todas las definiciones. Si el tipo de entidad u otros ajustes de parámetros son diferentes, use 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 siguiente sección sobre sesiones se describe cómo hacer referencia a cada tipo de valor de parámetro. Se admiten los siguientes valores:
Tipo | Descripción |
---|---|
Escalar | Un único valor numérico o de cadena. |
Compuestos | Un objeto JSON rellenado al coincidir con una entidad compuesta o al rellenar un parámetro de intención, que contiene los campos original y resolved . |
Lista | Lista de valores escalares o compuestos asignados a un parámetro configurado como lista. Consulta las siguientes opciones de Es lista. |
Valores de cadena vacía y nulos de los parámetros
Puede asignar el valor ""
a los parámetros de cadena, lo que define el parámetro como una cadena vacía.
Puede asignar el valor null
a cualquier parámetro para indicar que no se ha definido.
Valores originales de los parámetros
Cuando el texto coincide con una entidad concreta en el tiempo 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 valor de las referencias de parámetros de intención pueden hacer referencia al valor original o al resuelto.
Solo los tipos de valor compuesto de las referencias de parámetros de sesión pueden hacer referencia al valor original.
Parámetros de intent
Los intents usan parámetros para extraer los datos proporcionados por los usuarios finales cuando se identifican intents. Los siguientes datos se usan para definir un parámetro de intención:
- Nombre (también conocido como ID o Nombre visible): nombre que identifica el parámetro.
- Tipo de entidad: el tipo de entidad asociado al parámetro.
- Es una lista: si es true, el parámetro se trata como una lista de valores.
- Ocultar en el registro: si es true, los datos de los parámetros proporcionados por el usuario final se ocultan.
Definir parámetros de intención
Los parámetros de intención se definen en tiempo de diseño al crear datos de intención o al anotar frases de entrenamiento.
Referencia de los parámetros de intención
Las referencias de parámetros de intención se pueden usar en mensajes de respuesta de la función estática de rutas de intención.
Puede hacer referencia al valor original o al valor resuelto.
Para hacer referencia a un parámetro de la intención coincidente actual, 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
, puede hacer referencia al valor resuelto como $intent.params.date.resolved
.
Definir parámetros de intención
Cuando la entrada de un usuario final coincide con una intención en el tiempo de ejecución, los agentes conversacionales (Dialogflow CX) definen cualquier parámetro utilizado por una anotación de la frase de entrenamiento asociada.
El cumplimiento de una ruta de intención puede usar un parámetro de cumplimiento predefinido para definir el valor de un parámetro de intención en el tiempo de ejecución.
Obtener parámetros de intención
Durante la conversación en la que se identifica una intención, tu código puede acceder a los valores de los parámetros de la intención.
Las interacciones con la API devolverán los valores de los parámetros de la intención.
Consulta el campo de respuesta queryResult.parameters
del método detectIntent
para ver el tipo Session
.
Seleccione un protocolo y una versión para la referencia de la 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 de los parámetros de la intención de recepción del webhook.
Consulta el campo intentInfo.parameters
en la sección Solicitud de webhook.
Parámetros de postura
En cada página, puede definir un formulario, que es una lista de parámetros que se deben recoger del usuario final en la página. El agente interactúa con el usuario final durante varias conversaciones hasta que ha recogido todos los parámetros de formulario necesarios, también conocidos como parámetros de página. El agente recoge estos parámetros en el orden definido en la página. Por cada parámetro de formulario obligatorio, también debe proporcionar peticiones que el agente usa para solicitar esa información al usuario final. Este proceso se denomina relleno de formularios.
Por ejemplo, puede crear un formulario que recoja el nombre y el número de teléfono del usuario final para una página 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 campos de la API | Descripción |
---|---|---|
Nombre visible | Page.form.parameters[].displayName |
Nombre que identifica el parámetro. |
Tipo de entidad | Page.form.parameters[].entityType |
El tipo de entidad asociado al parámetro. |
Obligatorio | Page.form.parameters[].required |
Indica si el parámetro es obligatorio. Los parámetros obligatorios deben rellenarse antes de que finalice el proceso y el agente pedirá los valores al usuario final. Consulta la sección Definir parámetros de formulario para obtener más información. |
Valor predeterminado (solo visible cuando la opción Obligatorio está desmarcada) | Page.form.parameters[].defaultValue |
El valor predeterminado de un parámetro opcional. Consulta la sección Definir parámetros de formulario para obtener más información. |
Es una lista | Page.form.parameters[].isList |
Si es true, el parámetro se trata como una lista de valores. |
Ocultar información en el registro | Page.form.parameters[].redact |
Si es true, los datos de los parámetros proporcionados por el usuario final se ocultan. |
Fulfillment de la petición inicial | Page.form.parameters[].fillBehavior.initialPromptFulfillment |
Peticiones iniciales en forma de cumplimiento para solicitar un valor de parámetro obligatorio al usuario final. Consulta la sección Definir parámetros de formulario para obtener más información. |
Gestores de eventos de repetición de peticiones | Page.form.parameters[].fillBehavior.repromptEventHandlers |
Se usan cuando el agente necesita volver a pedir al usuario final que rellene el parámetro después de un intento fallido. Consulta Gestores de repetición de peticiones para rellenar formularios. Si no se definen controladores de eventos de repetición, el agente volverá a pedir la información con las peticiones iniciales después de un intento fallido. |
DTMF | No disponible | Consulta la siguiente sección sobre DTMF. |
Definir y gestionar parámetros de formulario
Los parámetros de formulario se definen en tiempo de diseño al crear una página.
Para cambiar el orden de los parámetros de formulario con la consola, haga clic en el título de la sección Parámetros de la página y, a continuación, arrastre las filas de parámetros en la tabla de parámetros.
Para eliminar un parámetro de formulario, haz clic en el título de la sección Parámetros de la página, coloca el puntero sobre un parámetro y, a continuación, haz clic en el botón de eliminar delete.
Parámetros de referencia de formularios
Las referencias de parámetros de formulario no se usan directamente. Solo puedes comprobar el estado de los parámetros de un formulario concreto o del formulario en su conjunto. Puede usar estas referencias de estado de formulario en un requisito de condición de una ruta de condición.
Para comprobar si se ha rellenado el formulario completo de la página actual, usa la siguiente condición:
$page.params.status = "FINAL"
Para comprobar si se ha rellenado un parámetro de formulario concreto en el último turno, usa la siguiente condición:
$page.params.parameter-id.status = "UPDATED"
Definir parámetros de formulario
Los valores de los parámetros de formulario se pueden definir de varias formas. En las siguientes subsecciones se describe cada mecanismo para definir los valores de los parámetros de formulario.
Valores de parámetros predeterminados
Puede proporcionar valores predeterminados para los parámetros de formulario opcionales. Cuando se empieza a rellenar el formulario, todos los parámetros opcionales que no se hayan definido se asignan a sus valores predeterminados. Estos valores se pueden inicializar o anular mediante algunos de los siguientes mecanismos.
Si un parámetro es obligatorio, se ignora su valor predeterminado.
Rellenar formularios
Los agentes conversacionales (Dialogflow CX) asignan automáticamente los valores de los parámetros que proporciona el usuario final al rellenar un formulario. El agente recoge los parámetros obligatorios en el orden definido en la página. El agente pide al usuario final los valores obligatorios mediante el cumplimiento de la petición inicial que proporciones para cada parámetro obligatorio. Los parámetros opcionales no activarán peticiones.
Si el usuario final no proporciona el valor de un parámetro obligatorio después de una petición del agente, se repetirá la petición inicial, a menos que se defina otro comportamiento en los controladores de repetición de peticiones. Si se definen varias peticiones de texto iniciales, el comportamiento del agente es el mismo que el de cualquier respuesta de texto de la petición.
Propagación de parámetros de intención y de sesión
Cuando se define un parámetro de cualquier tipo en el tiempo de ejecución, se escribe en la sesión y se convierte en un parámetro de sesión.
Cuando una página se activa inicialmente y durante su periodo de actividad, cualquier parámetro de formulario que tenga el mismo nombre que un parámetro de sesión se asigna automáticamente al valor del parámetro de sesión.
Esto puede ocurrir con un parámetro de intención coincidente en una ruta de intención o en una propagación de parámetros.
La propagación de parámetros de intención y de sesión es el único mecanismo para asignar valores a los parámetros de formulario opcionales a partir de la entrada del usuario final, pero este mecanismo también puede asignar o anular valores de parámetros de formulario obligatorios.
Preajustes de parámetros de la respuesta
El cumplimiento de una ruta, un controlador de eventos o un reprompt de formulario puede usar un preset de parámetros de cumplimiento para definir un valor de parámetro de formulario en tiempo de ejecución. Un preajuste de parámetros de respuesta anulará el valor de un parámetro, incluidos los valores predeterminados de los parámetros.
Configuración de parámetros de webhook
Tu webhook puede definir los valores de los parámetros de formulario en tiempo de ejecución.
Consulta el campo pageInfo.formInfo.parameterInfo
en la respuesta de webhook.
Obtener parámetros de formulario
Las interacciones con la API devolverán los valores de los parámetros del formulario.
Consulta el campo de respuesta queryResult.parameters
del método detectIntent
para ver el tipo Session
.
Seleccione un protocolo y una versión para la referencia de la 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 de los parámetros del formulario de recepción de webhook.
Consulta el campo pageInfo.formInfo.parameterInfo
en la sección Solicitud de webhook.
Controladores de repetición de peticiones para rellenar formularios
Los controladores de repetición de peticiones, también conocidos como controladores de eventos a nivel de parámetro, se usan para definir comportamientos complejos de peticiones de parámetros obligatorios. Por ejemplo, los controladores de repetición de peticiones se pueden usar para modificar la petición cuando el usuario final no proporciona un valor después de la petición inicial, y para pasar a otra página después de N intentos fallidos.
Si no se definen controladores de repetición, se usará la petición inicial para volver a pedirle al usuario final lo que necesite.
Si el usuario final responde con una entrada inesperada,
se invoca un evento sys.no-match-*
o sys.no-input-*
y se llama a los controladores de repetición definidos para estos eventos.
Al igual que otros controladores de eventos, un controlador de repetición es un tipo de controlador de estado que se puede configurar con uno o ambos de los siguientes elementos:
- Un fulfillment para proporcionar un mensaje de repetición al usuario final y un valor predefinido de un parámetro.
- Un destino de transición para cambiar la página actual.
Parámetros de sesión
Cuando se define un parámetro de cualquier tipo en el tiempo de ejecución, se escribe en la sesión y se convierte en un parámetro de sesión. Estos parámetros no se definen explícitamente en tiempo de diseño. Puede hacer referencia a estos parámetros de sesión en cualquier momento durante una sesión.
Referencia de los parámetros de sesión
Las referencias de parámetros de sesión se pueden usar en los mensajes de respuesta estáticos de los siguientes tipos de cumplimiento:
- Cumplimiento de la entrada de página
- Route fulfillment
- Cumplimiento del gestor de eventos
- Cumplimiento de la petición del formulario
- Cumplimiento de repetición de peticiones de formularios
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
, puede hacer referencia al valor como $session.params.date
.
Compuestos
Para acceder a un miembro de un parámetro con un tipo de entidad compuesta, sigue estos pasos:
$session.params.parameter-id.member-name
Por ejemplo, si el ID del parámetro es
location
, puede 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 compuesto, sigue estos pasos:
$session.params.parameter-id.original
Para acceder al objeto completo de un parámetro con un tipo de entidad compuesto, usa la función del sistema IDENTITY.
Lista
Para acceder a una lista completa de elementos, sigue estos pasos:
$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"]
, puede hacer referencia a todos los valores como$session.params.colors
.Para acceder al elemento i-ésimo de un parámetro de lista:
$session.params.parameter-id[i]
Por ejemplo, si el ID del parámetro de lista es
colors
, puede hacer referencia al primer valor como$session.params.colors[0]
.
Definir parámetros de sesión
Cuando se completa el formulario, Conversational Agents (Dialogflow CX) escribe los parámetros rellenados en la sesión.
El cumplimiento de una ruta, un controlador de eventos o un reprompt de formulario puede usar un preset de parámetros de cumplimiento para definir un valor de parámetro de sesión en el tiempo de ejecución.
Tu webhook puede definir los valores de los parámetros de sesión en el tiempo de ejecución.
Consulta el campo sessionInfo.parameters
en la respuesta estándar de webhook o en la respuesta flexible de webhook.
Las interacciones con la API pueden definir valores de parámetros de sesión.
Consulta el campo de solicitud queryParams.parameters
del método detectIntent
para el tipo Session
.
Seleccione un protocolo y una versión para la referencia de la 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 |
Obtener parámetros de sesión
Las interacciones con la API devolverán los valores de los parámetros de sesión.
Consulta el campo de respuesta queryResult.parameters
del método detectIntent
para ver el tipo Session
.
Seleccione un protocolo y una versión para la referencia de la 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 de los parámetros de sesión recibidos por el webhook.
Consulta el campo sessionInfo.parameters
en la sección Solicitud de webhook.
Propagación de parámetros
Cuando un usuario final introduce un valor de parámetro, este puede propagarse a otros niveles:
- Cuando se define un parámetro de intent mediante una coincidencia de intent, los parámetros de formulario con el mismo nombre de la página activa se definen con el mismo valor. El tipo de entidad del parámetro se determina mediante la definición del parámetro del intent.
- Cuando se define un parámetro de intent mediante una coincidencia de intent o se define un parámetro de formulario al rellenar un formulario, el parámetro se convierte en un parámetro de sesión.
DTMF para integraciones de telefonía
Puedes habilitar y configurar la señalización multifrecuencia de marcación por tonos (DTMF) para un parámetro. Una vez habilitada, un usuario final de un agente que utilice 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 DTMF se puede interpretar de forma normal y específica de DTMF (opción recomendada):
- La forma normal son los valores del teclado numérico que introduce el usuario final.
Por ejemplo,
123#
. - El formulario específico de DTMF convierte la entrada a
dtmf_digits_[digits]
, donde[digits]
son los dígitos DTMF originales con*
sustituido porstar
y#
sustituido porpound
. Por ejemplo,123#
se interpreta comodtmf_digits_123pound
.
Al buscar tipos de entidad que coincidan con un parámetro, Conversational Agents (Dialogflow CX) intentará encontrar coincidencias tanto con las formas normales como con las específicas de DTMF.
Cuando se usa un tipo de entidad para la entrada DTMF, se recomienda definir sinónimos como dtmf_digits_123
para mejorar la coincidencia de NLU.
Si la entrada DTMF no cumple la condición de finalización (es decir, no ha alcanzado la longitud máxima de dígitos o no se ha finalizado con el dígito de finalización), el agente de agentes conversacionales (Dialogflow CX) seguirá esperando más entradas. Durante este periodo, si se activa el tiempo de espera sin voz, el agente invocará un evento sin entrada. Si solo se detecta una expresión oral, el agente la compara con la entrada de voz. Si se detectan tanto la entrada de voz como la de DTMF, se descartará la entrada de voz y solo se tendrá en cuenta la de DTMF.
Para habilitar y personalizar DTMF en un parámetro, sigue estos pasos:
Consola
- Habilita Configuración avanzada en la sección Configuración de la respuesta del agente y del IVR si aún no lo has hecho.
- Crea un parámetro de página.
- En el panel de parámetros, activa Habilitar DTMF.
- Define Número máximo de dígitos como el número máximo de dígitos que puede proporcionar el usuario final para este parámetro.
- En Dígito de finalización, introduce el valor del teclado
que finalizará la entrada de DTMF del parámetro.
Es habitual usar
#
para este ajuste. El dígito final no se añade a la consulta de Conversational Agents (Dialogflow CX) en el agente, por lo que, si el dígito final es # y la entrada es 123#, la entrada de consulta real será "123".
Cuando crees tu agente, puedes probar las entradas DTMF en el simulador.
Finalización inteligente
Si la función de punto final inteligente está habilitada en el agente, puedes personalizar su comportamiento para un parámetro numérico.
- Define Número mínimo de dígitos para indicar al endpointer inteligente que espere hasta que se hayan recogido todos los dígitos.
- Activa Corregir transcripciones para mejorar el reconocimiento de voz de los números corrigiendo errores habituales de transcripción de números. Esta función solo está disponible para las solicitudes que especifican un código de idioma en o en-*.
- Define el Tiempo de espera para especificar el tiempo adicional que Conversational Agents (Dialogflow CX) esperará a que el usuario proporcione más información.
Parámetros definidos en el flujo
Los parámetros definidos en el flujo se pueden definir como valores predefinidos de parámetros de la respuesta o como parámetros de formulario. Solo se puede hacer referencia a estos parámetros mientras el flujo en el que se definen esté activo. Además, no se conservan en los parámetros de sesión.
Para definir o hacer referencia a un parámetro de ámbito de flujo, usa la siguiente sintaxis:
$flow.parameter-name
Por ejemplo, si el nombre del parámetro es date
, puede definirlo o hacer referencia a él como $flow.date
.
Tenga en cuenta que usar el prefijo $
al definir parámetros es diferente de otros tipos de parámetros que no usan $
para las definiciones de parámetros.
Ejemplo de definición de un parámetro de ámbito de flujo:
Tiempo de vida del valor del parámetro de ámbito de flujo
Aunque no es habitual, en algunos casos avanzados, es posible que necesite saber cómo se conservan (o se descartan) los valores de los parámetros de ámbito de flujo cuando un flujo se inactiva y, después, se vuelve a activar.
Si los valores de los parámetros relativos al flujo se conservan cuando un flujo se inactiva y, después, se vuelve a activar, depende de la pila de flujos y de las instancias de flujo de la pila.
- Cuando el flujo A pasa al flujo B mediante un destino de transición específico, el flujo A (flujo principal) permanece en la pila, conserva sus valores de parámetros definidos en el flujo y se añade a la pila una nueva instancia del flujo B (flujo secundario).
- Cuando un flujo secundario vuelve a un flujo principal mediante un destino de transición simbólico (por ejemplo, END_FLOW), el flujo secundario se elimina de la pila, se descartan todos los valores de los parámetros definidos en el flujo secundario y se conservan todos los valores de los parámetros definidos en el flujo principal.
- Si se usa una serie de transiciones con objetivos 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 definidos en el flujo. Por ejemplo: A1 -> B1 -> C1 -> B2, donde A, B y C son tipos de flujo y los números denotan instancias de esos tipos de flujo. En este ejemplo, B1 y B2 son instancias diferentes del flujo B y tienen parámetros únicos definidos en el ámbito del flujo.
Ejemplos:
Transiciones | Resultado |
---|---|
El flujo A (A1) se activa. El flujo B (B1) se activa mediante un destino de transición específico. El flujo B vuelve al flujo A (A1) que lo inició mediante un destino 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 mediante un destino de transición específico. El flujo B pasa a una nueva instancia del flujo A (A2) mediante un destino de transición específico. |
La nueva instancia del flujo A (A2) de la parte superior de la pila no tiene acceso a los valores de los parámetros del flujo A (A1) de la parte inferior de la pila. |
El flujo A (A1) se activa. El flujo B (B1) se activa mediante un destino de transición específico. El flujo A (A1) se activa mediante un destino de transición simbólico. El flujo B (B2) se activa mediante un destino de transición específico. |
El flujo B (B2) no conserva los valores de los parámetros que se definieron mientras estaba activo después de la segunda transición (B1). |
Parámetros con ámbito de solicitud
Los parámetros de ámbito de solicitud son parámetros de corta duración creados por agentes conversacionales (Dialogflow CX) a los que solo se puede hacer referencia durante el ciclo de vida de la solicitud actual y no se conservan en los parámetros de sesión.
Los parámetros definidos en el ámbito de la solicitud se generan mediante agentes conversacionales (Dialogflow CX) para las siguientes funciones.
Parámetros integrados
Puedes acceder a los distintos datos asociados a la solicitud mediante lo siguiente:
Referencia | Descripción |
---|---|
$request.agent-id | El identificador del agente. |
$request.session-id | Identificador de la sesión. |
$request.project-id | El identificador del proyecto. |
$request.location-id | Identificador de la ubicación del agente. |
$request.language | Código de idioma especificado en QueryInput.language_code . |
$request.resolved-language | El código de idioma real que usa el agente durante el procesamiento. El idioma resuelto puede ser diferente del 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 expresión del usuario actual especificada en la solicitud. |
$request.last-agent-utterance | La expresión más reciente enviada por el agente. |
$request.nlu-confidence-score | La puntuación de confianza de la clasificación de NLU actual. |
Carga útil personalizada
Cuando se define QueryParameters.payload
, puedes acceder al parámetro correspondiente mediante $request.payload.param-id
.
Análisis de sentimiento
Cuando el análisis de sentimiento está habilitado, se pueden usar las siguientes referencias de sentimiento:
Referencia | Tipo | Descripción |
---|---|---|
$request.sentiment.score | Número | Puntuación del sentimiento, que va de -1,0 (sentimiento negativo) a 1,0 (sentimiento positivo). |
$request.sentiment.magnitude | Número | Indica la intensidad general de la emoción (tanto positiva como negativa) entre 0,0 e +inf. A diferencia de la puntuación, la magnitud no se normaliza. Cada expresión de emoción en 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 | Devuelve el valor "true" si el análisis de sentimiento se ha realizado correctamente y "false" en caso contrario. |
Ocultación de parámetros
En cualquier intención o parámetro de formulario, puedes habilitar la ocultación de parámetros, que ocultará los datos de parámetros de tiempo de ejecución de los usuarios finales de los registros y del almacenamiento interno de Conversational Agents (Dialogflow CX).
Los parámetros ocultos se muestran como $parameter-name_redacted
en los registros.
Por ejemplo, si un usuario final introduce "Mi dirección es 1600 Amphitheatre Parkway", se enviará el parámetro address con el valor "1600 Amphitheatre Parkway". El texto registrado será "My address is $address_redacted".
Para habilitar la ocultación de parámetros, siga estos pasos:
Consola
Marca la casilla Ocultar en el registro al crear o actualizar un parámetro.
API
Asigne el valor "true" al campo parameters[].redact
del tipo Intent
.
Selecciona un protocolo y una versión para la referencia de Intent:
Protocolo | V3 | V3beta1 |
---|---|---|
REST | Recurso de intención | Recurso de intención |
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 |
Asigne el valor "true" al campo form.parameters[].redact
del tipo Page
.
Selecciona un protocolo y una versión para la referencia de la página:
Protocolo | V3 | V3beta1 |
---|---|---|
REST | Recurso de página | Recurso de 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 |
También puede ocultar todos los parámetros de un tipo de entidad específico.