GSP949

Descripción general
A medida que le das a tu agente conversacional la capacidad de tener conversaciones más dinámicas, algunas de las funciones más avanzadas de Conversational Agents pueden hacer que tu agente sea aún más conversacional. En este lab, aprenderás a usar algunas funciones avanzadas de Conversational Agents para mejorar la experiencia de conversación de tu agente conversacional. Aprenderás a agregar la capacidad de que un usuario consulte el estado de un vuelo a través del agente conversacional proporcionando un número de confirmación y a conectar la situación de “Reservar un vuelo” en una nueva página Anything else? para que el agente siempre esté listo para manejar otra solicitud del usuario.
Objetivos
Al final de este módulo, podrás hacer lo siguiente:
- Usar expresiones regulares para validar parámetros (p. ej., en un número de PNR)
- Restablecer los parámetros a nulo cuando el usuario inicie un nuevo flujo de conversación
Requisitos previos
Este lab se basa en el agente básico de reserva de vuelos Flight Booker desarrollado en Conversational Agents: conceptos básicos de la creación de bots y, por lo tanto, se da por sentado que tienes conocimientos de los elementos de Conversational Agents, como intents, entidades, frases de entrenamiento, flujos y páginas. A partir de estos conceptos básicos, en este lab se implementarán técnicas conversacionales más avanzadas con algunas funciones avanzadas de Conversational Agents. Aunque se recomienda hacer primero el lab anterior, puedes continuar si ya conoces Conversational Agents y sus funciones y usos fundamentales.
Configuración y requisitos
Antes de hacer clic en el botón Comenzar lab
Lee estas instrucciones. Los labs cuentan con un temporizador que no se puede pausar. El temporizador, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.
Este lab práctico te permitirá realizar las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, se te proporcionan credenciales temporales nuevas que utilizarás para acceder a Google Cloud durante todo el lab.
Para completar este lab, necesitarás lo siguiente:
- Acceso a un navegador de Internet estándar. Se recomienda el navegador Chrome.
Nota: Usa una ventana del navegador privada o de incógnito (opción recomendada) para ejecutar el lab. Así evitarás conflictos entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.
- Tiempo para completar el lab (recuerda que, una vez que comienzas un lab, no puedes pausarlo).
Nota: Usa solo la cuenta de estudiante para este lab. Si usas otra cuenta de Google Cloud, es posible que se apliquen cargos a esa cuenta.
Cómo iniciar tu lab y acceder a la consola de Google Cloud
-
Haz clic en el botón Comenzar lab. Si debes pagar por el lab, se abrirá un diálogo para que selecciones la forma de pago.
A la izquierda, se encuentra el panel Detalles del lab, que tiene estos elementos:
- El botón para abrir la consola de Google Cloud
- El tiempo restante
- Las credenciales temporales que debes usar para el lab
- Otra información para completar el lab, si es necesaria
-
Haz clic en Abrir la consola de Google Cloud (o haz clic con el botón derecho y selecciona Abrir el vínculo en una ventana de incógnito si ejecutas el navegador Chrome).
El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.
Sugerencia: Ordena las pestañas en ventanas separadas, una junto a la otra.
Nota: Si ves el diálogo Elegir una cuenta, haz clic en Usar otra cuenta.
-
De ser necesario, copia el nombre de usuario a continuación y pégalo en el diálogo Acceder.
{{{user_0.username | "Username"}}}
También puedes encontrar el nombre de usuario en el panel Detalles del lab.
-
Haz clic en Siguiente.
-
Copia la contraseña que aparece a continuación y pégala en el diálogo Te damos la bienvenida.
{{{user_0.password | "Password"}}}
También puedes encontrar la contraseña en el panel Detalles del lab.
-
Haz clic en Siguiente.
Importante: Debes usar las credenciales que te proporciona el lab. No uses las credenciales de tu cuenta de Google Cloud.
Nota: Usar tu propia cuenta de Google Cloud para este lab podría generar cargos adicionales.
-
Haz clic para avanzar por las páginas siguientes:
- Acepta los Términos y Condiciones.
- No agregues opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
- No te registres para obtener pruebas gratuitas.
Después de un momento, se abrirá la consola de Google Cloud en esta pestaña.
Nota: Para acceder a los productos y servicios de Google Cloud, haz clic en el menú de navegación o escribe el nombre del servicio o producto en el campo Buscar.
Tarea 1: Introducción a Conversational Agents
En esta tarea, accederás a Conversational Agentes y crearás un nuevo agente.
-
Habilita la API de Dialogflow y la API de Aplicaciones de IA.
-
Ve a la consola de Google Cloud y haz clic en el menú de navegación (
) > Ver todos los productos > Navega a Inteligencia artificial > AI Applications.
-
Haz clic en + Crear app. Selecciona Agente conversacional como el tipo de app que quieres crear.
-
Cuando se te pida crear un agente, haz clic en Build your own.
-
Asigna el nombre Flight Booker - Parameter Manipulation a tu agente.
-
Establece la Ubicación en .
-
Asegúrate de que la zona horaria y el idioma predeterminado estén configurados de forma adecuada. Establece Conversation Start en Flow.
-
Haz clic en Create. Una vez que se cree el agente, verás el diseño y la configuración de la IU de Conversational Agents.

Haz clic en Revisar mi progreso para verificar el objetivo.
Crear un agente
Tarea 2: Importa un archivo de agente conversacional .blob
En esta tarea, importarás un agente conversacional de un lab anterior.
-
Selecciona View all agents en el menú desplegable Agent en la parte superior.
-
Haz clic en el menú contextual (tres puntos verticales) a la derecha de tu agente conversacional.
-
Selecciona Restore en las opciones del menú expandido.
-
Selecciona el botón de selección Cloud Storage si aún no está seleccionado.
-
Ingresa gs://spls/DialogflowCX_agents/gsp929-start-agent.blob para el URI.
-
Haz clic en Restore.
Consulta la documentación sobre “restablecer” de Conversational Agents según sea necesario.
Ahora tienes un agente conversacional que completó todas las tareas del lab anterior.
Nota:
Si quieres conservar una copia del agente de muestra, descarga gsp929-start-agent.blob en tu disco duro local.
Haz clic en Revisar mi progreso para verificar el objetivo.
Importar un archivo de agente conversacional
Pon a prueba tus conocimientos
Verifica el agente restablecido
Tarea 3: Agrega la funcionalidad para consultar el estado de un vuelo
Ahora agregarás la capacidad de que un usuario hable con tu agente para consultar el estado de un vuelo. Agregarás una entidad regex personalizada para capturar la referencia de reserva del usuario, también conocida como número de Registro de nombre del pasajero (PNR). Se elige regex (expresión regular) porque es fácil especificar un formato fijo para el PNR. La ventaja es la verificación de errores integrada.
Crea una entidad de expresión regular personalizada para la referencia de reserva (número de PNR)
En la industria de las aerolíneas, un PNR se usa para capturar la información básica de un pasajero y los detalles de su vuelo. Cada registro PNR tiene un identificador de referencia único compuesto por caracteres alfanuméricos (letras y dígitos numéricos) y una longitud de cinco o seis caracteres.
Naturalmente, cuando un usuario final proporciona un número de PNR, debes validar que cumpla con las reglas de un número de PNR. Para ello, usa una entidad regex personalizada.
-
Haz clic en la pestaña Manage.
-
Haz clic en Entity Types en el menú de la izquierda.
-
Haz clic en + Create.
-
Ingresa PNR_Number en el cuadro de texto Display name para la entidad.
-
Marca la casilla Regexp entities.
-
Ingresa ^[a-zA-Z0-9]{5,6}$ en el cuadro de texto Add value en Entity.
¿Qué significa realmente esta expresión regex?
Los caracteres entre corchetes, [a-zA-Z0-9], significan que cualquier letra, independientemente de si es mayúscula o minúscula, o dígito coincidirá. {5,6} significa que el valor debe tener una longitud de cinco o seis caracteres. El símbolo $ afirma que estamos al final de la cadena.
Por ejemplo, podemos tener un PNR de XCr942 o 1f38C.
Hay muchos recursos de regex en línea si necesitas crear algo un poco diferente para tus necesidades.
-
Haz clic en Save.
Tu entidad debería verse de la siguiente manera cuando haces clic en ella:
Crea intents y páginas para la funcionalidad de estado de vuelo
Con la entidad personalizada @PNR_Number creada, ahora crearemos los intents y las páginas que componen este flujo conversacional de consulta del estado de un vuelo.
-
Haz clic en Intents en el menú de la izquierda.
-
Haz clic en + Create.
-
Ingresa main.flight_status en Display name.
-
En la sección Training Phrases, agrega las siguientes frases y presiona Intro después de cada entrada.
| Frases |
Anotaciones |
| PNR K4P89E, what is the flight status? |
K4P89E |
| My PNR is Z453K9, is it still on time? |
Z453K9 |
| Is my flight on time? |
n/a |
| What is my flight status? |
n/a |
| I would like to know if my flight is still on time |
n/a |
| Check flight status |
n/a |
Nota:
Conversational Agents debería completar automáticamente los espacios de las entidades PNR_Number. Si no lo están, puedes anotarlos de forma manual seleccionándolos y eligiendo la entidad @PNR_Number.
Cuando termines, debería verse de la siguiente manera:
-
Haz clic en Save.
Configura la página Start
Luego, actualizarás la página Start con una nueva ruta que use el intent main.flight_status y crearás las páginas posteriores para completar este nuevo flujo conversacional. Agregar intents y sus rutas en la página de inicio garantiza que se reconozca la solicitud de un usuario y que se pueda activar Conversational Agents para que reaccione correctamente desde cualquier parte del flujo.
-
Haz clic en Build para ver el flujo general.
-
Haz clic en la página Start.
-
Haz clic en + a la derecha de Routes en la parte superior derecha.
-
Selecciona main.flight_status en el menú desplegable Intent.
-
Desplázate hacia abajo hasta la sección Transition.
-
Asegúrate de que el botón de selección Page esté habilitado.
-
Selecciona +new Page en el menú desplegable Page.
-
Ingresa Check flight status en el cuadro Page name.
-
Haz clic en Save.
-
Cierra el panel de configuración de rutas según sea necesario para volver a ver el panel de flujo.
-
Observa que el intent main.flight_status aparece en la lista de rutas para la página Start. En el panel de flujo, hay una flecha que va desde la página Start hasta la página Check flight status.
-
Haz clic en la página Check flight status.
-
Haz clic en + a la derecha de Parameters.
-
Ingresa pnr_num en el campo Display name.
-
Selecciona @PNR_Number en el menú desplegable para Entity type.
-
Haz clic para habilitar Required si aún no lo está.
Tu parámetro debería verse de la siguiente manera:
-
Desplázate hacia abajo hasta la sección Initial prompt fulfillment.
-
En Agent responses, agrega respuestas de diálogo y escribe What is your flight booking reference please? en el diálogo del agente.
-
Haz clic en Save.
-
Cierra el panel de configuración Parameter según sea necesario para volver a ver el panel de flujo.
-
Haz clic en + a la derecha de Routes en la página Check flight status.
-
Desplázate hacia abajo hasta la sección Condition.
-
En Parameter, ingresa $page.params.status.
-
Asegúrate de que esté seleccionado = para Operand.
-
Ingresa FINAL en Value.
Tu condición debería ser similar a la siguiente:
Nota:
¿Notaste que la palabra FINAL en la captura de pantalla está entre comillas? El valor de FINAL es aceptable con o sin comillas, es decir, FINAL o "FINAL". Esto se debe a que es una sola palabra sin espacios. Cuando tienes más de una palabra, es mejor usar comillas. Por ejemplo, "Flight Status".
La expresión de condición "$page.params.status = FINAL" le indica al agente conversacional que, una vez que se capturaron correctamente los parámetros del usuario, no hay nada más que hacer en esta página.
-
Desplázate hacia abajo hasta la sección Transition.
-
Asegúrate de que el botón de selección Page esté habilitado.
-
Selecciona + new Page en el menú desplegable Page.
-
Ingresa Confirm flight status para Page name.
-
Haz clic en Save.
Configura la página Confirm flight status
-
Haz clic en la página Confirm flight status.
-
Haz clic en Edit fulfillment.
-
En Agent responses, agrega respuestas de diálogo y escribe un mensaje para el diálogo del agente.
Looking up your flight reference $session.params.pnr_num, we are pleased to confirm that your flight is on time and will depart LAX at 10am for NYC. Please arrive at least 1.5 hours before departure.
Would you like to make any changes to your flight?
Nota:
Notarás que todas las consultas sobre el estado del vuelo en tus pruebas darán como resultado este mismo mensaje estático. ¿Cómo podrías implementar una búsqueda dinámica de información sobre el estado de un vuelo? A través de la capacidad de webhook, en la que Conversational Agents llamarán a una API externa, proporcionarán la referencia del PNR y recuperarán el estado real del vuelo.
Para usar un webhook, habilitarías la casilla de verificación de webhook. Sin embargo, está fuera del alcance de este lab, ya que nos enfocamos en el tema del diseño conversacional. Esto se menciona para que tengas una idea completa y proporcionar una guía para tu aprendizaje posterior.
-
Haz clic en Save.
-
Haz clic en + a la derecha de Routes. Recuerda que es posible que debas cerrar la ventana de configuración del panel derecho para ver esto.
-
Selecciona confirmation.yes en el menú desplegable Intent.
-
Desplázate hacia abajo hasta la sección Fulfillment.
-
En Agent responses, agrega respuestas de diálogo y escribe Our agents will be in touch soon for your request to amend your scheduled flight en el diálogo del agente.
-
Desplázate hacia abajo hasta la sección Transition.
-
Asegúrate de que el botón de selección Page esté habilitado.
-
Selecciona +new Page en el menú desplegable Page.
-
Ingresa ¿Anything else? en el campo Page name.
-
Haz clic en Save.
-
Agrega otra ruta, esta vez seleccionando confirmation.no en el menú desplegable Intent.
-
Agrega una respuesta de diálogo en Agent responses para esta ruta: Great, we look forward to having you fly with us soon.
-
Agrega una transición a la misma página ¿Anything else? que creaste.
-
Haz clic en Save.
Configura la página Anything else?
-
Haz clic en la página Anything else?.
-
Haz clic para abrir Entry fulfillment.
-
En Agente responses, agrega respuestas de diálogo y escribe Have you any further queries for me? en el diálogo del agente.
-
Haz clic en Save.
-
Haz clic en + para agregar una ruta desde la página Anything else?.
-
Selecciona confirmation.yes en el menú desplegable Intent.
-
Ingresa Please let me know how I can be of service. en Agent responses en Fulfillment.
-
Asegúrate de que el botón de selección Page esté habilitado.
-
Selecciona Start Page en Page en la sección Transition.
-
Haz clic en Save.
-
Agrega otra ruta, esta vez especificando el intent confirmation.no.
-
Ingresa No worries, I'm glad to be of assistance today. Goodbye. en Agent responses en Fulfillment.
-
Elige la página End Session como la transición.
-
Haz clic en Save.
Tarea 4: Prueba tu agente conversacional
Parte 1 (pruebas positivas)
-
Haz clic en Toggle Simulator para abrir el simulador de prueba.
Lo ideal es que hayas definido algunos datos de prueba con los resultados esperados. Una forma de organizar tus datos de prueba es en el orden de progresión de la conversación, de forma similar a lo que ves en una conversación de chat bot.
-
Realiza una ronda de pruebas en tu agente similar a los datos de prueba que se muestran a continuación.
| Quién |
Mensaje |
| Usuario |
Check flight status |
| Agente |
What is your flight booking reference please? |
| Usuario |
1234 |
| Agente |
What is your flight booking reference please? |
| Usuario |
abcdefghijk |
| Agente |
What is your flight booking reference please? |
| Usuario |
P34K09 |
| Agente |
Looking up your flight reference P34K09, ... |
| Usuario |
no |
| Agente |
Great, we look forward to having you fly with us soon. Have you any further... |
| Usuario |
no |
| Agente |
No worries, I'm glad to be of assistance today. Goodbye. |
-
Observa que los datos de prueba usan deliberadamente 1234 (demasiado corto) y abcdefghijk (demasiado largo) antes de usar un número de PNR válido, P34K09. Debido a la expresión regex que definiste, los dos primeros valores que ingresó el usuario se consideran números de PNR no válidos. Por lo tanto, el agente sigue preguntando hasta que puede cumplir con la condición de estado del parámetro (FINAL) y pasar a la siguiente página.
Nota:
Si cometes algún error en la prueba, siempre puedes restablecerla con el ícono de papelera en la parte superior derecha de Test Agent.
-
Observa en el panel del simulador que hay algunos datos sobre la conversación. Por ejemplo, el flujo de páginas, intents que coinciden, los parámetros y sus valores completados.
-
Haz clic en el ícono de restablecimiento para borrar los datos de prueba actuales. Es un buen hábito hacerlo después de cada ronda de pruebas completa, a menos que quieras repetir la misma prueba (con el ícono de reciclado).
Parte 2 (pruebas negativas)
Ahora, en lugar de responder No cuando el flujo llega a la página ¿Anything else?, responderás Yes.
Nota:
¿Notaste que cuando solicitaste consultar el estado del vuelo por segunda vez, no se te pidió el PNR? Esa no es la respuesta esperada para esta situación en la que el usuario quiere buscar un registro diferente.
¿Qué pasó? Conversational Agents recordó el número ingresado anteriormente. Para que funcione en esta situación, deberás restablecer, o anular, el parámetro pnr_num.
Haz clic en Revisar mi progreso para verificar el objetivo.
Probar tu agente conversacional
Tarea 5: Restablece los parámetros
-
Haz clic en la página Anything else?.
-
Haz clic en el campo Entry fulfillment para abrir el panel de configuración Fulfillment.
-
Desplázate hasta la sección Parameter presets.
-
Haz clic en Add a parameter.
-
En Parameter presets, ingresa pnr_num en el nombre de Parameter.
-
Ingresa null en Value.
-
Haz clic en Save.
-
Vuelve a ejecutar tus pruebas para asegurarte de que todos los parámetros se restablezcan a nulo, de modo que el agente vuelva a solicitar nuevos valores cuando se reinicie la conversación.
Tu página Anything else? debería verse de la siguiente manera:
Conecta la página Anything else? con la página Confirm trip.
La página Anything else? se puede reutilizar para el flujo conversacional de reserva de vuelos que importaste al inicio de este lab. El resultado esperado es que nuestro agente conversacional pueda continuar la conversación si el usuario lo requiere al final de sus consultas.
-
Haz clic en la página Confirm trip.
-
Haz clic en la ruta confirmation.yes.
-
Agrega una transición a la página Anything else?.
-
Haz clic en Save.
-
Vuelve a ejecutar las pruebas de check flight status para asegurarte de que el parámetro pnr_num se restablezca a nulo, de modo que el agente vuelva a solicitar un nuevo valor cuando el usuario quiera consultar otro vuelo.
Nota:
Haz clic en el ícono de restablecimiento en el panel Toggle Simulator para asegurarte de que tu próxima situación de prueba comience desde cero.
-
Ahora, ejecuta el caso de prueba de reserva de vuelo hasta completarlo y reserva el vuelo. Responde Yes cuando llegues a la parte del flujo Anything else? y comiences una nueva reserva de vuelo.
Nota:
¿Qué funcionó y qué fracasó? Es posible que hayas notado que el agente recuerda los detalles del vuelo de tu reserva anterior y no se molesta en preguntarte de nuevo. ¿Es este el comportamiento correcto?
Al igual que en la situación de consultar el estado de un vuelo, querrás restablecer los parámetros de reserva de vuelo a nulo.
-
Haz clic en la página Anything else?.
-
Haz clic en Entry fulfillment.
-
Agrega parámetros de la siguiente manera, estableciéndolos a nulo tal como lo hiciste con pnr_num:
| Parámetro |
Valor |
| departure_city |
nulo |
| destination_city |
nulo |
| departure_date |
nulo |
| return_date |
nulo |
| passenger_name |
nulo |
-
Haz clic en Save.
-
Vuelve a ejecutar las pruebas para asegurarte de que todos los parámetros se restablezcan a nulo cuando respondas No a la pregunta sobre si la información es correcta.
Verificación de conocimientos
Exporta tu agente
Si quieres exportar tu agente conversacional para usarlo en tu propio proyecto, sigue estos pasos:
-
Selecciona View all agents en el menú desplegable Agent en la parte superior.
-
Haz clic en el menú contextual (tres puntos verticales
) y elige Export.
-
Haz clic en el botón de selección Download.
-
Haz clic en Export.
¡Felicitaciones!
Ahora sabes cómo usar expresiones regulares para validar parámetros en un número de PNR y restablecer parámetros a nulo cuando el usuario inicia un nuevo flujo de conversación.
Capacitación y certificación de Google Cloud
Recibe la formación que necesitas para aprovechar al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarte a avanzar rápidamente y a seguir aprendiendo. Para que puedas realizar nuestros cursos cuando más te convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: a pedido, presenciales y virtuales. Las certificaciones te ayudan a validar y demostrar tus habilidades y tu conocimiento técnico respecto a las tecnologías de Google Cloud.
Última actualización del manual: 24 de abril de 2025
Prueba más reciente del lab: 24 de abril de 2025
Copyright 2025 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.