Aplicación de modelos de lenguaje grande
OpenAI ChatGPT ha conquistado el mundo. La tasa inaudita de adopción por parte de los usuarios ha sido igualada por una experimentación sin precedentes con su API por parte de la comunidad de desarrolladores. No pasa un solo día sin que se publiquen en blogs o se tuiteen no uno o dos, sino múltiples PoC. Estos son luego mejorados por otro grupo de desarrolladores que alimentan el frenesí tecnológico.
El desarrollo de nuevos modelos de lenguaje grande (LLM) también se ha acelerado mucho. Los modelos más nuevos están siendo anunciados por empresas o se están haciendo de código abierto. Muchos proyectos de código abierto han estado disponibles o lanzados para resolver varias facetas de la declaración del problema, desde el entrenamiento de modelos personalizados hasta el ajuste fino, corpus de datos, etc.
Al mismo tiempo, la comunidad de desarrolladores ha estado trabajando rápidamente para publicar marcos que facilitarían la operación con LLM. Los marcos como LangChain y Llama Index proporcionan código repetitivo y marcos que resuelven muchos casos generales y específicos. Además, uno puede usarlos para construir sus propios casos de uso complejos.
Por lo tanto, vemos que todo el panorama está evolucionando a un ritmo extremadamente rápido. De hecho, los marcos como LangChain brindan una versión menor cada dos días.
Aplicación de OpenAI
Los enormes datos de capacitación de OpenAI LLM les dan acceso a un corpus de conocimiento extremadamente grande. Esto los hace inherentemente ideales para trabajar en casos de uso basados en contenido.
Algunos casos de uso donde ya se han aplicado son:
- resumen
- enriquecimiento de contenido
- Creación de título
- reformulando
- Crear múltiples formatos como formato corto, tweets, puntos de presentación, etc.
En los casos anteriores, las capacidades lingüísticas del LLM se utilizaron para resolver o ayudar en el trabajo relacionado con el contenido.
Otros casos de uso donde se utiliza el conocimiento inherente del LLM son:
- Generación de contenido de cuestionarios
- Encuestas o Cuestionario de Encuesta.
Pasar un contexto de entrada y responder preguntas sobre el mismo es una tarea en la que los LLM son bastante expertos. Esta capacidad se utiliza para muchos contenidos, como obtener respuestas a consultas en artículos de formato largo o documentos PDF.
La solución general consiste en crear un aviso en el siguiente formato general:
Contexto:
El valle de Ziro en Arunachal Pradesh es el hogar de la tribu Apatani y es conocido por sus vistas perfectas del valle. Ziro está aproximadamente a 167 km de la capital, Itanagar, y el viaje hasta allí es uno de los más pintorescos que experimentará en Arunachal Pradesh. El valle está rodeado de exuberantes bosques verdes y granjas en terrazas que se ven impresionantes en cualquier época del año. Mirando los mansos arroyos gorgoteando al costado del camino, obtienes una sensación de paz en Ziro. No es de extrañar, el valle es uno de los lugares más visitados de Arunachal Pradesh.
Este entorno idílico del Valle de Ziro es una de las principales razones por las que se celebra aquí el Festival de Música de Ziro anual, justo en los verdes prados. El lugar del festival es uno de los lugares más bellos de la India. Los amantes de la música de toda la India y el mundo vienen aquí por el festival y el gran ambiente.
Instrucciones rápidas: responda la siguiente pregunta en 100 palabras del contexto proporcionado arriba
Pregunta: ¿A qué distancia está Ziro de la capital?
Respuesta:
El LLM proporciona la respuesta a la consulta desde el contexto proporcionado. Uno necesita jugar con la configuración del aviso para obtener el resultado deseado.
Este enfoque general abre el mundo para responder a las consultas de los usuarios en función de un corpus de contenido. Por ejemplo, un corpus creado de noticias y artículos sobre el presupuesto se puede utilizar para responder simplemente a las consultas que puedan tener los lectores. Esto hace un cortocircuito en el modelo tradicional del usuario que proporciona una cadena de búsqueda y luego se muestran un montón de enlaces de artículos, que el usuario debe leer para obtener la respuesta que desea. Esto proporciona una experiencia de usuario mucho mejor y les ahorra mucho tiempo.
El enfoque gira en torno a proporcionar el contexto adecuado al LLM para que pueda responder a la consulta. Por lo tanto, el problema ahora es cómo identificar el conjunto correcto de fragmentos del corpus que son relevantes para la consulta, ya que la aplicación LLM tiene limitaciones en la cantidad de información que se puede enviar.
Esto es principalmente un problema de búsqueda ahora. El contenido se puede dividir en fragmentos e indexar. Se puede usar una base de datos de vectores como Pinecone o Milvus para hacerlo. El contenido se vectoriza y almacena en la base de datos. Cuando el usuario haga una pregunta, simplemente vectorice la consulta y realice una búsqueda de similitud para obtener los fragmentos relevantes.
Búsqueda de texto libre más inteligente
La búsqueda de texto libre es más fácil desde una perspectiva de UX en comparación con la búsqueda tradicional basada en filtros. Sin embargo, implica desarrollar una lógica de análisis compleja para identificar los filtros de búsqueda de la entrada de texto proporcionada por el usuario. Por lo tanto, es propenso a errores o a un pequeño conjunto de formatos de entrada de texto fijos.
La capacidad lingüística de LLM se puede aprovechar aquí para analizar el texto de búsqueda e identificar los parámetros de búsqueda.
La solución general consiste en crear un aviso en el siguiente formato general:
Instrucciones rápidas: analice la consulta de entrada proporcionada en el siguiente formato JSON”
Formato JSON:
{“lugar”: “Lugar que uno está visitando. Obligatorio”, “checkInDate”: ”La fecha de entrada para la reserva. Obligatorio. Formato dd/mm/yyyy”, “checkOutDate”: “La fecha de salida para la reserva. Obligatorio. CheckIn predeterminado más 2 días. Formato dd/mm/yyyy”, “minimumRating”: “Calificación mínima requerida para el hotel. Optional”, “maximumPricePerNight”: “Precio máximo por noche que se está dispuesto a pagar. Opcional" }
Ejemplos:
Pregunta: Busco habitaciones del 23 al 28 de julio en Shimla con una calificación de 4 o más.
Respuesta: {“lugar”: “Shimla”, “fecha de entrada”: ”23/07/2023”, “fecha de salida”: “28/07/2023”, “valoración mínima”: “4”}
Pregunta: Busco habitaciones a partir del 15 de agosto para 3 días en Darjeeling.
Respuesta: {“lugar”: “Darjeeling”, “checkInDate”: ”15/08/2023”, “checkOutDate” : “17/08/2023”}
Pregunta: Ir de vacaciones a Pondicherry durante 5 días a partir del 3 de septiembre.
Respuesta:
En este caso, usamos una capacidad del LLM llamada Zero Shot Learning. Además de las instrucciones, también brindamos algunos ejemplos de muestra para mostrar el resultado esperado para un conjunto de preguntas. LLM ha demostrado grandes capacidades para ajustar su comportamiento aprendiendo del pequeño conjunto de muestras.
El LLM analizaría la consulta del usuario y proporcionaría un JSON en un formato fijo. Lo mismo se puede usar simplemente para activar la funcionalidad de búsqueda real.
En este caso, el LLM es esencialmente un analizador de texto inteligente.
Robot de soporte
Tomemos un ejemplo de una aplicación de reserva de viajes para explorar este caso de uso.
Un usuario interactúa con un bot de soporte para obtener respuestas a consultas sobre cómo usar una aplicación, o beneficios generales, etc. O quiere obtener respuestas sobre sus transacciones que ha realizado en la aplicación.
Un corpus de uso general de las aplicaciones, se pueden crear contenidos asociados a la aplicación para dar respuesta a consultas sobre la misma.
Del mismo modo, se puede utilizar un analizador inteligente de consultas basado en LLM para analizar las consultas de los usuarios sobre sus reservas y luego recuperar los registros de reservas. Dado que una aplicación puede tener varios tipos de transacciones de usuario, el analizador LLM se puede ajustar para proporcionar el tipo de transacción, así como los parámetros para la transacción en particular.
La incorporación de ambas funcionalidades juntas en un solo bot frontend también implicaría un paso en el que debemos identificar cuál es la intención del usuario, ya sea que la consulta sea sobre cómo realizar una transacción o el estado de la última transacción. Por lo tanto, el LLM se puede utilizar para identificar correctamente la intención del usuario.
Por lo tanto, la solución general implica:
- Identificación de la intención: consulta de corpus o consulta de reserva
- Consulta de corpus de procesamiento
- Corpus de búsqueda
- Identificación de fragmentos relevantes
- Invocando LLM pasando fragmentos relevantes y consultas de usuarios.
- Procesando consulta de reserva
- Invocación de LLM para identificar el tipo y los parámetros
- Analizar JSON de respuesta LLM.
- Invocando funciones apropiadas.

LLM viene con algunos desafíos para trabajar.
Tradicionalmente, los desarrolladores están acostumbrados a trabajar en un mundo determinista. Las respuestas de la invocación de funciones son de naturaleza determinista incluso cuando fallan y generan errores.
Sin embargo, LLM funciona de manera probabilística. Sus respuestas no siempre son necesariamente lo que predecimos. Esto significa que, al desarrollar aplicaciones usándolas invariablemente, los desarrolladores deben ser siempre conscientes de esto y desarrollar la resiliencia adecuada para manejar lo inesperado.
Los tiempos de respuesta de la API de OpenAI son de naturaleza muy sensible. Varían de 2 a 12 segundos. Mucho depende de la cantidad de contenido involucrado. Por ejemplo, enviar un gran contexto y esperar una respuesta detallada a una consulta implicaría muchos cálculos para el LLM, por lo que los tiempos de respuesta serían más altos. Parte de esto puede manejarse desde el punto de vista de la percepción al cambiar a las API de transmisión, pero esto aún significaría que la respuesta final se completa después de un tiempo relativamente largo, en comparación con los SLA de tiempo de respuesta de API tradicionales.
Las indicaciones son la forma principal de instruir a los LLM sobre lo que queremos que haga. Obtener las indicaciones correctas es, por lo tanto, fundamental. Sin embargo, hay una curva de aprendizaje asociada con el mismo. Además, las indicaciones que funcionan con una versión de LLM funcionan de manera ligeramente diferente con otra, lo que requiere ajustes para hacer lo mismo.
LLM como tecnología ha abierto las posibilidades de inventar nuevas formas de resolver problemas. Todavía estamos en la cúspide de comprender su verdadero potencial. Las nuevas ideas que inundan Internet todos los días son un testimonio del hecho de que se avecinan tiempos emocionantes.