Boost Academy
LearningAssessmentsProfile
Back
  • Live

LangChain Intermedio: RAG y Agentes

8h of live classes·HACK A BOSS·Spanish

Skills you will learn

  • LangChain

Schedules

You need an active plan

To access live courses you need an active plan. We're working on making plans available soon — stay tuned.

There are no open calls right now, but don't miss out: save this course and we'll notify you as soon as a call opens.

Description

Learning objectives

Syllabus

Technical requirements

Prerequisites

Schedule details

Resources

No resources are available yet for this schedule

Curso de nivel intermedio orientado a desarrolladores que dominan los fundamentos de LangChain y quieren construir aplicaciones LLM listas para producción. El curso cubre el diseño de cadenas modulares con componentes avanzados de LCEL —RunnableParallel, RunnablePassthrough y RunnableLambda—; la construcción de pipelines de indexación eligiendo loaders, estrategias de chunking, modelos de embedding y vectorstores según el caso de uso; la implementación de aplicaciones RAG funcionales con grounding explícito para evitar alucinaciones; la gestión del historial conversacional con RunnableWithMessageHistory; el desarrollo de agentes con herramientas personalizadas usando el decorador @tool y AgentExecutor; la validación de salidas con esquemas Pydantic y with_structured_output(); la evaluación y ajuste sistemático de prompts y retrieval; la organización del código con separación de responsabilidades; y la instrumentación de trazabilidad con LangSmith. Al finalizar, el participante será capaz de construir, evaluar y monitorizar una aplicación RAG o un agente con criterios de producción.

Al finalizar el curso, el participante será capaz de:

  • Diseñar cadenas modulares con LCEL usando RunnableParallel, RunnablePassthrough y RunnableLambda para flujos de trabajo multi-etapa
  • Integrar loaders, chunking, embeddings y vectorstores en un pipeline de indexación eligiendo las opciones adecuadas según la fuente de datos y los requisitos de búsqueda
  • Construir aplicaciones RAG funcionales con grounding explícito que recuperen contexto relevante y eviten alucinaciones
  • Implementar memoria conversacional con RunnableWithMessageHistory para mantener el contexto en interacciones multi-turno
  • Desarrollar agentes con herramientas personalizadas usando @tool y AgentExecutor, argumentando cuándo un agente es preferible a una cadena fija
  • Estructurar y validar las salidas del modelo con esquemas Pydantic y with_structured_output() para obtener respuestas predecibles y tipadas
  • Evaluar la calidad de un flujo LangChain diagnosticando fallos e iterando sobre prompt, retriever o estructura de cadena
  • Organizar un proyecto LangChain intermedio separando configuración, lógica de cadena, acceso a datos y capa de presentación
  • Instrumentar trazabilidad con LangSmith para obtener trazas de ejecución completas e identificar cuellos de botella o errores en producción
  1. LCEL avanzado y pipeline de indexación RunnableParallel para ejecutar ramas en paralelo dentro de una cadena; RunnablePassthrough para propagar la entrada original a etapas posteriores; RunnableLambda para envolver funciones Python arbitrarias como Runnables; caso de uso típico: extraer contexto y pregunta en paralelo para una cadena RAG; selección de loaders según el tipo de fuente: web, PDF, base de datos, directorio local; estrategias de chunking según el corpus: tamaño fijo vs. separadores semánticos, impacto del chunk_overlap en la calidad del retrieval; modelos de embedding: selección según dominio, dimensión del vector y coste; vectorstores comparados: ChromaDB y FAISS para uso local, Pinecone para persistencia en la nube; indexación incremental con .add_documents() frente a reconstrucción completa

  2. RAG funcional y memoria conversacional Arquitectura de una aplicación RAG: separación entre pipeline de indexación offline y pipeline de consulta online; create_retrieval_chain y create_stuff_documents_chain para montar el flujo de forma declarativa; grounding explícito: instrucción de citar fuentes y responder solo con la información recuperada; control del retrieval: parámetro k, umbral de score de similitud, MMR (Maximum Marginal Relevance) para diversidad de fragmentos; RunnableWithMessageHistory y ConversationBufferMemory para persistir el historial; estrategias de gestión del historial: buffer completo, ventana de últimos N mensajes y resumen; cuándo truncar o resumir el historial para no superar la ventana de contexto del modelo

  3. Agentes y salidas estructuradas Diferencia fundamental entre cadena fija y agente: delegación de la decisión de qué herramienta usar al LLM; decorador @tool: definición con docstring descriptivo, firma tipada y lógica Python; create_tool_calling_agent y AgentExecutor: configuración del loop de razonamiento y límite de iteraciones; flujo interno de un agente: LLM recibe pregunta + descripciones de herramientas → decide herramienta → recibe resultado → decide si necesita más herramientas o responde; casos de uso: búsqueda web, consulta a base de datos, calculadora, llamada a API externa; with_structured_output(Schema) para aprovechar el tool calling nativo del modelo y garantizar el formato de salida sin instrucciones en el prompt; PydanticOutputParser con get_format_instructions() para modelos sin tool calling; criterios para elegir entre ambos enfoques

  4. Evaluación, organización y observabilidad Golden dataset: construcción de pares (pregunta, respuesta esperada) para evaluar el impacto de cambios en el prompt o en el retriever; LLM-as-judge: uso de un modelo para puntuar coherencia, relevancia y faithfulness de las respuestas; diagnóstico de fallos RAG: retriever que devuelve fragmentos irrelevantes vs. alucinación del LLM a pesar del contexto correcto vs. prompt mal estructurado; separación de responsabilidades en un proyecto LangChain: config.py para credenciales y parámetros, chains/ para lógica LCEL, retrievers/ para acceso al vectorstore, api/ para la capa de presentación, tests/ para pruebas de la cadena; activación de LangSmith con LANGCHAIN_TRACING_V2=true y LANGCHAIN_API_KEY; interpretación del dashboard de trazas: latencia por paso, tokens consumidos, inputs y outputs de cada componente; iteración basada en el diagnóstico de las trazas: reducir topK si el retrieval es lento, comprimir el contexto si la llamada al LLM es cara

  • Python 3.9+ instalado con pip
  • pip con acceso a instalar: langchain, langchain-openai (o langchain-anthropic), langchain-community, chromadb, faiss-cpu, python-dotenv, pypdf, pydantic
  • Cuenta activa con acceso a la API de un proveedor LLM (OpenAI, Anthropic u otro indicado por el docente)
  • Editor de código (VS Code recomendado)
  • Terminal: bash, zsh o PowerShell
  • Cuenta gratuita en LangSmith (smith.langchain.com) para el bloque de observabilidad

→ LCH01 — Fundamentos de LangChain (Iniciación, 8h)

  • Explicar qué es LangChain y qué problema resuelve en aplicaciones con LLMs
  • Configurar un entorno de trabajo con Python y LangChain
  • Construir cadenas simples que combinen prompt y modelo con LCEL
  • Utilizar PromptTemplate y ChatPromptTemplate para parametrizar entradas
  • Procesar salidas del modelo con output parsers en formato controlado
  • Cargar y fragmentar documentos con loaders y RecursiveCharacterTextSplitter
  • Implementar un prototipo básico de consulta sobre documentos con embeddings y vectorstore
  • Depurar un flujo básico en LangChain identificando errores frecuentes