
Al utilizar LangChain, los programadores han podido combinar imágenes de ultrasonido para cosas como el diagnóstico de cáncer de mama con un mensaje de lenguaje natural estilo ChatGPT. Instituto Avanzado de Ciencia y Tecnología de Corea
El movimiento de IA generativa de OpenAI ChatGPT y es derivados es quizás mejor conocido por sus malas letras de rap y asistencia de programación automatizada. Pero un nuevo marco de código abierto que se basa en grandes modelos de lenguaje está aportando un enfoque más práctico a GenAI.
LangChain, de poco más de un año, es lo que podría considerarse una suave introducción a la programación de agentes de IA a través de un conjunto muy simple de bibliotecas montadas sobre modelos GenAI. La tecnología cuenta con el respaldo de una startup respaldada por empresas del mismo nombre, que ofrece una plataforma de servidor para la implementación comercial de aplicaciones construidas con LangChain.
También: La IA generativa es el deleite de los desarrolladores. Ahora, busquemos otros casos de uso.
El quid de LangChain es que combina un gran modelo de lenguaje con varios recursos externos. De esta manera, puede tomar datos de una base de datos, por ejemplo, y pasar la salida del modelo de lenguaje a una aplicación, obtener la salida de esa aplicación y pasarla de regreso al modelo de lenguaje, y así sucesivamente.
Por lo tanto, el marco permite encadenar recursos, donde cada recurso se convierte en una especie de agente, manejando una parte del problema dentro del contexto del modelo de lenguaje y el mensaje.
Ya existen ejemplos intrigantes de usos prácticos de diferentes disciplinas.
Por ejemplo, utilizando LangChain, los programadores han podido combinar imágenes de ultrasonido para cosas como el diagnóstico del cáncer de mama. con un mensaje en lenguaje natural estilo ChatGPT. Un radiólogo puede invocar la computadora como asistente analítico con una frase como «Por favor, deme un resumen de las observaciones dadas dependiendo de la posición de la sonda» en una imagen de ultrasonido mamario.
Un aspecto interesante del programa, creado por Jaeyoung Huh y colegas de la Instituto Avanzado de Ciencia y Tecnología de Coreaes que reúne tres redes neuronales diferentes de una variedad ampliamente utilizada, ResNet-50, que es la red neuronal de visión clásica que sobresale en la clasificación de imágenes.
Cada una de las tres redes neuronales se entrena por separado para realizar una tarea, como identificar una forma sospechosa en una imagen de ultrasonido, clasificar esa forma y seleccionar la ubicación de la forma en el cuerpo.
El propósito de LangChain es envolver estas tres redes dentro de comandos de lenguaje natural, como «dame una información de prueba para la imagen dada» y luego «dame un resumen de las observaciones dadas».
También: El CEO de Pinecone busca darle a la IA algo parecido al conocimiento
Entonces, en el nivel más simple, LangChain puede ser una forma de crear una interfaz fácil de usar para la IA, el tipo con el que soñaron durante mucho tiempo los especialistas en campos como la IA médica que buscaban crear un asistente médico que respondiera a comandos hablados. .
Un objetivo de algunos esfuerzos de LangChain es tratar de eliminar las infames alucinaciones de GenAI (la propensión de los programas a afirmar con seguridad información falsa) basando la tecnología en fuentes externas autorizadas. Un grupo de la consultora Accenture, dirigido por Sohini Roychowdhury, describe un sistema para hacer predicciones financieras a través de un «chatbot de finanzas».
El sistema toma celdas de una hoja de cálculo y las convierte en declaraciones en lenguaje natural sobre los datos, que luego se pueden buscar para encontrar una oración que coincida con una pregunta.
Así es como funciona: un usuario activa el modelo de lenguaje con una pregunta en lenguaje natural como «¿Cómo van mis ventas?» El mensaje se introduce en una plantilla que genera un mensaje más preciso para el modelo de lenguaje. Ese mensaje podría incluir más palabras interrogativas detalladas de las que una persona pensaría, para producir un mejor mensaje.
El mensaje mejorado activa una búsqueda de palabras clave, y esa búsqueda selecciona cuál de las oraciones (construidas a partir de datos tabulares) apunta a los datos más relevantes de la tabla (por ejemplo, ventas, ganancias).
Una vez que se recuperan los datos relevantes, un segundo conjunto de plantillas ayuda al chatbot a formular una respuesta a la consulta utilizando las oraciones de los datos tabulares en una respuesta de chat.
Roychowdhury y su equipo no logran eliminar las alucinaciones. En cambio, diseñaron un mecanismo de puntuación de «confianza» mediante el cual el chatbot compara sus respuestas con la pregunta, ve qué tan bien coinciden y luego asigna una puntuación de confianza alta, media o baja a su respuesta.
«La puntuación de confianza le dice al usuario que sea cauteloso al tomar decisiones clave utilizando respuestas de confianza media a baja», explica Roychowdhury. «La puntuación de confianza ayuda además a determinar qué consultas de los usuarios deben refinarse aún más para lograr confiabilidad».
Los programadores están descubriendo que LangChain puede ser una forma de automatizar algunas tareas extremadamente mundanas. Un ejemplo es comprobar el uso web de los empleados para asegurarse de que no estén navegando por sitios web ilícitos. Un documento que describe una «política de uso aceptable» para una corporación se carga en lo que se llama una base de datos vectorial, un tipo especial de base de datos que puede comparar cadenas de texto de, por ejemplo, una URL con una colección de cadenas de texto en un documento para ver si hay un partido.
Cuando una persona escribe una URL en un navegador, tanto la URL del sitio como el resumen del contenido del sitio se pueden comparar automáticamente con el documento de política en la base de datos vectorial para ver si el contenido del sitio coincide con algún tema prohibido. El programador puede automatizar la comparación con un simple mensaje de texto que pregunta: «¿Hay algo en este sitio que coincida con elementos prohibidos?»
También: Tomé este curso gratuito de IA para desarrolladores en un fin de semana y lo recomiendo ampliamente
Un ejemplo así deja claro que los grandes modelos lingüísticos y LangChain están yendo más allá de las consultas individuales. Se están convirtiendo en una forma para que los programadores utilicen comandos de lenguaje natural para integrar las diversas herramientas a su disposición para funciones que se encuentran detrás de escena.
LangChain no es el único marco para compilar flujos de trabajo que tienen calidad de agente, y se están creando más marcos de este tipo, incluido el de Microsoft. Núcleo semántico y el código abierto LlamaIndexque se basa en LangChain.
Un grupo de académicos de Stanford, UC Berkeley y Carnegie Mellon, junto con colaboradores de la industria privada, en octubre presentó lo que llaman DSPy, que es un enfoque de programación que reemplaza indicaciones en lenguaje natural codificadas a mano con descripciones funcionales y, a su vez, puede generar indicaciones automáticamente. Las descripciones funcionales pueden ser muy amplias, como «consumir preguntas y devolver respuestas». DSPy presenta un compilador para optimizar el flujo de modelos de lenguaje y herramientas de soporte.
El esfuerzo de DSPy es análogo, señalan los autores, a los marcos de aprendizaje profundo que tienen redes neuronales avanzadas a través de capas de abstracción, incluidos Torch y Theano.
También: Ocho formas en que la IA y el 5G están superando juntos los límites de la innovación
Los autores afirman que se han producido mejoras espectaculares en la calidad respecto a que una persona elabore manualmente un mensaje en cada caso. «Sin indicaciones hechas a mano y en cuestión de minutos o decenas de minutos después de la compilación, las composiciones de módulos DSPy pueden elevar la calidad de programas simples del 33% al 82%», escriben.
Estamos en los primeros días del juego del marco GenAI, y puedes esperar muchas más capas de abstracción encima, debajo y alrededor de LangChain durante el próximo año.