arrow_back

Cómo compilar una entrega de agente virtual

Unirse Acceder
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Cómo compilar una entrega de agente virtual

Lab 1 hora 30 minutos universal_currency_alt 1 crédito show_chart Introductorio
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP792

Labs de autoaprendizaje de Google Cloud

Descripción general

En este lab, seguirás trabajando con el agente virtual de Pigeon Travel que creaste en el lab Diseña flujos conversacionales para tu agente, le agregarás contexto y configurarás la entrega para que busque y almacene entradas de reservas en Firestore.

Nota: Para continuar con este lab, necesitarás el archivo ZIP del agente exportado del lab Diseña flujos conversacionales para tu agente. En caso contrario, deberás compilar desde cero todos los intents y entidades del lab Diseña flujos conversacionales para tu agente antes de continuar con los pasos de este lab.

Qué aprenderás

En este lab, realizarás las siguientes tareas:

  • Crear una colección de Firestore
  • Configurar la entrega como un código de Cloud Functions para que el agente pueda buscar y cambiar el nombre en la reserva

Configuración y requisitos

Antes de hacer clic en el botón Comenzar lab

Lee estas instrucciones. Los labs son cronometrados y no se pueden pausar. El cronómetro, 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 de navegador privada o de Incógnito para ejecutar este lab. Así evitarás cualquier conflicto 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: Si ya tienes un proyecto o una cuenta personal de Google Cloud, no los uses en este lab para evitar cargos adicionales en tu cuenta.

Cómo iniciar su lab y acceder a la consola de Google Cloud

  1. Haga clic en el botón Comenzar lab. Si debe pagar por el lab, se abrirá una ventana emergente para que seleccione su forma de pago. A la izquierda, se encuentra el panel Detalles del lab que tiene estos elementos:

    • El botón Abrir la consola de Google
    • Tiempo restante
    • Las credenciales temporales que debe usar para el lab
    • Otra información para completar el lab, si es necesaria
  2. Haga clic en Abrir la consola de Google. El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.

    Sugerencia: Ordene las pestañas en ventanas separadas, una junto a la otra.

    Nota: Si ve el diálogo Elegir una cuenta, haga clic en Usar otra cuenta.
  3. Si es necesario, copie el nombre de usuario del panel Detalles del lab y péguelo en el cuadro de diálogo Acceder. Haga clic en Siguiente.

  4. Copie la contraseña del panel Detalles del lab y péguela en el cuadro de diálogo de bienvenida. Haga clic en Siguiente.

    Importante: Debe usar las credenciales del panel de la izquierda. No use sus credenciales de Google Cloud Skills Boost. Nota: Usar su propia Cuenta de Google podría generar cargos adicionales.
  5. Haga clic para avanzar por las páginas siguientes:

    • Acepte los términos y condiciones.
    • No agregue opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
    • No se registre para obtener pruebas gratuitas.

Después de un momento, se abrirá la consola de Cloud en esta pestaña.

Nota: Para ver el menú con una lista de los productos y servicios de Google Cloud, haga clic en el Menú de navegación que se encuentra en la parte superior izquierda de la pantalla. Ícono del menú de navegación

Tarea 1: Habilita la API

  1. En la consola de Cloud, ve al Menú de navegación (Ícono del menú de navegación) > APIs y servicios > APIs y servicios habilitados.

  2. Haz clic en Habilitar APIs y servicios.

  3. Busca Dialogflow.

  4. Haz clic en el mosaico API de Dialogflow. Si la API no está habilitada, haz clic en Habilitar.

Tarea 2: Crea tu agente de Dialogflow

Le asignarás el nombre "pigeon-travel".

  1. Dirígete a la consola de Dialogflow.

  2. Accede con el botón de Google y asegúrate de seleccionar las credenciales que utilizaste para este lab. Luego, haz clic en Permitir.

  3. Desmarca las preferencias de correo electrónico y marca las Condiciones del Servicio. Haz clic en Aceptar.

  4. En el menú de la izquierda, haz clic en Create agent.

  5. Ahora agrega la información del agente tal como aparece en la captura de pantalla que se muestra a continuación:

  • Agent name: pigeon-travel
  • Default Time Zone: America/Denver
  • Google Project: usa el ID del proyecto del lab
  1. Haz clic en Create.

Haz clic en Revisar mi progreso para verificar el objetivo. Crear el agente de Dialogflow

Tarea 3: Importa tu agente de Dialogflow

En el lab anterior, exportaste el agente de Dialogflow que compilaste. Ahora volverás a importarlo para continuar su compilación.

Esto creará un proyecto de agente virtual nuevo. Ahora deberías importar el trabajo que ya realizaste.

  • Si no tienes archivos exportados para usar, usa este archivo:
https://storage.cloud.google.com/qwiklabs-resources-ccai-quest/pigeon-travel-gsp-792.zip
  • Descarga el archivo en tu estación de trabajo local.
  1. Haz clic en el ícono de ajustes Ícono de ajustes Configuración Configuración junto al nombre del agente.

  2. Selecciona la pestaña Export and Import.

Página con pestañas Importar y exportar

  1. Haz clic en Import from ZIP.

  2. Haz clic en Select file y navega al archivo ZIP que contenga la configuración de tu agente virtual. También puedes arrastrar y soltar el archivo si así lo prefieres.

  3. Escribe la palabra "IMPORT" todo en mayúsculas para habilitar el botón de importación y haz clic en Import.

Página Subir agente

  1. Haz clic en Done para cerrar la ventana de carga una vez que se complete la importación.

Se importó tu configuración actual a tu proyecto de agente nuevo.

Haz clic en Revisar mi progreso para verificar el objetivo. Importar tu agente de Dialogflow

Tarea 4: Configura la entrega con Cloud Functions para buscar reservas en Firestore

Hasta el momento, el agente hace un buen trabajo al comunicarse con el cliente para obtener su información, incluido el número de reserva. Sin embargo, la información que recopila no se verifica ni se registra en ningún otro lado para permitir posibles acciones adicionales. En esta sección, configurarás la entrega. Para ello, agregarás e implementarás un código Node.js como una Cloud Function para que tu agente busque la reserva actual y agregue el cambio.

Configura Firestore

  1. En la consola, dirígete a Menú de navegación > Bases de datos > Firestore.

  2. Verás dos opciones, Modo nativo y Modo Datastore. Haz clic en Seleccionar modo nativo.

  3. Para la ubicación, elige nam5 (United States).

  4. Haz clic en Crear base de datos. Una vez que se completa el proceso, podrás crear una colección nueva.

  5. Haz clic en Iniciar colección.

  6. Completa los detalles exactamente como se muestran a continuación y, luego, haz clic en Guardar.

  • ID de la colección: reservations

  • ID de documento: 100

  • Nombre del campo: fname

  • Tipo de campo: string

  • Valor del campo: Isabel

  1. Luego, haz clic en el botón + para agregar otra:
  • Nombre del campo: lname
  • Tipo de campo: string
  • Valor del campo: Costa
  1. Luego, haz clic en el botón + para agregar otra:
  • Nombre del campo: newname
  • Tipo de campo: string
  • Valor del campo:

Ya agregaste tu primer documento a una colección de Firestore.

Práctica recomendada relacionada con los IDs de documento de Firestore

  • No uses puntos (.) ni puntos suspensivos (…) en los ID de documento.

  • No uses barras diagonales (/) en los IDs de documento.

  • No uses IDs de documento que aumenten monótonamente, como los siguientes ejemplos:

    • Customer1, Customer2, Customer3…
    • Product 1, Product 2, Product 3…

    Estos ID secuenciales pueden generar hotspots que afectan la latencia.

Entrega de Dialogflow

  1. Haz clic en Fulfillment en el menú de la izquierda. Es posible que el aprovisionamiento de los recursos tarde unos minutos.

  2. Junto a la opción Inline Editor, desliza el control deslizante hacia la derecha para que se muestre como Enabled. Esto habilita el editor de Cloud Functions en tu agente de Dialogflow.

Nota: Si recibes un mensaje de error, intenta actualizar la página y, luego, habilita el control deslizante nuevamente.
  1. Una vez que se habilita, verás una plantilla predeterminada en el archivo index.js.

  2. Haz clic en el botón Deploy en la esquina inferior derecha. Esta operación podría tardar unos minutos.

  3. Una vez que se completa correctamente la implementación, dirígete a la consola de Google Cloud y, con el menú de la izquierda, navega a Cloud Functions para confirmar si la función se implementó.

Haz clic en Revisar mi progreso para verificar el objetivo. Configurar la entrega con una Cloud Function

  1. Vuelve a la sección Fulfillment en la consola de Dialogflow y haga clic en la pestaña index.js.

  2. Observa que ya hay un código de inicio, que incluye las funciones para administrar los intents de bienvenida y de resguardo predeterminados. Primero, agregarás las siguientes líneas para poder trabajar con Firestore.

Agrega el siguiente código por encima de la línea que dice process.env.DEBUG = 'dialogflow:debug';:

const admin = require('firebase-admin');

Agrega este bloque de código debajo de la línea que dice process.env.DEBUG = 'dialogflow:debug';:

admin.initializeApp(); admin.firestore().settings( { timestampsInSnapshots: true }); const db = admin.firestore();
  1. Para controlar las reservas, agrega el siguiente código después de las funciones de controlador para los intents de bienvenida y de resguardo.

Agrega el siguiente bloque de código debajo de la línea que dice

exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {:

function reservation(agent) { let id = agent.parameters.reservationnumber.toString(); let collectionRef = db.collection('reservations'); let userDoc = collectionRef.doc(id); return userDoc.get() .then(doc => { if (!doc.exists) { agent.add('I could not find your reservation.'); } else { db.collection('reservations').doc(id).update({ newname: agent.parameters.newname }).catch(error => { console.log('Transaction failure:', error); return Promise.reject(); }); agent.add('Ok. I have updated the name on the reservation.'); } return Promise.resolve(); }).catch(() => { agent.add('Error reading entry from the Firestore database.'); }); }
  1. Modifica el código intentMap para incluir una entrada que permita controlar la asignación de name.reservation-getname a la función que acabas de agregar:
intentMap.set('name.reservation-getname', reservation);

Debería ser similar a esto:

let intentMap = new Map(); intentMap.set('name.reservation-getname', reservation); intentMap.set('Default Welcome Intent', welcome); intentMap.set('Default Fallback Intent', fallback); agent.handleRequest(intentMap);
  1. En la pestaña package.json asegúrate de que firebase-admin esté configurado como "^5.13.1":
"firebase-admin": "^5.13.1"
  1. Haz clic en el botón Deploy para guardar y también implementar el código.

  2. Dirígete al intent name.reservation-getname, navega a la parte inferior hasta Fulfillment y haz clic en el interruptor Enable the webhook call for this intent para habilitarlo. Guarda el intent.

  3. Realiza una prueba en el simulador. Para ello, ingresa la pregunta: change name on booking.

Recibirás la respuesta predeterminada, como la siguiente: Sure I can help you to change your name on the reservation. Can I have your first name?.

  1. Prueba ingresando el nombre de usuario que desees.

  2. Luego, prueba ingresar 100 cuando obtengas la respuesta predeterminada que solicita el número de reserva.

  3. Luego, ingresa el nombre nuevo para el cual deseas crear una reserva, por ejemplo: Kelly.

  4. Luego de completar la reserva con éxito, recibirás la respuesta predeterminada como: Thank you dylan. I have changed the name on reservation number 100 to be kelly.

  5. Para confirmar esto, ve al menú de navegación de la consola de Cloud y, usando el menú de la izquierda, navega hasta Firestore > Datos.

Verás la entrada para tu cambio de nombre. Observa que se agregó un par clave-valor nuevo; de esta manera, puedes ver cuál era el nombre original y cuál es el nombre nuevo.

Par clave-valor nuevo. fname: "Isabel", lname: "costa", newname name: "kelly"

  1. Examina los registros en busca de errores de código en tu consola de Dialogflow. En la parte inferior izquierda de la sección Fulfillment, haz clic en View execution logs in the Google Cloud console para ver los registros.

  2. Examina los registros para ver si hay algún error. Haz clic en Menú de navegación > Operaciones > Logging.

  3. En el Explorador de registros, selecciona Cloud Function > dialogflowFirebaseFulfillment. Puedes verificar todos los registros relacionados aquí.

Como alternativa, puedes ir a Menú de navegación > Cloud Functions. Haz clic en REGISTROS dentro de la función que creaste para ver los registros.

Haz clic en Revisar mi progreso para verificar el objetivo. Probar el agente con el simulador de Dialogflow

Tarea 5: (Opcional) Exporta tu código

Exporta tu trabajo para poder usarlo en el próximo lab. Haz clic en la pestaña Fuente de Cloud Functions, desplázate hacia abajo y haz clic en el botón Descargar archivo ZIP.

Exporta tu agente

Exporta tu agente como un archivo ZIP para poder importarlo más tarde, cuando comiences el próximo lab. Esto te permitirá reutilizar los intents y las entidades que hayas configurado hasta el momento.

  1. Haz clic en el ícono de ajustes ⚙ junto al nombre de tu agente, en el menú de la izquierda.

  2. Cuando se abra la página de configuración, dirígete a la pestaña Export and Import.

  3. Haz clic en Export as ZIP. Esta acción descargará tu agente de forma local en un archivo ZIP.

¡Felicitaciones!

Agregaste contexto a tu agente virtual y configuraste la entrega para buscar y almacenar entradas de reservas en Firestore.

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.

Actualización más reciente del manual: 28 de septiembre de 2023

Prueba más reciente del manual: 28 de septiembre de 2023

Copyright 2024 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.