Crea un agente de RBM con la tecnología de Dialogflow (Básico)

En este codelab, aprenderás a usar Dialogflow para crear una interfaz de conversación a fin de potenciar un agente de RBM sin escribir ningún código.

¿Qué compilarás en este codelab?

  • Un agente de Dialogflow que potencia la conversación de un agente de RBM
  • Una interfaz de conversación para una pizzería ficticia que envía a los usuarios una oferta de descuento y les permite ver el menú del restaurante

Qué información obtendrá

  • Cómo usar la construcción principal de un intent de Dialogflow para crear una interfaz conversacional
  • Cómo crear tipos de respuesta de RBM desde Dialogflow a fin de crear una experiencia de RBM enriquecida para los usuarios

Requisitos

  • Tu Cuenta de Google de la plataforma RBM

Crea y consulta tu primer agente

Duración: 30:00

Cree su primer agente de Dialogflow

Para crear un agente de Dialogflow, haz lo siguiente:

  1. Abre una pestaña nueva y accede a Dialogflow.
  2. Haz clic en Crear agente en la barra de navegación izquierda.

  3. Ingresa "CodelabRBMPizzaPlace" como el idioma predeterminado, y establece la zona horaria predeterminada en tu zona horaria.

  4. Haga clic en Crear.

La consola de Dialogflow

Ahora, debería ver la consola de Dialogflow. Si trabajas en una pantalla más pequeña y la navegación izquierda está oculta, haz clic en el botón de navegación en la esquina superior izquierda. El botón de configuración te lleva a la configuración del agente actual.

En la mitad de la página, se muestra una lista de intents para el agente. De forma predeterminada, los agentes de Dialogflow comienzan con dos intents. Tu agente coincide con el Intent alternativo predeterminado cuando no comprende lo que dicen los usuarios. El Intent de bienvenida predeterminado (Default Welcome Intent) saluda a tus usuarios. Puedes modificar estos intents para personalizar la experiencia.

A la derecha, se encuentra el simulador de Dialogflow. Esto te permite probar el agente mediante mensajes escritos o de voz.

Realice consultas a su agente

Los agentes de Dialogflow se describen mejor como módulos de CLN (comprensión del lenguaje natural). Se pueden incluir en tu app, producto o servicio para transformar las solicitudes naturales de los usuarios en datos procesables.

Es momento de probar tu agente. En el simulador de la derecha, haz clic en el campo de texto que dice Pruébalo ahora, escribe "Hi" y presiona Intro.

Dialogflow identifica la consulta, hace coincidir el Intent de bienvenida predeterminado (Default Welcome Intent) y responde con un saludo genérico. Esto funciona porque Dialogflow entrena automáticamente el Intent de bienvenida predeterminado con algunos saludos de muestra.

Crea un agente de RBM

Accede a Business Communications Developer Console y haz clic en Crear agente.

En el campo Nombre, ingresa "Your Name’s Pizza Place" (como &#;Sean's Pizza Place&quot), selecciona una región y haz clic en Crear agente.

Conecta tu agente de RBM a Dialogflow

Después de crear tu agente de RBM, haz clic en él para ver la página Descripción general. Haz clic en el vínculo Integraciones en el panel de navegación izquierdo.

De forma predeterminada, el agente de RBM usa Google Cloud Pub/Sub para administrar los mensajes de los usuarios. Para conectar tu agente de RBM al agente de Dialogflow que creaste antes, haz clic en la integración de Dialogflow.

En el cuadro de diálogo, haz clic en Conectar modelo existente. Sigue las instrucciones a fin de otorgarle permisos a tu agente de RBM para llamar a tu agente de Dialogflow. Cuando hayas completado las instrucciones, haz clic en Siguiente.

Por último, debes proporcionar el ID del proyecto de Dialogflow. En una pestaña del navegador diferente de Business Communications Developer Console, ve a Dialogflow y abre el agente CodelabRBMPizzaPlace que creaste antes. Haz clic en el ícono de ajustes junto al nombre del proyecto en la barra de navegación izquierda.

Si haces clic aquí, accederás a la configuración del modelo. En PROYECTO DE GOOGLE, busca y copia el ID del proyecto.

Regresa a la pestaña con la Consola para desarrolladores de Business Communications abierta, pega el ID del proyecto en el diálogo y, luego, haz clic en Start integration.

Este proceso tarda alrededor de dos minutos en completarse. Una vez completado, deberías ver la opción de integración de Dialogflow destacada y un vínculo View agent disponible.

El agente de Dialogflow de PizzaRBMPizzaPlace ahora administra todos los mensajes desde y hacia tu agente.

Invita a tu dispositivo de prueba y envía un mensaje

Antes de comenzar a usar Dialogflow, configuremos su dispositivo de prueba. Si aún no tienes un dispositivo capaz de recibir mensajes de RBM, sigue esta guía a fin de prepararlo.

En la consola para desarrolladores de Business Communications, haz clic en Devices en el panel de navegación izquierdo. En el formulario, ingresa el número de teléfono completo del dispositivo en formato E.164 (por ejemplo, +12223334444) y haz clic en Agregar.

En tu dispositivo, recibirás la invitación de prueba. Presiona Convertirme en verificador.

En el navegador, busca tu dispositivo en la lista Dispositivos y envíale un mensaje de prueba. Si recibiste un mensaje de tu agente de RBM en tu dispositivo, ya puedes continuar con este codelab.

Cómo crear tu intent de bienvenida

Por lo general, con un agente de RBM con tecnología de Dialogflow, para iniciar una conversación, debes realizar una llamada a la API que especifique el número de teléfono del usuario y el intent de Dialogflow que inicia la conversación (por lo general, el intent de bienvenida de tu agente). Para este codelab, omitiremos este paso y, en su lugar, usaremos el subproceso de conversación que ya creamos en el paso anterior con el dispositivo de prueba de Business Communications Developer Console. Sin embargo, si deseas obtener más información sobre esta función de la API, consulta esta guía.

Comencemos por agregar respuestas de RBM al Intent de bienvenida predeterminado (Default Welcome Intent) para que Dialogflow pueda usarlo con tu agente de RBM. Primero, navega a la pestaña del navegador que tiene Dialogflow abierto. Haz clic en el vínculo Intents en el panel de navegación izquierdo. Para borrar el ejemplo de respuesta de texto sin formato, haz clic en la papelera que aparece en la esquina superior derecha. Luego, haz clic en Intent de bienvenida predeterminado, desplázate hacia abajo hasta la sección Respuestas, haz clic en + en la lista de tipos de respuesta y selecciona RCS Business Messaging (RBM).

Haga clic en Agregar respuestas y seleccione Respuesta simple. En el campo de texto para la Respuesta simple, ingresa “Descubre la oferta del día de Pizzería Sean”. Compra cualquier pizza de 12 pulgadas y obtén una GRATIS. (reemplaza Sean por tu nombre) y haz clic en Guardar.

Cómo iniciar una conversación

Ahora que configuraste un intent de bienvenida, vuelve al dispositivo de prueba y envía el mensaje "Hola". Este mensaje activa el Intent de bienvenida predeterminado, y deberías ver algo similar a lo que se muestra en la siguiente imagen.

Actualiza tu intent de bienvenida

Ahora que Dialogflow envía un mensaje simple, actualicemos el mensaje para que sea un poco más convincente. No solo queremos enviar un mensaje sobre el acuerdo del día, sino también enviar una imagen para atraer al usuario receptor y ofrecerle otras acciones que tal vez desee realizar.

Reemplacemos nuestro mensaje publicitario de pizza de respuesta simple con una tarjeta que contenga una imagen y proporcione opciones para ver el menú completo y el sitio web del restaurante.

En la sección Intentos de bienvenida predeterminados de la sección Respuestas, selecciona la pestaña RCS Business Messaging (RBM). Actualiza el texto existente de Respuesta simple con "Bienvenido a Sean's Pizza Place". Echa un vistazo a la oferta promocional de hoy. Luego, haga clic en Agregar respuestas y seleccione Tarjeta enriquecida independiente.

En el formulario de Tarjeta enriquecida independiente, ingrese lo siguiente:

  • Título de la tarjeta: Compre cualquier pizza de 30 cm y obtenga una GRATIS
  • Descripción de la tarjeta: Muestra este mensaje en cualquier ubicación participante para canjear esta oferta. La oferta vence el 17/2.
  • Seleccionar la orientación de la tarjeta: Vertical
  • URL de la imagen o del video: https://storage.googleapis.com/df-rbm-codelab/pizza-ad-coupon.png
  • Seleccionar altura de medios: Mediana

Haz clic en Agregar sugerencia y, luego, ingresa lo siguiente:

  • Texto de sugerencia: Menú de vista
  • Postback de sugerencia: response_view_menu

Para agregar una acción de URL abierta, haga clic en Agregar sugerencia y, luego, seleccione Abrir acción de URL en el menú desplegable y, luego, ingrese lo siguiente:

  • Texto de sugerencia: Ver sitio web
  • Postback de sugerencia: response_view_website
  • URL para abrir: https://www.google.com (o cualquier URL válida)

Haz clic en Guardar.

Pruébelo.

Una vez que el modelo diga "Entrenamiento de agente completo", vuelve al dispositivo y envía el mensaje "Hola" al agente. Ahora deberías ver la Respuesta simple seguida de la Tarjeta enriquecida independiente que acabas de diseñar.

Intenta presionar Ver menú. Ten en cuenta que se activa el Intent alternativo predeterminado. Esto se debe a que tu agente de Dialogflow no sabe cómo manejar los datos de notificación que configuraste para esta sugerencia, "reply_view_menu".

Solucionemos este problema.

Cómo crear tu intent de Menú

Dialogflow utiliza intents para categorizar las intenciones del usuario. Los intents tienen frases de entrenamiento, que son ejemplos de lo que un usuario podría decirle a tu agente. Por ejemplo, alguien que desea saber el menú puede preguntar: "¿Cuál es tu menú?". "Qué puedo comer" o "Qué puedo pedir".

Todas estas consultas son únicas, pero tienen la misma intención: obtener información sobre el menú.

Para cubrir esta consulta, crea un intent "Menú":

  1. En el panel de navegación izquierdo, haga clic en el signo + junto a Intents.
  2. En Intent name, ingresa "&Menu".
  3. En Training Phrases, haz clic en Add user expression y, luego, ingresa lo siguiente después de ingresar cada frase:

    • What's your menu?
    • What can I eat?
    • What can I order?
    • reply_view_menu

    Esta última frase de entrenamiento se usa para asignar los datos de notificación de conversión que configuraste en la sección anterior con este intent.

Para la respuesta a este intent, crearemos un carrusel que muestre las diversas opciones del menú. Para un menú más grande, puedes vincular a un sitio web o compartir una sola imagen del menú.

  1. En Respuestas, haz clic en + y selecciona RCS Business Messaging (RBM).
  2. Haz clic en Agregar respuestas y selecciona Tarjeta enriquecida de carrusel.
  3. Configura la opción Seleccionar ancho de tarjeta en Media.
  4. En la opción Ancho, haga clic en Agregar tarjeta dos veces. Esto expande la cantidad de tarjetas a 4.
  5. En la tarjeta 1, ingresa lo siguiente:
    • Título de la tarjeta: Salchicha y pepperoni
    • Descripción de la tarjeta: Salchichas, pepperoni, aceitunas y pimientos verdes
    • URL de imagen/video: https://storage.googleapis.com/df-rbm-codelab/sausage-pizza.jpg
  6. En la tarjeta 3, ingrese lo siguiente:
    • Título de la tarjeta: italiano
    • Descripción de la tarjeta: Salsa de tomate, queso y salchicha
    • URL de imagen/video: https://storage.googleapis.com/df-rbm-codelab/italian-pizza.jpg
  7. En la tarjeta 2, ingrese lo siguiente:
    • Título de la tarjeta: Margherita
    • Descripción de la tarjeta: Tomates de San Marzano, queso mozzarella, albahaca fresca, sal y aceite de oliva extra virgen
    • URL de imagen/video: https://storage.googleapis.com/df-rbm-codelab/margarita-pizza.jpg
  8. En la tarjeta 4, ingrese lo siguiente:
    • Título de la tarjeta: Supreme
    • Descripción de la tarjeta: Salchichas, pepperoni, hamburguesa, tocino canadiense, cebollas, aceitunas, champiñones y pimientos verdes
    • URL de imagen/video: https://storage.googleapis.com/df-rbm-codelab/supreme-pizza.jpg

Después de los elementos de la tarjeta, también necesitamos proporcionar una forma para que el usuario continúe la conversación. Para agregar compatibilidad, haz clic en Agregar respuestas, selecciona Respuesta simple y, luego, ingresa el texto "Quieres hacer algo más\".

En Respuesta simple, haga clic en Agregar sugerencia y, luego, ingrese lo siguiente:

  • Texto de sugerencia: Ver promoción
  • Sugerencia de notificación: hola

Haz clic en Guardar.

Pruébelo.

Ahora intenta pedirle el menú a tu agente. En tu dispositivo, en la conversación de tu agente de RBM, ingresa "What's on the menu" (Qué hay en el menú) y envía el mensaje a tu agente.

Ahora, su agente responde correctamente a la consulta. Ten en cuenta que, aunque tu consulta fue un poco diferente de la frase de entrenamiento (¿Qué hay en el menú? en comparación con ¿Cuál es tu menú?), Dialogflow aún hace coincidir la consulta con el intent correcto. También puedes intentar presionar el elemento Ver menú en la tarjeta enriquecida.

Dialogflow usa frases de entrenamiento como ejemplos para un modelo de aprendizaje automático a fin de hacer coincidir las consultas de los usuarios con el intent correcto. El modelo de aprendizaje automático compara la consulta con cada intent incluido en el agente, le asigna una puntuación a cada intent y establece la coincidencia con el intent que recibe la puntuación más alta. Si el intent con la puntuación más alta tiene una puntuación muy baja, se establece la coincidencia con el intent de resguardo.

Cómo capturar intents sin responder

Ya casi terminas, pero hay algo más que debemos hacer. Si vuelves a tu dispositivo de prueba y presionas la sugerencia Ver sitio web en la tarjeta enriquecida inicial, notarás que presionar esta sugerencia no solo abre la URL asociada, sino que también recibirás un mensaje activado por el Intent alternativo predeterminado.

Esto se debe a que la acción de URL abierta envía el texto de notificación de “back_view_website” a Dialogflow cuando presionas la acción y Dialogflow la asigna al Intent alternativo predeterminado.

Para capturar datos de notificación sin responder de forma inmediata, crearemos un intent con frases de entrenamiento que coincidan con los datos de notificación y borraremos todas las respuestas para el intent. Dialogflow hará coincidir los datos de notificación con el intent, pero no responderá porque el intent no tiene respuestas definidas.

Cómo crear tu intent sin respuesta

Para cubrir las acciones que quieres ignorar, crea un intent "Sin respuesta":

  1. En el panel de navegación izquierdo, haga clic en el signo + junto a Intents.
  2. En Nombre del intent, ingresa "Sin respuesta".
  3. En Frases de entrenamiento, haz clic en Agregar expresión del usuario, ingresa lo siguiente y presiona Intro después de cada entrada:
    • reply_view_website
  4. Desplázate hacia abajo hasta Respuestas y quita todas las respuestas con el ícono de la papelera.

Haz clic en Guardar.

Pruébelo.

En tu dispositivo, en la conversación de tu agente de RBM, ingresa "&hi"; y envía el mensaje a tu agente. Esto activará la oferta promocional del Intent de bienvenida predeterminado. Haz clic en la opción Ver sugerencia para el sitio web y observa que este se abra en el navegador y que no se envíe ninguna respuesta del agente.

¡Listo!

Duración: 1:00

¡Buen trabajo!

Ya atravesaste todas las etapas de compilación de un agente simple de RBM con la tecnología de Dialogflow.

Si deseas obtener más información, consulta nuestro codelab avanzado.

Diviértete desarrollando aplicaciones para esta emocionante plataforma nueva.