Una conversación (sesión) de Conversational Agents (Dialogflow CX) se puede describir y visualizar como una máquina de estados. Los estados de una sesión se representan mediante páginas.
En cada flujo, defines muchas páginas, donde las páginas combinadas pueden gestionar una conversación completa sobre los temas para los que se ha diseñado el flujo. En cualquier momento, solo una página es la página actual, la página actual se considera activa y el flujo asociado a esa página se considera activo. Cada flujo tiene una página de inicio especial. Cuando un flujo se activa por primera vez, la página de inicio se convierte en la página actual. En cada turno de conversación, la página actual se mantendrá igual o cambiará a otra página.
Configure cada página para recoger información del usuario final que sea relevante para el estado de la conversación representado por la página. Por ejemplo, puedes crear las páginas (en azul) del diagrama de abajo para el flujo Pedido de comida de un agente de reparto de pizzas. El nodo Inicio del diagrama representa la página de inicio del flujo Pedido de comida. Cuando se complete el flujo, se pasará al flujo Confirmación.
Ciclo de vida de una página
Una vez que una página se activa, el agente sigue varios pasos que pueden incluir la finalización de la entrada, el relleno automático de formularios, la evaluación del gestor de estado, la petición de parámetros de formulario, el envío de mensajes de respuesta al usuario final y un cambio de página o un bucle repetitivo:
Los detalles de este proceso son los siguientes:
Si existe una entrada fulfillment para la página, se llama. Las respuestas estáticas proporcionadas por el fulfillment se añaden a la cola de respuestas.
Si la opción Respuesta parcial está habilitada, Conversational Agents (Dialogflow CX) vacía la cola de respuestas y envía todos los mensajes en cola como respuesta parcial a la persona que llama a la API de streaming.
Si el fulfillment tiene un webhook, se llama al webhook, lo que puede añadir respuestas adicionales a la cola. Estas respuestas adicionales no activan un vaciado inmediato de la cola de respuestas.
Si la página tiene parámetros de formulario, es posible que se rellenen automáticamente:
- Cualquier parámetro de sesión con el mismo nombre que un parámetro de formulario se copia en el parámetro de formulario.
- Si una ruta ha activado una transición a esta página y la ruta contiene un intent coincidente, cualquier parámetro de intent con el mismo nombre que un parámetro de formulario se copia en el parámetro de formulario.
Si algún controlador de estado está en el ámbito, se evalúa según las reglas de orden de evaluación de controladores. Esto puede incluir rutas, controladores de eventos o controladores de repetición invocados desde la iteración del bucle anterior. Si se llama a algún controlador de estado, puede ocurrir una o ambas de las siguientes situaciones:
- Si existe un cumplimiento para el controlador, se llama a este. Las respuestas estáticas proporcionadas por el fulfillment se añaden 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 inactiva.
Si se cumplen todas las condiciones siguientes, se añade una petición de parámetro de formulario a la cola de respuestas:
- La página tiene un formulario.
- Quedan parámetros obligatorios del formulario por rellenar.
- No se ha seguido un gestor de repetición 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 a que el usuario final introduzca datos.
Si la entrada del usuario final proporciona un parámetro de formulario solicitado, rellena el parámetro. Continúa con el paso 3.
Navegación del ciclo de vida de la página
El visor de pasos de ejecución del simulador te permite cambiar entre los pasos de un turno de conversación específico y centra los elementos relacionados del creador de agentes en cada paso. En el siguiente ejemplo, la entrada del usuario final "Me gustaría alquilar un coche" activa cinco pasos de ejecución y transición:
El visor de pasos de ejecución te lleva a la página de inicio de la conversación del primer paso. En este caso, es la página de inicio predeterminada.
Se activa la ruta de transición de la intención
car_rental.reservation_create
. El visor de pasos de ejecución centra la atención en esta ruta, donde puedes ver que el destino de la transición es la páginaPickup Location
.El agente accede a la página
Pickup Location
.El agente evalúa el cumplimiento de la entrada de la página
Pickup Location
. El cumplimiento está vacío, así que no ocurre nada.El agente intenta recoger el parámetro de formulario obligatorio
pickup_location
y se muestra al usuario final el mensaje inicial de cumplimiento de la petición de este parámetro.
También puedes deshacer la última petición y probar otra cosa para probar diferentes transiciones de página.
Crear una página
Para crear una página, sigue estos pasos:
Consola
- Abre la consola de Dialogflow CX.
- Elige tu proyecto de Google Cloud .
- Selecciona tu agente.
- Selecciona un flujo para la página en la sección Flujos.
- Haz clic en el botón de añadir add de la sección Páginas.
- Escribe un nombre visible para tu página.
- Haz clic en el botón de configuración more_vert situado junto al nombre visible de la página.
- Selecciona Editar.
- Rellene los campos del panel de edición de la página que aparece.
- Haz clic en Guardar.
API
Consulta el método create
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 |
Datos de la página
Para acceder a los datos de una página, siga estos pasos:
Consola
- Abre la consola de Dialogflow CX.
- Elige el Google Cloud proyecto del agente.
- Selecciona tu agente.
- Haz clic en el flujo de la sección Flujos.
- Las páginas del flujo se rellenan en la sección Páginas.
- Haz clic en el botón de configuración more_vert situado junto al nombre visible de la página.
- Selecciona Editar.
- Rellene los campos del panel de edición de la página que aparece.
- Haz clic en Guardar para guardar los cambios.
API
Consulta los métodos get
y patch/update
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 |
Los siguientes datos están asociados a las páginas:
- Nombre visible: nombre legible por humanos de la página.
- Cumplimiento de la entrada (también conocido como diálogo de entrada): es el cumplimiento al que se llama cuando la página se activa inicialmente.
- Parámetros: son los valores de los parámetros de un formulario de una página que recogen la entrada estructurada del usuario final.
- Rutas: se puede llamar a estos controladores de estado cuando la página esté activa. Para obtener más información, consulta Rutas de controladores a nivel de página.
- Grupos de rutas: las rutas de estos grupos se pueden llamar cuando la página está activa. Para obtener más información, consulta Grupos de rutas.
- Gestores de eventos: Estos gestores de eventos se pueden llamar cuando la página está activa. Para obtener más información, consulta Gestores de eventos a nivel de página.
Configuración de página
Los siguientes ajustes están disponibles para las páginas:
Ajustes de voz avanzados: estos ajustes de voz avanzados pueden anular opcionalmente los mismos ajustes de voz del flujo y los ajustes de voz del agente.
Ajustes de adaptación de voz: Los ajustes de adaptación de voz a nivel de página pueden anular opcionalmente los mismos ajustes de adaptación de voz del flujo. Encontrarás instrucciones más detalladas sobre la adaptación manual del habla.
Para acceder a la configuración de la página, sigue estos pasos:
Consola
- Abre la consola de Dialogflow CX.
- Elige tu proyecto de Google Cloud .
- Selecciona tu agente.
- Coloca el cursor sobre la página en la sección Páginas.
- Haz clic en el botón de opciones more_vert.
- Selecciona Configuración de página.
- Consulta o edita los ajustes.
- Haz clic en Guardar para guardar los cambios.
API
Consulta los métodos get
y patch/update
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 |
Eliminar una página
Para eliminar una página, sigue estos pasos:
Consola
- Abre la consola de Dialogflow CX.
- Elige tu proyecto de Google Cloud .
- Selecciona tu agente.
- Selecciona el flujo de la página en la sección Flujos.
- En la sección Páginas, haz clic en el botón de configuración more_vert situado junto al nombre visible de la página.
- Selecciona Eliminar.
API
Consulta el método delete
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 |