ChatGPT: Una nueva era en el desarrollo de asistentes virtuales.

Haciendo un Asistente Virtual en la Era post ChatGPT

ALEXANDER DITZEND
ARTIFICIAL INTELLIGENCE SPECIALIST

Haciendo un Asistente Virtual en la Era post ChatGPT.

Se abrió una nueva era en el desarrollo de ChatBots. Todo lo que sabemos hacer al respecto ahora parece prehistórico.

Los grandes modelos de lenguaje (LLMs, por sus siglas en inglés) vienen superándose a sí mismos desde hace varios años. La idea detrás de estos modelos es aprovechar toda la data disponible en formato digital y público para alimentar un solo modelo generalista.

El camino recorrido por los asistentes virtuales tiene tres fases evidentes. De acuerdo a las tecnologías de base utilizadas podemos clasificarlas en generaciones:

  • Primera Generación: Marcada por la interpretación de lenguaje mediante botones, opciones de letras o números o palabras clave. Sin presencia alguna de machine learning.

  • Segunda Generación: Caracterizada por la creación de modelos de lenguaje compuestos por intenciones y entidades, que son una forma de modelar lo que un usuario necesita. Por ejemplo “quiero obtener un préstamo para comprarme una tele” se modelaría con la intención «Solicitar_Producto» y la entidad «PRODUCTO=PRESTAMO_PERSONAL».

  • Tercera Generación: Basados en los grandes modelos de lenguaje (LLMs, por sus siglas en inglés).

Gracias al constante aumento de la capacidad de cómputo, estos modelos pudieron trazar relaciones cada vez más complejas entre conceptos sin que una persona tenga que enseñárselas.

Pero el público general entró en contacto con esta tecnología a partir del 30 de noviembre de 2022 cuando ChatGPT salió a la luz gratis, alcanzando el millón de usuarios en cinco días. Algo que a Netflix le costó tres años y medio.

Salvo algunas tareas específicas, los LLMs no han logrado modificar la estructura general de un asistente virtual en los últimos años. Todas las conversaciones eran modeladas con reglas, intenciones, forms, slots y entidades. Luego de mucho trabajo lográbamos un asistente virtual útil dentro del campo de uso para el que fue diseñado. También se requería mucho esfuerzo de mantenimiento diario analizando conversaciones para agregar ejemplos de lenguaje al modelo o diseñar flujos nuevos.

En un proyecto de tercera generación todo ese trabajo se reduce fenomenalmente permitiendo una salida al mercado mucho más rápida.

Para sacar el máximo provecho de estos nuevos modelos hay que desarrollar una nueva capacidad dentro de los equipos de desarrollo de asistentes virtuales vinculada a la optimización del comando que le vamos a enviar al modelo. Una sola palabra en la dirección correcta puede modificar drásticamente la respuesta obtenida, ahorrando mucho dinero en proyectos de gran envergadura. Tan importante es esta tarea que tiene nombre propio: Prompt Engineering. Y podría tranquilamente convertirse en una de las habilidades más buscadas de los próximos años.

Pero tener el equipo más avanzado de prompt engineers para clasificar si un usuario quiere adquirir un préstamo o saber dónde está la sucursal más cercana es equivalente a usar un camión de bomberos para regar una maceta.

Y entonces, ¿cómo lo usamos?

El primer paso es entender que un modelo de lenguaje de segunda generación no tiene casi nada que ver con un LLM. Estos son algunos de los aspectos clave que tenemos que entender para sacar el máximo provecho:

  • Un LLM se consume por API. Es inviable tenerlo corriendo en un servidor propio. Hay que prestar atención entonces a no sacar de nuestro entorno seguro datos sensibles de nuestros usuarios o que viajen por un túnel encriptado.

  • Todos los LLMs están entrenados en varios idiomas. Armar modelos para cada idioma ya no es necesario. Además podemos pedirles que hablen como los habitantes de un lugar específico. Incluso el usuario puede usar varios idiomas durante la misma sesión.

  • Los LLMs tienen cierto poder de razonamiento. Sin necesidad de código podemos indicarles que usen herramientas como búsqueda online o en una base de conocimientos. También podemos procesar textos largos que mezclen varias intenciones.

  • La mayoría son generativos. Con el debido cuidado los podemos usar para inventar palabras nuevas, nombres de marcas, poesías o cualquier pieza de texto que necesitemos.

  • Pueden resumir textos extensos. Esto significa que podemos hacerles preguntas sobre un conjunto de libros y el modelo comenzará a buscar en el resumen del resumen del resumen la respuesta correcta. Algo exponencialmente más rápido que iterar letra por letra hasta encontrar una similitud.

  • Consumen gran cantidad de recursos de cómputo y cuando hay picos de uso los servicios que proveen el acceso a estos modelos se caen. A veces por varias horas.

En Yoizen tuvimos que enfrentar todos estos desafíos para poder darle acceso a todo el potencial de los grandes modelos de lenguaje a nuestros clientes con cuatro líneas clave:

  • Seguridad: Generamos una capa de control que filtra mensajes de usuarios maliciosos que podrían engañar al modelo para hacer que emita un mensaje nocivo para nuestro cliente. Además creamos una “jaula” dentro de la cual el modelo solo puede generar respuestas autorizadas por los equipos de marketing y comunicación, ajustándose a los mismos estándares que un agente humano.

  • Veracidad: Desarrollamos servicios para lograr que los modelos solo contesten a partir de una base de conocimientos. O sea que las respuestas que emite el asistente provengan de documentación o bases de datos del cliente y no de el conocimiento con el que fue entrenado el modelo, que puede estar muy desactualizado o en algunos casos completamente incorrecto.

  • Branding: Es importante que el asistente mantenga la personalidad de la marca usando los modismos, el tono discursivo y hasta la cantidad de emojis para generar una experiencia homogénea en todos los canales.

  • Robustez: Diseñamos una arquitectura en cascada que llama a un modelo suplente cuando el principal tiene problemas técnicos para no demorar la respuesta al usuario.


Con estas ideas en mente podemos pensar soluciones nuevas con muy poco esfuerzo de desarrollo comparado con la generación anterior.

Memoria y contexto

Ahora podemos pedirle al modelo que interprete el significado de un mensaje del usuario dentro del contexto de la conversación, recordando todo lo que se dijo antes. Este era un desafío casi imposible de modelar en la era previa.

Frases que hacen referencia a un elemento previo de la conversación como:

  • “¿y para cuando va a estar listo?”
  • “¿y el más grande de todos cuánto me saldría?”
  • “me gustaba más el anterior”
  • son ahora atacables mediante «prompt engineering», o sea, diseñando con astucia cómo le vamos a plantear el problema al LLM.

Búsqueda por significado

Más conocida como búsqueda semántica, se caracteriza por extraer el significado de un mensaje y acceder a una base de significados. En ningún momento utiliza identificadores, índices o palabras. Esto es posible gracias a modelos que convierten una frase en una serie de números llamada vector. Y si podemos convertir un mensaje de un usuario en un vector también podemos convertir toda una página web en una serie de vectores para guardarlos en una base de datos vectorial. Un LLM toma el vector del mensaje entrante, lo usa para bucear dentro de la base de vectores y cuando obtiene aquellos vectores relevantes para formular una respuesta utiliza todo su entrenamiento en lenguaje natural para armar una respuesta que usa palabras propias, distintas a las que había originalmente en la página web, como si fuera una persona.

Siempre que hacemos una búsqueda en una página web, en un documento o en un archivo pensamos en que coincidan las palabras que buscamos con las que están presentes en el texto. Gracias a los nuevos modelos de lenguaje las palabras que usa el usuario se convierten en un significado, esto implica que todos los usuarios de diferentes nacionalidades buscando lo mismo pueden usar sus propias palabras y el resultado va a ser el mismo, sin que nadie de nuestro equipo de mantenimiento tenga que estar agregando sinónimos y lugarismos todos los días. Los sinónimos y lugarismos ya están dentro de los modelos, de ahí reciben el nombre de grandes modelos de lenguaje.

Estamos frente a un cambio de gran magnitud en la forma en que los humanos nos comunicamos con las computadoras. En los próximos meses vamos a poder tener conversaciones con asistentes de manera totalmente natural, usando nuestra voz, fotos, videos y documentos y vamos a recibir exactamente la respuesta que necesitamos, sin la fricción o espera a la que estamos acostumbrados hoy, liberando tiempo para aspectos más interesantes de nuestras vidas. La misión de Yoizen es cocrear ese futuro junto a sus clientes.

PS: Partes de este artículo fueron escritos con la ayuda de GPT-4

Un ejemplo:

Alexander

GPT-4

¿Ya comenzaron a explorar el uso de Chatgpt en tu empresa? ¿Quieres saber más sobre el potencial de esta tecnología para tu negocio? ¡Hablemos!

Tags:

Suscríbete
a nuestro blog

Recibe todas nuestras novedades
en tu email.

Suscríbete
a nuestro blog

Recibe todas nuestras novedades
en tu email.

Compartir artículo

yBot