Diplomado en construcción de Aplicaciones Asistidas por IA
Bienvenidos al diplomado en construcción de aplicaciones asistidas por modelos de lenguaje de la IUDigital de Antioquia.
Aunque la inteligencia artificial ha existido como un campo exitoso y prometedor entre los expertos durante varias décadas, la llegada de capacidades computacionales más avanzadas —ofrecidas por las GPU modernas— y las habilidades demostradas con el lanzamiento de ChatGPT fueron una gran sorpresa para muchos.
No está del todo claro cómo este "pequeño" avance en la escala de los modelos pudo desencadenar la gran cantidad de aplicaciones asistidas por IA que estamos viendo explotar cada semana. Lo que sí es claro es que el campo de la ingeniería de software está siendo revolucionado, y que el nuevo paradigma de construcción de software ya no consiste en los tradicionales flujos de ejecución, sino que la nueva ingeniería de sistemas debe integrar a los LLMs en dichos flujos.
Hemos diseñado este diplomado para introducirte a este nuevo paradigma. Este curso está basado en LangChain, el framework más popular de la actualidad para interactuar con las APIs de los principales modelos de lenguaje.
En la Unidad 1 comenzarás por aprender a crear instrucciones reutilizables para los LLM, los llamados prompt templates
, luego verás cómo encadenar estas instrucciones a través de las cadenas usando el Lenguaje de Expresión de LangChain (LCEL). Aprenderás a especificar el formato de salida de tus cadenas de ejecución mediante los output parsers
. A continuación, en la Unidad 2, crearás tus primeros chatbots y aprenderás a gestionar sus memorias. Como ejercicio práctico, implementarás un chatbot asistente de un médico que carga en su memoria la historia clínica de los pacientes. Finalmente, en la Unidad 3, estarás preparado para incorporar los componentes de las dos unidades anteriores junto con loaders de documentos, retrievers y bases de datos vectoriales, para crear y desplegar un sistema RAG sobre documentos en PDF, de manera que podrás conversar con tus archivos PDF.
Resultados de Aprendizaje
-
Diseñar y aplicar prompt templates y cadenas de ejecución en LangChain: Los estudiantes serán capaces de crear instrucciones reutilizables (prompt templates) y encadenarlas utilizando el Lenguaje de Expresión de LangChain (LCEL), especificando formatos de salida con output parsers para interactuar eficazmente con modelos de lenguaje.
-
Desarrollar chatbots con gestión de memoria contextual: Los estudiantes podrán construir chatbots funcionales utilizando LangChain, integrando memorias para almacenar y gestionar información contextual.
-
Construir y desplegar sistemas RAG para interacción con documentos: Los estudiantes estarán capacitados para integrar componentes como loaders de documentos, retrievers y bases de datos vectoriales en LangChain, creando sistemas de Retrieval-Augmented Generation (RAG) que permitan conversar con archivos PDF.
Pregunta Orientadora
La siguiente imagen es la respuesta de ChatGPT al prompt:
“Based on what you know about me, draw a picture of what you think my current life looks like.”
Figura 1: Representación visual generada por ChatGPT sobre la vida del autor del diplomado.
¿Qué tan parecida es esta imagen a tu vida en tu caso? ¿Te sorprende que ChatGPT tenga tanta información sobre tu vida y tus gustos o todo lo contrario? ¿Qué opinas que va a pasar con los datos en un futuro donde todo es asistido por IA? ¿Le daremos a las IAs la información sensible de las personas y las empresas?
¿Cómo podemos asegurarnos de que nuestros datos permanezcan privados, y al mismo tiempo aprovechar todo el poder de los modelos de lenguaje en los datos privados?
Mapa del curso
Unidad 1: Introducción a la Construcción de Aplicaciones con LLMs
- Fundamentos de modelos de lenguaje grandes (LLMs) y su integración en flujos de software
- Creación y uso de prompt templates para instrucciones reutilizables
- Encadenamiento de instrucciones con el Lenguaje de Expresión de LangChain (LCEL)
- Especificación de formatos de salida mediante output parsers
Unidad 2: Cadenas y Memoria
- Desarrollo de chatbots funcionales con LangChain
- Gestión de memoria contextual para mantener el historial de interacciones
- Implementación práctica de un chatbot funcional
Unidad 3: Proyecto Integrador - Construcción y Despliegue de un Sistema RAG
- Integración de document loaders para procesar archivos PDF
- Uso de retrievers y bases de datos vectoriales para recuperación de información
- Construcción de sistemas Retrieval-Augmented Generation (RAG)
- Despliegue de una aplicación RAG para interacción conversacional con documentos PDF
Cronograma de actividades
Actividad de aprendizaje | Evidencia de aprendizaje | Semana | Ponderación |
---|---|---|---|
Actividad de conocimientos previos | Actividad de conocimientos previos | Semana 1 | 0% |
Reto formativo 1 y 2 | EA1: Templates y Output Parsers | Semanas 2 y 3 | 35% |
Cadenas | EA2: Generación de Informes de Salud Utilizando Archivos CSV | Semanas 4 y 5 | 35% |
Reto formativo: "Carga y división de archivos PDF" | EA3: Chat con tus datos. Proyecto integrador | Semanas 6, 7 y 8 | 30% |
Total | 100% |
Actividad de conocimientos previos. Foro: Transformers y Mecanismo de Atención
Como actividad de conocimientos previos, te invitamos a participar en el foro de discusión sobre el funcionamiento de los LLM.
Configuración del sistema antes de comenzar
Antes de empezar a trabajar con los módulos del curso, debes configurar tu sistema para poder ejecutar los ejemplos correctamente.
La forma más sencilla de hacerlo es descargando el archivo de configuración 📄environment.yml
, el cual creará automáticamente un entorno de Conda llamado DiplomadoIA_env
con todas las dependencias necesarias para el curso.
Requisitos previos
- Tener Anaconda instalado en tu computador.
- Usar una terminal Bash (en Windows puedes usar Anaconda Prompt, git bash, WSL o similares).
Instalación
Una vez descargado el archivo de configuración, ejecuta el siguiente comando en tu terminal:
Activación del entorno
Para activar el entorno en tu terminal, ejecuta:
A partir de aquí, cualquier comando que ejecutes usará las dependencias definidas para el curso.Uso del entorno en Visual Studio Code
Para tener en cuenta
Para ejecutar notebooks .ipynb
en Visual Studio Code usando este entorno:
- Abre VS Code.
- Abre la carpeta del proyecto o el notebook deseado.
- En la parte superior derecha del notebook, haz clic en la selección de kernel.
- Elige el kernel correspondiente al entorno
diplomado_IA
.
Si no aparece, reinicia VS Code o asegúrate de haber activado el entorno desde la terminal integrada. - Comienza a ejecutar celdas normalmente.