
Compartir:
Karl es un defensor de los desarrolladores para Vonage, centrado en el mantenimiento de nuestros SDK de servidor Ruby y la mejora de la experiencia de los desarrolladores para nuestra comunidad. Le encanta aprender, hacer cosas, compartir conocimientos y, en general, todo lo relacionado con la tecnología web.
Elige tu propia aventura con Vonage AI Studio
Tiempo de lectura: 12 minutos
Vonage AI Studio es una plataforma sin código/de bajo código para crear flujos conversacionales a través de varios canales de comunicación. Utiliza una interfaz de arrastrar y soltar para conectar módulos y acciones en flujos complejos que pueden automatizar procesos y conectarse a muchos servicios diferentes. Los flujos conversacionales de AI Studio se basan en los algoritmos de comprensión del lenguaje natural (NLU) patentados de Vonage AI para permitir interacciones conversacionales en las que los usuarios pueden comunicarse en "lenguaje natural" sin tener que usar determinadas palabras clave, elegir de una lista de opciones o formular sus preguntas de una manera específica.
AI Studio lleva un tiempo disponible en la versión preliminar para desarrolladores. Recientemente ha pasado a estar disponible para su uso general, lo cual es muy emocionante, por lo que quería destacar este hecho escribiendo sobre algunas de sus capacidades. Podría haberlo hecho de varias maneras, por ejemplo creando un flujo de servicio al cliente "del mundo real". Para este artículo, sin embargo, quería probar algo un poco diferente y explorar algunas de las características de AI Studio de una manera divertida e interesante.
Cuando era más joven, me encantaba leer libros de "elige tu propia aventura". Estos libros, en lugar de seguir una estructura narrativa lineal, te permitían tomar decisiones en determinados momentos de la historia y pasar a la página adecuada del libro en función de tu decisión. Pensé que sería genial crear mi propia historia de "elige tu propia aventura" con AI Studio.
'The Warlock of Firetop Mountain' book cover
Agentes
En la interfaz de AI Studio, cada flujo de conversación se crea como un "agente". Hay diferentes tipos de agentes disponibles en función de los casos de uso, como Voice, SMS, WhatsApp y HTTP.
AI Studio screenshot: Agent Creation
Para mi historia de "elige tu propia aventura", decidí crear un agente de Voice. Los agentes Voice de AI Studio combinan el reconocimiento de voz automatizado (ASR) propiedad de Vonage con sus capacidades NLU para ofrecer interacciones de voz naturalistas.
Cuando se crea un agente por primera vez, hay que configurar varios parámetros, como el nombre del agente, el país, el idioma y la zona horaria.
En el caso de los agentes de Voice, también es necesario elegir la voz con la que "hablará" el agente, utilizando las funciones de conversión de texto a voz de AI Studio. Aunque al crear los distintos elementos de tu flujo conversacional también existe la opción de utilizar grabaciones de audio.
AI Studio screenshot: Agent Set up
Más información Agentes.
Flujos
Los flujos son combinaciones de diferentes nodos de conversación conectados entre sí en el lienzo de arrastrar y soltar de AI Studio.
AI Studio screenshot: Intro flow
Puede colocar todos los nodos de su flujo completo en el mismo lienzo. Sin embargo, para flujos grandes y complejos, puede ser más manejable dividirlos en subflujos. Este es el enfoque que adopté para mi historia, que consta de cuatro partes principales. Hay un flujo principal que prepara el escenario de la aventura. Al final de este flujo, la historia llega a una "bifurcación en el camino" y el aventurero tiene que elegir qué camino tomar. Aquí es donde he creado un par de subflujos, en los que la bifurcación conduce a un Flujo Fluvial o a un Flujo Forestal. Estos dos subflujos convergen de nuevo para la parte final de la aventura en el Flujo del Castillo.
AI Studio screenshot: sub-flows
Los subflujos se crean y gestionan en la pestaña Flujos del menú AI Studio.
AI Studio screenshot: Flows tab of the menu
En un escenario real, podría crear subflujos para diferentes funciones empresariales a las que un cliente podría querer acceder, como ventas, soporte, facturación, etc.
Más información Flujos.
Nodos de conversación
Como se ha mencionado anteriormente, los Flujos son combinaciones de diferentes Nodos de conversación conectados entre sí. Existen diferentes tipos de nodos de conversación, cada uno de los cuales cumple un propósito específico dentro del flujo general de la conversación. Veamos algunos de ellos.
AI Studio screenshot: Conversation Nodes tab
Nodo de inicio
Todas las historias tienen un principio, y todos los flujos de conversación en AI Studio necesitan un Nodo de Inicio. Además de actuar como punto de partida de tu flujo, los Nodos de inicio te permiten establecer ciertas opciones para el flujo general. Las opciones exactas que puedes elegir aquí dependerán del tipo de flujo. Para un flujo de Llamada de Voz, puedes elegir grabar la llamada, y también configurar un webhook que responda a un evento de desconexión de llamada. Ninguno de estos es necesario para mi historia de aventura, así que he utilizado el nodo puramente como punto de partida.
AI Studio screenshot: Start Node setup
Nodo Speak
El objetivo del Nodo Hablar es proporcionar información a la persona que llama. Al configurar el Nodo, tienes la opción de introducir texto, que se leerá con la voz que hayas configurado utilizando las funciones de conversión de texto a voz de AI Studio, o grabar voz real.
Dado que mi "flujo de aventuras" se centra principalmente en contar una historia emocionante, he recurrido mucho a este nodo en varios momentos del flujo para ambientar la escena y describir diversas partes de la narración.
AI Studio screenshot: Speak Node
Más información sobre el Nodo Speak.
Recoger Nodo de Entrada
Este es uno de los tipos más importantes de nodos disponibles para construir un flujo conversacional. Los flujos conversacionales de AI Studio son esencialmente interacciones entre dos partes: el usuario y el agente de IA. En cualquier interacción, ambas partes tienen que ser capaces de contribuir, y aquí es donde entra en juego el nodo Collect Input.
Este nodo permite crear un parámetro y recoger información del usuario para establecer el valor del parámetro. Se establece un nombre de parámetro y una pregunta, que es esencialmente una pregunta o declaración para obtener una respuesta del usuario. También puede permitir un número determinado de reintentos para responder a la pregunta y tener la opción de utilizar un indicador de reintento específico.
En mi historia, utilicé este nodo número de lugares en los que el protagonista tiene que tomar ciertas decisiones, como si acepta la búsqueda, qué bifurcación del camino tomar, si explora o no un edificio abandonado, etc. Hay muchos escenarios en el mundo real en los que puedes querer o necesitar recabar información de un usuario, desde preguntarle por qué se pone en contacto con tu empresa hasta obtener información específica como un pedido, un número de cuenta o algunos datos de contacto.
AI Studio screenshot: Collect Input Node
Más información sobre el nodo Nodo de recogida de datos.
Cuando recoges información como parte de un flujo de conversación que representa algún tipo de elección del usuario, generalmente es porque quieres dirigir el flujo de una manera particular en respuesta a esa elección. La forma en que un agente de AI Studio evalúa y responde a la entrada del usuario se determina utilizando nodos de Condiciones o nodos de Clasificación, y es donde ocurre gran parte de la "magia" de AI Studio. La entrada del usuario se establece como un parámetro, que luego se utiliza en el contexto de los nodos Condiciones y Clasificación.
Nodo de clasificación
El nodo Clasificación es una forma de determinar qué hacer en respuesta a alguna entrada del usuario. En su flujo, generalmente seguirá a un nodo Collect Input. Los nodos de clasificación son impresionantes para el flujo de conversación natural porque en lugar de limitar las opciones del usuario a un conjunto muy específico de valores (piense en IVRs con opciones como "Diga '1' para Ventas, '2' para Soporte....", etc.), permiten al usuario hablar de forma natural, como decir "soporte", "atención al cliente", "el departamento de atención al cliente" o incluso "necesito ayuda". El trabajo del nodo de clasificación consiste en averiguar qué hacer en función de lo que diga el usuario. Para ello utiliza intents.
Intentos
Una forma de concebir las intenciones es como una expectativa general de lo que un usuario podría decir en respuesta a una determinada pregunta o situación. Cada intención abarca un caso de uso o una acción concretos y se compone de múltiples expresiones de usuario o cosas que un usuario podría decir para sugerir esta acción o caso de uso.
En mi historia de aventuras, utilicé mucho los nodos de Clasificación y las Intenciones para los distintos puntos de decisión que se producen durante la narración. Por ejemplo, el aventurero tiene que decidir si explora un edificio abandonado. Dentro del nodo de Clasificación para esta decisión, utilizo un par de intenciones: una para investigar la vivienda y otra para permanecer en el camino.
AI Studio screenshot: Classification Node
Este nodo contiene las diferentes intenciones que cubren las posibles respuestas del usuario a la situación, y cada intención contiene varias expresiones que pueden sugerir esa intención.
AI Studio screenshot: Intent setup
Más información Nodos de clasificación y Intentos.
Condiciones Nodo
Los nodos de condiciones son similares a los nodos de clasificación en cuanto a su propósito -determinan un curso de acción basado en la entrada del usuario- pero utilizan un mecanismo subyacente diferente para hacerlo: Entidades.
Entidades
Una entidad es esencialmente una lista de valores y sus sinónimos. Son útiles para situaciones en las que un usuario tiene que elegir algo de un grupo de cosas específicas, pero posiblemente haya palabras diferentes para cada cosa. Por ejemplo, si alguien indica su talla de camiseta, puede decir "grande" o "grande" para referirse a lo mismo, o "extragrande" y "XL" son sinónimos.
Para el flujo de mi aventura, utilicé sobre todo nodos de Clasificación e Intenciones en lugar de nodos de Condiciones y Entidades, ya que las situaciones en las que se encuentra mi aventurero son más abiertas y están mejor servidas por las Intenciones. Sin embargo, utilicé nodos de Condiciones en un par de lugares en los que tenía sentido usarlos. Uno de ellos fue para determinar qué opciones había para atacar al dragón.
AI Studio screenshot: Conditions Node
La lógica de este nodo se basa en condiciones determinadas por el valor de ciertos parámetros de los objetos que el usuario ha recogido durante la aventura.
AI Studio screenshot: Conditions Node setup
AI Studio screenshot: Entity
Más información Condiciones nodos y Entidades.
Otros tipos de nodos
Los nodos Hablar, Recopilar información, Condiciones y Clasificación son los "personajes principales" de los flujos conversacionales de AI Studio, y la mayoría de los flujos se construirán principalmente utilizando estos cuatro tipos de nodos. Sin embargo, hay situaciones en las que se puede necesitar alguna funcionalidad adicional que estos nodos no pueden proporcionar. Afortunadamente, AI Studio ofrece un sólido elenco de nodos más especializados. He utilizado algunos de ellos en mi flujo, así que vamos a verlos.
Establecer parámetro Nodo
Ya nos hemos encontrado brevemente con parámetros en el contexto de los nodos Collect Input. En esos nodos, el valor del parámetro se establecía de acuerdo con alguna entrada del usuario. Hay situaciones, sin embargo, en las que es posible que desee establecer un valor específico en un parámetro en su lugar.
En el flujo de mi aventura, hay situaciones en las que el protagonista puede recoger objetos que le ayuden en su búsqueda. Para estas situaciones, utilicé el nodo Set Parameter para registrar el hecho de que el objeto había sido recogido.
AI Studio screenshot: Set Parameter Node
Más información sobre Establecer nodos de parámetros.
Enviar SMS Nodo
El nodo SMS se utiliza para enviar un mensaje SMS a un usuario. Es necesario proporcionarle un número (incluido el prefijo del país) y un mensaje para enviar.
En un contexto real, puede ser útil para hacer cosas como enviar enlaces a páginas de ayuda o documentación en respuesta a determinadas consultas.
En mi historia, utilicé este nodo en un punto en el que el aventurero necesita una contraseña secreta para entrar en el castillo. La contraseña se envía por SMS y el aventurero debe introducirla para abrir las puertas del castillo.
AI Studio screenshot: Send SMS Node
También hay un nodo Enviar correo electrónico, que tiene un propósito similar.
Más información sobre el nodo Nodo de envío de SMS y Enviar correo electrónico.
Nodo de código personalizado
AI Studio es principalmente una solución sin código, que permite a cualquiera configurar flujos de conversación potentes y completos sin conocimientos de programación, utilizando la intuitiva interfaz de arrastrar y soltar. Sin embargo, hay ciertas situaciones en las que puedes querer establecer o manipular el valor de un parámetro basándote en una lógica específica y personalizada. Aquí es donde entra en juego el nodo de Código Personalizado.
El nodo de Código Personalizado le permite utilizar código JavaScript para producir un valor particular, que luego se establece como valor de un Parámetro de Salida que puede ser utilizado en cualquier otra parte de su flujo.
Utilicé el nodo Custom Code en un par de lugares de mi aventura. En uno de ellos quería eliminar los ceros a la izquierda (si estaban presentes) del número de móvil y del código de país proporcionados por el usuario, y luego combinarlos en un único valor y asignarlo a un parámetro de salida, que luego podría utilizar en el nodo Enviar SMS para enviar la contraseña secreta.
AI Studio screenshot: Custom Code Node
Otro uso del nodo Custom Code en mi flujo fue imitar una tirada de dados durante una batalla con el dragón.
AI Studio screenshot: Custom Code Node
Existen muchos otros usos potenciales para el nodo Código personalizado.
Más información sobre el nodo Nodo de código personalizado.
Nodo de cambio de contexto
El nodo Context Switch hace exactamente lo que su nombre indica: cambia el contexto actual a otro completamente distinto. Un caso de uso real podría ser cuando un cliente está pasando por un flujo automatizado para realizar el seguimiento de un pedido, o tal vez actualizar algunos detalles de su cuenta, pero en cualquier punto de estos flujos estructurados puede decir "Quiero hablar con alguien" y el flujo puede ser interrumpido y la llamada del cliente enrutada a través de un agente.
Al igual que el nodo de Clasificación, el nodo de Cambio de Contexto funciona en base a Intentos.
En mi flujo, imaginé una situación en la que viajar a través de bosques aterradores, explorar edificios abandonados o luchar contra dragones podría resultar un poco abrumador, así que en cualquier momento, el aventurero puede elegir huir de vuelta a la seguridad de la aldea.
AI Studio screenshot: Context Switch Node
Más información sobre el nodo Nodo de cambio de contexto.
Nodo de fin de llamada
Todas las historias, y las llamadas, deben llegar a su fin en algún momento. El propósito del nodo de Fin de Llamada es terminar la llamada. Para un flujo de Llamada de Voz, necesitará colocar un nodo de Fin de Llamada al final de cada "rama" de su flujo.
Más información sobre el nodo Nodo de fin de llamada.
¿Quieres vivir una aventura en la que puedas pasear por bosques encantados, encontrarte con hadas y luchar contra dragones? Entonces prueba mi flujo de voz AI Studio llamando a uno de los siguientes Numbers:
REINO UNIDO: +44 (0)7418 371898
EE.UU: +1 (0)201 464 3585
AUS: +61 (0)485828854
Diviértase y buena suerte en su aventura.
Quizás quieras crear tu propio flujo de conversación con Vonage AI Studio. ¡Es muy fácil comenzar! Ingresa a Panel de Vonage y accede a AI Studio.
También hay varios nodos e integraciones que no utilicé en mi flujo, por lo que no los he tratado en este artículo. Para obtener más información sobre ellos y sobre el uso de AI Studio en general, consulta la documentación de documentación de AI Studio.
La participación de la comunidad es siempre bienvenida. No dudes en unirte a nosotros en el Slack de la comunidad de Vonage o envíanos un mensaje en Twitter.
Compartir:
Karl es un defensor de los desarrolladores para Vonage, centrado en el mantenimiento de nuestros SDK de servidor Ruby y la mejora de la experiencia de los desarrolladores para nuestra comunidad. Le encanta aprender, hacer cosas, compartir conocimientos y, en general, todo lo relacionado con la tecnología web.