Una conversación (sesión) de Conversational Agents (Dialogflow CX) se puede describir y visualizar como máquina de estado. Los estados de una sesión se representan con páginas.
Para cada flujo, debes definir muchas páginas, en las que tus páginas combinadas pueden controlar una conversación completa sobre los temas para los que se diseñó el flujo. En un momento determinado, exactamente una página es la página actual, esta se considera activa y el flujo asociado a esa página se considera activa. Cada flujo tiene una página de inicio especial. Cuando un flujo se activa al principio, la página actual se convierte en la página de inicio. En cada turno de la conversación, la página actual se mantendrá igual o pasará a otra página.
Configura cada página a fin de recopilar información del usuario final que sea relevante para el estado de conversación que representa la página. Por ejemplo, puedes crear las páginas (en azul) en el siguiente diagrama para un flujo de pedido de comida de un agente de entrega de pizzas. El nodo de Inicio del diagrama representa la página de inicio del flujo del Pedido de comida. Cuando se completa el flujo, se transfiere al flujo de Confirmación.
Ciclo de vida de una página
Una vez que se activa una página, el agente sigue varios pasos que pueden implicar la entrega de entradas, el llenado de formularios, la evaluación del controlador de estado, el mensaje del parámetro de formulario, el envío de mensajes de respuesta al usuario final y un cambio de página o un bucle de repetición:
Los detalles de este proceso son los siguientes:
Si existe la entrega de entrada para la página, se llama. Cualquier respuesta estática que proporciona la entrega se agrega a la cola de respuestas.
Si la respuesta parcial está habilitado, los agentes de conversación (Dialogflow CX) limpian la cola de respuestas y envían todas mensajes como una respuesta parcial al emisor de la API de transmisión.
Si la entrega tiene un webhook, se llama al webhook, lo que puede adjuntar respuestas adicionales a la cola. Estas respuestas adicionales no activan una limpieza inmediata de la cola de respuestas.
Si la página tiene parámetros de formulario, puede completarse de forma previa:
- Cualquier parámetro de sesión establecido con el mismo nombre que un parámetro de formulario se copia en el parámetro de formulario.
- Si una ruta activó una transición a esta página y la ruta contiene un intent coincidente, se copia cualquier parámetro de intent con el mismo nombre que un parámetro de formulario en el parámetro de formulario.
Si existen controladores de estado dentro del alcance, se evalúan según las reglas de orden de evaluación del controlador. Esto puede incluir rutas, controladores de eventos, de instrucciones que se invocan desde la iteración de bucle anterior. Si se llama a un controlador de estado, puede ocurrir una de las siguientes situaciones, o ambas:
- Si existe una entrega para el controlador, se llamará. Cualquier respuesta estática que proporciona la entrega se agrega a la cola de respuestas. La respuesta parcial y el webhook también se ejecutan si están habilitados.
- Si existe un flujo o una página de destino para el controlador, la sesión pasa al destino y la página se vuelve inactiva.
Si todos los siguientes son verdaderos, se agrega un mensaje de parámetro de formulario a la cola de respuesta:
- La página tiene un formulario.
- Existen parámetros del formulario obligatorios para completar.
- No se siguió un controlador de solicitud nueva en el paso 3.
- La respuesta parcial y el webhook se ejecutan si están habilitados.
Los mensajes restantes de la cola de respuestas se envían al usuario final y el agente espera la entrada del usuario final.
Si la entrada del usuario final proporciona un parámetro de formulario solicitado, llena el parámetro. Continúa con el paso 3.
Navegación del ciclo de vida de la página
El visualizador de pasos de ejecución del simulador te permite cambiar entre los pasos para un turno de conversación específico y reúne los elementos del compilador de agente relacionados en cada paso. En el siguiente ejemplo, la entrada del usuario final “Me gustaría alquilar un automóvil” activa cinco pasos de ejecución y transición:
El visualizador de pasos de ejecuciones te lleva a la página de inicio de la conversación en el primer paso. En este caso, es la página de inicio predeterminada.
Se activa la ruta de transición para el intent
car_rental.reservation_create
. El visualizador de pasos de ejecución lleva esta ruta al enfoque, en la que puedes ver que el objetivo de transición es la páginaPickup Location
.El agente ingresa a la página
Pickup Location
.El agente evalúa la entrega de entrada de la página
Pickup Location
. La entrega está vacía, por lo que no sucede nada.El agente intenta recopilar el parámetro del formulario requerido
pickup_location
y el mensaje de entrega del mensaje inicial para este parámetro se muestra al usuario final.
También puedes deshacer la última declaración y realizar algo diferente para probar las diferentes transiciones de la página.
Crea una página
Para crear una página, sigue estos pasos:
Console
- Abre la consola de Dialogflow CX.
- Elige tu proyecto de Google Cloud.
- Selecciona el agente.
- Selecciona el flujo de la página en la sección Flujos.
- Haz clic en el botón Agregar add de la sección Páginas.
- Ingresa un nombre visible para tu página.
- Haz clic en el botón de configuración more_vert junto al nombre visible de la página.
- Selecciona Editar.
- Ingresa los campos en el panel de edición de la página que aparecerá.
- Haga clic en Save.
API
Consulta el método create
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 |
Datos de la página
Para acceder a los datos de una página, sigue estos pasos:
Console
- Abre la consola de Dialogflow CX.
- Elige el proyecto de Google Cloud para el agente.
- Selecciona el agente.
- Haz clic en el flujo en la sección Flujos.
- Las páginas del flujo se propagan en la sección Páginas.
- Haz clic en el botón de configuración more_vert junto al nombre visible de la página.
- Selecciona Editar.
- Ingresa los campos en el panel de edición de la página que aparecerá.
- Haz clic en Guardar a fin de guardar los cambios.
API
Consulta los métodos get
y patch/update
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 |
Los siguientes datos están asociados con las páginas:
- Nombre visible: Es un nombre legible para tu página.
- Entrega de entradas (también conocida como Diálogo de entrada): Esta es la entrega que se debe llamar cuando la página se activa inicialmente.
- Parámetros: Son los valores del parámetro en un formulario de página que capturan entradas estructuradas del usuario final.
- Rutas: Se puede llamar a estos controladores de estado cuando está activa la página. Consulta Rutas de controladores a nivel de página para obtener detalles.
- Grupos de rutas: Se puede llamar a las rutas dentro de estos grupos cuando está activa la página. Consulta Grupos de rutas para obtener detalles.
- Controladores de eventos: Se puede llamar a estos controladores de eventos cuando está activa la página. Para obtener más información, consulta Controladores de eventos a nivel de página.
Configuración de la página
Los siguientes parámetros de configuración están disponibles para las páginas:
Configuración avanzada de voz: Esta configuración avanzada de voz puede anular de forma opcional la misma configuración de voz del flujo y la configuración de voz del agente.
Configuración de la adaptación de voz: La configuración de la adaptación de voz a nivel de la página puede anular opcionalmente el mismo Configuración de la adaptación de voz de flujo. Obtén instrucciones más detalladas en la adaptación de voz manual.
Para acceder a la configuración de la página, sigue estos pasos:
Console
- Abre la consola de Dialogflow CX.
- Elige tu proyecto de Google Cloud.
- Selecciona el agente.
- Coloca el cursor sobre la página de la sección Páginas.
- Haz clic en el botón de opciones more_vert.
- Selecciona Configuración de la página.
- Explora o edita la configuración.
- Haz clic en Guardar a fin de guardar los cambios.
API
Consulta los métodos get
y patch/update
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 |
Borra una página
Para borrar una página, sigue estos pasos:
Console
- Abre la consola de Dialogflow CX.
- Elige tu proyecto de Google Cloud.
- Selecciona el agente.
- Selecciona el flujo de la página en la sección Flujos.
- Haz clic en el botón de configuración more_vert junto al nombre visible de la página en la sección Páginas.
- Selecciona Borrar.
API
Consulta el método delete
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 |