Si eres un ingeniero ansioso por comenzar a construir aplicaciones de IA Generativa, la sobrecarga de información actual y el ciclo de hype actualmente asociado con IA Generativa podrían ser abrumadores para muchos.
Aquí hay una lista de temas que me ayudaron a comenzar y disfrutar construyendo aplicaciones de IA Generativa.
Modelos de Lenguaje Grandes y Pequeños
La mayoría de las personas con las que he interactuado piensan que IA Generativa = LLMs, y que uno necesita profundizar en la comprensión de LLMs y cómo funcionan y cómo ir sobre el entrenamiento y ajuste de LLMs, etc. La verdad es que los LLMs son solo uno de los muchos componentes (aunque importante) de cualquier aplicación de IA Generativa. Las cosas han evolucionado hasta tal punto que los LLMs se han convertido en una especie de commodity y muchos de ellos están disponibles como SaaS/PaaS que se exponen como APIs tal que uno puede simplemente construir una aplicación frontend basada en React sobre un LLM. Las APIs de OpenAI son un ejemplo clásico.
Para jugar con un montón de LLMs auto-hospedados y locales, instala herramientas como Ollama o LM Studio donde puedes descargar fácilmente la mayoría de los modelos desde Llama2 hasta Mistral hasta Huggingface y probarlos. Mientras que Ollama proporciona un endpoint basado en CLI que puedes golpear para hablar con un LLM, LM Studio proporciona una interfaz de chat ordenada donde puedes probar los diferentes LLMs.
UIs Frontend
Si eres un ingeniero frontend o estás buscando construir una aplicación frontend que hable con tus LLMs entonces recomendaría highly el Vercel AI SDK y las plantillas de Vercel AI, que te permiten clonar y desplegar una aplicación Gen AI en minutos.
Prompt Engineering
Sí sé que el prompt engineering es un caballo beaten, y la gente no habla mucho de ello ahora comparado con hace unos 6 meses, pero no puedo enfatizar lo suficiente la importancia del prompt engineering y el impacto que tiene en la calidad de las salidas de tu aplicación Gen AI. Recuerda que con Gen AI estás construyendo aplicaciones probabilísticas y la probabilidad de qué tan bien responden las apps a la entrada de un usuario depende heavily del contexto que se pasa a los LLMs a través de la plantilla de prompt y los prompts. Todo lo cual cae bajo el paraguas del Prompt Engineering.
Langchain
Más del 95% de todos los tutoriales de aplicaciones Gen AI que encuentras usarán Langchain de alguna forma, y recomendaría invertir una cantidad decente de tiempo entendiendo Langchain, puedes elegir ya sea la versión de python o la versión de JavaScript de Langchain. Mientras trabajas con Langchain asegúrate de entender los conceptos alrededor de chains, tools, agents, etc.
Un Framework de Agentes
A medida que avanzas a etapas avanzadas de construcción de aplicaciones te encontrarás con la noción de agentes y conversaciones multi-agente, y aquí es donde hay un montón de herramientas en las que puedes empezar a mirar. Aquí hay solo una pequeña colección de frameworks de agentes que han funcionado bien para mí:
Semantic Kernel
Autogen
Taskweaver
CrewAI
Aplicaciones Comunes para Construir cuando se aprende GenAI
No hay escasez de tutoriales de GenAI en internet y YouTube, y la mayoría de ellos son realmente buenos para comenzar. Sin embargo, si la sobrecarga de información es abrumadora, aquí hay algunas aplicaciones para intentar.
Chat basado en RAG sobre un documento
Una de las aplicaciones más populares para construir es un chatbot que responde preguntas sobre un documento (generalmente un PDF) o una colección de documentos. Esto se llama una Aplicación RAG, donde RAG significa Retrieval Augmented Generation. Aquí, aprendes conceptos clave sobre cómo crear chunks y embeddings de un documento no estructurado y almacenarlos en una base de datos Vectorial. Luego, aprendes a consultar la base de datos vectorial para recuperar chunks que coincidan más cercanamente con la pregunta hecha y pasarlo a través de un LLM (Large Language Model) para obtener una salida en lenguaje natural. Es una excelente manera de entender la integración de sistemas de recuperación con IA generativa.
Construir un CustomGPT
OpenAI recientemente lanzó la capacidad de crear un CustomGPT que está ‘finetuned’ o ‘trained’ para responder preguntas sobre un conjunto específico de temas. Este es un buen punto de partida para construir una aplicación GenAI sin código. Con CustomGPT, puedes especializar el modelo en un área temática o estilo de nicho, making it ideal para crear aplicaciones únicas o mejorar servicios existentes con un agente conversacional personalizado. El proceso implica seleccionar datos de entrenamiento relevantes y refinar iterativamente las respuestas del modelo, proporcionando una experiencia práctica con entrenamiento y ajuste de modelos.
Generar Imágenes Artísticas
Otro proyecto emocionante es construir una aplicación que genere imágenes artísticas basadas en descripciones textuales usando modelos de IA Generativa. Esto implica entender y utilizar modelos como DALL-E o tecnologías similares. Tal proyecto no solo sería divertido sino también educativo en términos de entender cómo la IA puede interpretar y visualizar prompts creativos. Es una gran manera de explorar la intersección de IA y creatividad.
Creación de Contenido Automatizada
Una aplicación de IA Generativa práctica y cada vez más popular es la creación de contenido automatizada. Esto podría ir desde generar artículos de blog, crear copias de marketing, hasta incluso escribir código. Tales aplicaciones proporcionan una visión de cómo la IA puede asistir en tareas repetitivas o creativas, mejorando la productividad y generando nuevas ideas.
Sistemas de Recomendación Personalizados
Finalmente, construir un sistema de recomendación personalizado usando GenAI puede ser tanto desafiante como gratificante. Tales sistemas podrían recomendar productos, contenido, o incluso acciones basadas en el comportamiento y preferencias del usuario. Abarca aprender sobre creación de perfiles de usuario, análisis de comportamiento y la aplicación de IA en la toma de decisiones predictivas.
En resumen, comenzar con estos proyectos puede proporcionar una manera integral y atractiva de sumergirse en el mundo de la IA Generativa, ofreciendo tanto aprendizaje foundational como experiencia práctica.