Curso

En el Dev Day de OpenAI, la compañía realizó varios anuncios, entre ellos una nueva Assistants API. Consulta los artículos sobre GPT-4 Turbo y GPTs y la GPT Store para conocer el resto de novedades.
La Assistants API amplía la API existente de OpenAI para facilitar a los desarrolladores de software la creación de asistentes de IA, como chatbots.
Se anunciaron cuatro novedades:
- "Threads" para gestionar conversaciones más largas
- "Retrieval" para almacenar texto
- Interpretación de código integrada
- Mejoras en la funcionalidad de llamadas a funciones.
Funciones clave de la Assistants API
A continuación, comentamos cada una de estas funciones con más detalle.
Gestión de conversaciones más sencilla con threads
Aunque algunas tareas pueden resolverse enviando una única instrucción a la API y recibiendo una sola respuesta, los chatbots requieren una conversación más larga (o "thread"). Hasta ahora, recaía en el desarrollador llevar el control del estado de la conversación y decidir qué mensajes anteriores enviar a la API. A medida que crecen las conversaciones, hay que enviar cada vez más texto en cada llamada, lo que ralentiza el rendimiento.
Además, cuando la conversación supera la "ventana de contexto" (la cantidad de texto que GPT puede recordar de una vez), hay que tomar decisiones: ¿descartar mensajes antiguos, intentar resumirlos o almacenarlos y decidir más tarde cuáles son relevantes y deben incluirse? Esto puede volverse complejo rápidamente y frenar el desarrollo.
Las nuevas herramientas de threading convierten el modelo de OpenAI de "sin estado" (sin memoria) a "con estado". Los mensajes previos pueden almacenarse del lado de OpenAI, evitando que el desarrollador tenga que lidiar con estos aspectos de gestión.
Las herramientas de retrieval te permiten almacenar texto adicional
La presentación de OpenAI también mencionó herramientas de retrieval para almacenar texto. Se presentaron como una segunda función, aunque, dado que el threading parece apoyarse en esto, no está claro hasta qué punto son independientes.
Durante la presentación apenas se dieron detalles técnicos, aunque podemos intuir cómo funciona. Actualmente, integrar IA generativa en aplicaciones suele requerir dos tecnologías distintas: un modelo de lenguaje grande (LLM) como GPT y una base de datos vectorial.
Las bases de datos vectoriales almacenan texto (o imágenes u otros datos no estructurados) como vectores numéricos mediante un proceso llamado embedding. Después, puedes recuperar esos fragmentos de texto para incluirlos en los prompts. Un caso de uso típico es disponer de un almacén de hechos relacionados con el tema del que quieres hablar.
Por ejemplo, si creas un chatbot para responder preguntas sobre los productos de tu empresa, puedes guardar la información de producto en la base de datos vectorial y usarla para que el LLM ofrezca respuestas precisas y basadas en hechos.
Las funciones de retrieval mencionadas sugieren que la Assistants API podría darte acceso por API a una base de datos vectorial. Esto abre posibilidades interesantes más allá de las conversaciones más largas, porque implicaría que no necesitas usar una base de datos vectorial aparte como Pinecone, Milvus o Weaviate para almacenar tu texto.
Por ahora es solo una conjetura; habrá que esperar a que se publiquen los detalles concretos de la Assistants API.
La interpretación de código viene integrada
ChatGPT cuenta con una herramienta de Advanced Data Analysis que permite a GPT generar y ejecutar código Python a partir de instrucciones en lenguaje natural. Aunque en la presentación de OpenAI los detalles fueron algo vagos, se insinuó que esta función estará integrada en la Assistants API, de modo que puedas dar prompts que hagan que GPT ejecute código en Python.
Mejoras en las llamadas a funciones para interactuar más fácilmente con otro software
La función de function calling de la API te permite escribir una instrucción en lenguaje natural y que GPT devuelva una cadena JSON que representa la llamada a una función que hayas definido. Esto es clave para los agentes de IA, diseñados para ejecutar tareas a partir de entradas en lenguaje natural.
El anuncio describe dos mejoras en esta función. Primero, hay un "modo JSON" en el que la respuesta garantiza ser JSON válido y se ajusta mejor a la firma de función especificada. Hasta ahora, cabía la posibilidad de que la respuesta fuese inválida, lo que obligaba a implementar una detección de errores exhaustiva en tu software.
La nueva funcionalidad debería simplificar la creación de agentes de IA y facilitar la construcción de interfaces en lenguaje natural para aplicaciones.
Resumen
Aunque la revolución de la IA generativa en 2023 ha sido asombrosa, para incorporarla en otros softwares se ha necesitado una importante pericia en ingeniería. La Assistants API promete reducir en parte esa barrera de entrada, permitiendo que más productos integren la tecnología con mayor rapidez.
Sigue aprendiendo
DataCamp tiene varios cursos para enseñarte a usar la API de OpenAI. Empieza por Working with the OpenAI API y continúa con Introduction to Embeddings with the OpenAI API.
También puedes aprender sobre la API de function calling en el OpenAI Function Calling Tutorial.



