Skip to content

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

  1. 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.

  2. 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.

  3. 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.”

alt text

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:

conda env create -f environment.yml

Activación del entorno

Para activar el entorno en tu terminal, ejecuta:

conda activate diplomado_IA
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:

  1. Abre VS Code.
  2. Abre la carpeta del proyecto o el notebook deseado.
  3. En la parte superior derecha del notebook, haz clic en la selección de kernel.
  4. 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.
  5. Comienza a ejecutar celdas normalmente.

Tip

Puedes asegurarte de que el entorno se registre correctamente como kernel ejecutando en la terminal:

python -m ipykernel install --user --name diplomado_IA --display-name "Python (diplomado_IA)"