https://a.storyblok.com/f/270183/1368x665/b2728873e3/5things-lowcode_ai-studio.png

5 técnicas de AI Studio que todo desarrollador de código bajo debe conocer

Publicado el November 21, 2024

Tiempo de lectura: 8 minutos

Introducción

Al trabajar con AI Studiohay algunos flujos útiles que aparecen una y otra vez. ¡En este artículo, aprenderás a mejorar tus Agentes Conversacionales AI con 5 flujos simples pero poderosos que son útiles en cada agente!

Aprenderás cómo (1) crear un flujo para enviar correos electrónicos, (2) cómo organizar tu agente para que sea agradable y ordenado, (3) cómo crear un bucle para aceptar múltiples preguntas de tu usuario, (4) cómo manejar preguntas amplias que podrían confundir a tu agente, y finalmente (5) ¡cómo crear fallbacks si el usuario da preguntas problemáticas!

Requisitos previos

  • Cuenta API de Vonage

Vonage API Account

To complete this tutorial, you will need a Vonage API account. If you don’t have one already, you can sign up today and start building with free credit. Once you have an account, you can find your API Key and API Secret at the top of the Vonage API Dashboard.

Debe configurar un agente básico de WhatsApp entrante para seguir el proceso. Primero para crear su agente, siga las instrucciones que se encuentran en la documentación de AI Studio. Hay tres opciones importantes para nuestro agente, seleccione:

  • Tipo: WhatsApp

  • Plantilla: Empezar de cero

  • Evento: Entrada

A continuación, añade los 3 nodos siguientes:

Starting Boilerplate WhatsApp FlowStarting Boilerplate WhatsApp Flow

Cómo utilizar el nodo de envío de correo electrónico en AI Studio

Permitir que los usuarios envíen correos electrónicos a su empresa desde un agente de IA conversacional ofrece un canal de comunicación fiable y seguro en el que los usuarios confían, garantizando que las consultas se gestionan de forma profesional. Además, permite a su equipo gestionar las respuestas a su propio ritmo, integrándose perfectamente con los flujos de trabajo existentes, ya que el correo electrónico ya se utiliza ampliamente en la mayoría de las organizaciones.

Primero tendrá que crear un Email Support Intento para nuestro nodo de clasificación. Las intenciones son la forma en que el agente de IA conoce el propósito de la pregunta de su usuario y a qué flujo debe dirigirlo.

Abra el Nodo de Clasificación y haga clic en Crear Intención. Nombra la intención "Email Support" en la parte superior y luego añade 5-10 expresiones de usuario como "Email help", "Email support", y "I want to email support". Las expresiones de usuario son los datos que ayudan a entrenar al agente para que comprenda las diferentes intenciones.

Intent Training Set for Send Email FlowIntent Training Set for Send Email Flow
A continuación, vamos a necesitar 2 datos adicionales del usuario antes de poder utilizar la función Enviar Email nodo:

  • Dirección de recogida

    • Utilizando un nodo de entrada Collect, pedir al usuario su dirección de correo electrónico.

      • Por ejemplo: "¡Genial! ¿Me das tu dirección de correo electrónico?".

    • Guárdelo dentro de un nuevo Parámetro $email_address.

    • Establezca este parámetro en @sys.email para que AI Studio sólo acepte direcciones de correo electrónico válidas.

  • Recoger correo electrónico

    • Utilizando un nodo Collect Input, pregunte al usuario por la pregunta que no pudo responder el agente

      • Por ejemplo, "Por favor, explique la pregunta que tiene y se la transmitiré al servicio de apoyo 💌"

    • Guárdelo en un nuevo parámetro llamado $email_content

Ahora estamos listos para el nodo Send Email. La configuración para nuestro nodo será:

  • Para: añada aquí su dirección de correo electrónico

    • Asegúrate de pulsar enter para que se guarde la dirección. Debería convertirse en un bloque gris.

    • Puede añadir más de un destinatario de correo electrónico.

  • Asunto: Pregunta sobre el nuevo agente de IA: $PROFILE_NAME

    • $PROFILE_NAME es un parámetro del sistema que nos permite acceder al nombre de perfil del usuario que ha configurado en WhatsApp. (Nota: no todo el mundo utiliza su nombre real como nombre de perfil).

  • Cuerpo:

Información de contacto:

  • Nombre del demandado: $PROFILE_NAME

  • Número de teléfono del encuestado: $SENDER_PHONE_NUMBER

  • Correo electrónico del demandado: $email_address

Pregunta enviada por el usuario: $email_content

Tiempo de conversación: $CONVERSATION_START_TIME

Tu nodo debería tener este aspecto:

Send Email NodeSend Email Node
Muy bien. Nuestro flujo de correo electrónico ya está completo. Ahora puede utilizar el Probador de Chat ¡y probarlo con su dirección de correo electrónico!

Cómo organizar a sus agentes con subflujos

Nuestro lienzo empieza a estar un poco desordenado, y esto es sólo por un corto ¡flujo! ¡Imagina con flujos que pueden ser docenas de nodos! Para mantener nuestros agentes limpios, podemos organizarlos con subflujos.

Consejo: Empezar con una maqueta antes de construir y organizar es mucho más fácil

Para crear un nuevo flujo, haga clic en la pestaña Flujos del panel situado más a la izquierda. A continuación, haga clic en Añadir flujo. Puede cambiar el nombre de su flujo a Enviar correo electrónico haciendo clic con el botón derecho.

How to Rename SubflowsHow to Rename SubflowsAhora recree la parte del flujo de Email de antes; todo después del nodo de Clasificación (nodo de Recoger Dirección, nodo de Recoger Email, nodo de Enviar Email). Sin embargo, ahora utilice el nodo Inicio en su nuevo sub-flujo, como su comienzo.. Puede duplicar sus nodos anteriores y copiarlos/pegarlos en el sub-flujo.

Ahora, desde la sección Control de Flujo del panel Nodo, añade un nodo Flujo de Salida. Haga clic en el nodo y renómbrelo Exit Send Email. Ahora podemos utilizar nuestro subflujo para limpiar nuestro Flujo Principal. Haga clic en la pestaña Eventos (la que tiene el rayo) y luego haga clic en Sesión de Entrada. Esto lo llevará de vuelta a nuestro Flujo Principal.

Ahora borre todos los nodos que creamos en la sección anterior Cómo Usar el Nodo Enviar Email (todo lo que está después del nodo Clasificación). Luego, desde la sección Flow Control, agregue un nodo Flow y seleccione el nodo Send Email Flow. Puede conectar su nodo Classification al nodo Send Email Flow, ¡y ya está! Su agente tiene la misma funcionalidad pero de una manera mucho más limpia.

Agent Main Flow with Send Email SubflowAgent Main Flow with Send Email Subflow

Cómo hacer un bucle para consultas de varios usuarios

Nuestro flujo de correo electrónico es agradable, pero ¿qué pasa si el usuario quiere enviar un correo electrónico a soporte y pedir más preguntas? No queremos que tengan que empezar de nuevo con todo el agente. Queremos que el usuario pueda hacer varias preguntas a nuestro chatbot.

Cree otro subflujo llamado "¿Repetir?". Añade un nodo Collect Input llamado Collect Repeat que guardará un nuevo Parámetro llamado $repeat de tipo @sys.confirmation. El nodo recibirá entradas de Botón de respuesta. Un botón debe tener un título Sí y un valor de sí. El otro botón debe tener un título No y un valor de no.

Collect Repeat Node DetailsCollect Repeat Node DetailsAhora, usaremos un Nodo Condición para comprobar contra $repeat. Crea una condición para comprobar si $repeat es igual a yes, y otra para comprobar si $repeat es igual a no. Ahora añada dos nodos Exit Flow separados; uno para REPEAT = YES y otro para REPEAT = NO.

Complete Repeat? SubflowComplete Repeat? SubflowAhora, de vuelta en nuestro Flujo Principal, terminaremos nuestra lógica de repetición. Conecta la condición sí de nuevo a tu nodo original de Recopilar Consulta de Usuario, el primer nodo de entrada de recopilación que utilizamos.

Para que nuestros usuarios sepan que el flujo ha terminado, y nuestro agente está "dormido", vamos a crear un último nodo Send Message con un simple Mensaje de Despedida, "¡Gracias por usar AI Studio!" Conecta nuestra condición falsa a este nodo. Conecta el nodo de Mensaje de Despedida a un nodo de Fin de Conversación.

Repeat? Subflow Within the Main FlowRepeat? Subflow Within the Main Flow

Cómo gestionar las consultas de los usuarios

El resto del artículo transcurre en nuestro flujo principal.

Hasta ahora hemos creado una intención para nuestros usuarios: enviar correos electrónicos. Su agente puede tener muchas intenciones. A veces, los usuarios pueden hacer preguntas generales que coincidan con varias intenciones, confundiendo al agente virtual. En lugar de que el agente diga: "Lo siento, no lo he entendido", lo que puede frustrar a los usuarios, un enfoque mejor es crear una intención "Consultas generales". Esta intención ofrece una respuesta cortés y clarificadora y pide al usuario que vuelva a formularla, lo que ayuda a mantener su confianza en la capacidad del agente para ayudarle.

Las consultas generales para una agencia de reservas de viajes pueden ser "vuelos", "asistencia", "detalles", "pregunta de reserva", etc.

Intent Training Set for Broad QueriesIntent Training Set for Broad QueriesEn primer lugar, añada una intención "Consultas generales" a su página Principal Clasificación. A continuación, añada posibles consultas generales en el campo Expresiones del usuario. Intente añadir posibles palabras o frases que puedan confundir a un agente y terminar en múltiples intents.

Segundo, crea un nuevo nodo Collect Input y conéctate a él desde el intento Broad Queries. Utilizaremos este nodo Collect Input para recopilar nuestra consulta $consulta_usuario . Sin embargo, aquí diremos algo como "¡Qué buena pregunta! ¿Puede ser más específico?" o "Estoy encantado de ayudarle. ¿Cuál es su pregunta?".Por último, vuelva a su Nodo de Clasificación.

Overview of Broad Queries LoopOverview of Broad Queries Loop

Cómo crear Fallbacks para entradas de usuario inesperadas

Cuando se manejan entradas de usuario, pueden producirse algunos errores comunes. Por ejemplo, cuando se utiliza un nodo Recoger entrada en WhatsApp, los usuarios pueden introducir texto cuando el Agente espera una Imagen. O pueden enviar un mensaje vacío. Además, los nodos de Clasificación pueden confundirse si una consulta no coincide con los intentos existentes. Crearemos dos flujos alternativos para cubrir estos dos posibles escenarios.

Cómo crear un flujo de retorno para un tipo de entrada inesperado

Nuestro primer nodo Collect Input espera que los usuarios envíen una pregunta como texto. Podemos crear un fallback para añadiendo un nuevo nodo Collect Input llamado Fallback:Text. El valor se almacena de nuevo en $user_query y la pregunta es "Lo sentimos, las preguntas deben ser escritas. Por favor, pregunte de nuevo". Entonces, este nodo puede ser conectado a nuestro Nodo de Clasificación y al punto de salida Tipo de Entrada Inesperada.

Fallback for Unexpected Input TypeFallback for Unexpected Input Type

Cómo crear un flujo alternativo en caso de clasificación errónea

En nuestro nodo de Clasificación, necesitamos manejar el caso Falled. Podemos añadir de nuevo un nuevo nodo Recoger Entrada llamado "Fallback: Missed Intent". El valor se almacena de nuevo en $user_query. El mensaje es, "Lo siento, no lo he entendido. Por favor, inténtelo con una pregunta más detallada". Entonces este nodo se conecta de nuevo a nuestro nodo de Clasificación.

Missed Classification Fallback FlowMissed Classification Fallback Flow

Cómo evitar bucles interminables en las fallas

Es posible que se haya dado cuenta de que estas fallbacks tienen un escollo potencial. Si el usuario dio una respuesta problemática la primera vez, ¿por qué no iba a dar una respuesta problemática en nuestra pregunta de seguimiento? Podrían hacerlo. Y acabarían en un bucle sin fin. Aprenda en cómo evitar bucles sin fin con un flujo de retorno bien estructurado.

Conclusión

Y esto es todo. 5 sencillos pero potentes flujos de AI Studio que realmente pueden mejorar tus agentes conversacionales de IA. Al configurar la funcionalidad de correo electrónico, mantener las cosas ordenadas con subflujos, permitir a los usuarios hacer múltiples preguntas, manejar esas consultas amplias difíciles y crear fallbacks inteligentes, puedes construir agentes más sensibles y fáciles de usar.

El objetivo de estos consejos es facilitarte la vida como desarrollador low-code y garantizar que tus usuarios disfruten de una experiencia fluida. Así que adelante, pruebe estos flujos y vea cómo pueden hacer que sus agentes sean más inteligentes y su flujo de trabajo más limpio. Diviértete experimentando con AI Studio, y asegúrate de hacernos saber lo que estás construyendo. Póngase en contacto con nosotros en nuestra Slack de la comunidad de desarrolladores o en X, antes conocido como Twitter.

Compartir:

https://a.storyblok.com/f/270183/384x384/e4e7d1452e/benjamin-aronov.png
Benjamin AronovDefensor del Desarrollador

Benjamin Aronov es desarrollador de Vonage. Es un constructor de comunidades con experiencia en Ruby on Rails. Benjamin disfruta de las playas de Tel Aviv, a la que llama hogar. Su base en Tel Aviv le permite conocer y aprender de algunos de los mejores fundadores de startups del mundo. Fuera de la tecnología, a Benjamin le encanta viajar por el mundo en busca del perfecto pain au chocolat.