Skills que aprenderás
Convocatorias
No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.
Recursos
No hay recursos disponibles todavía para esta convocatoria
Curso de nivel avanzado orientado a desarrolladores que construyen aplicaciones RAG y agentes con LangChain en entorno de desarrollo y necesitan llevarlas a producción con arquitecturas más complejas, resilientes y observables. El punto de partida es el dominio del diseño de agentes con herramientas, la trazabilidad con LangSmith y la organización de proyectos LangChain; el objetivo es dominar los patrones avanzados que habilitan sistemas en producción: grafos de agentes stateful con LangGraph, optimización de pipelines RAG con técnicas de reranking y búsqueda híbrida, streaming y procesamiento asíncrono para reducir la latencia percibida, arquitecturas multi-agente con coordinación y manejo de fallos, evaluación continua con datasets personalizados y alertas de regresión, y despliegue como API REST con FastAPI. Al finalizar, el participante será capaz de diseñar, optimizar y desplegar sistemas LangChain en producción con criterio técnico y capacidad de diagnóstico ante fallos reales.
Al finalizar el curso, el participante será capaz de:
.astream() y endpoints async en FastAPI, midiendo la reducción de latencia percibida con métricas de tiempo hasta el primer tokenLangGraph y grafos de agentes stateful StateGraph como modelo de control: diferencias con LCEL y AgentExecutor; definición del estado compartido con TypedDict y reductores para escrituras concurrentes; nodos como funciones que leen y transforman el estado; add_conditional_edges y funciones de routing que inspeccionan el estado para decidir el siguiente nodo; implementación de ciclos: condición de terminación, guards contra loops infinitos; herramientas y subgrafos como nodos; compilación del grafo con .compile() y ejecución con .invoke() y .astream(); pruebas por rama: inyección de estado inicial para forzar cada path del routing condicional
Optimización avanzada de RAG Diagnóstico del pipeline RAG con métricas RAGAS: context precision, faithfulness, context recall; reranking con cross-encoder: diferencia con bi-encoder, integración con ContextualCompressionRetriever y FlashrankRerank o CohereRerank; búsqueda híbrida: combinación de recuperación densa (embeddings) y dispersa (BM25) con EnsembleRetriever; HyDE (Hypothetical Document Embeddings): generación de documento hipotético para mejorar la query de búsqueda; metodología de optimización iterativa: medir baseline, aplicar una técnica, medir impacto, documentar trade-off con latencia; cuándo cada técnica aporta mayor beneficio según el perfil de métricas
Streaming y procesamiento asíncrono Modelo de generación token a token: por qué reduce la latencia percibida sin reducir el tiempo total de generación; .stream() vs .astream() vs astream_events(): cuándo usar cada uno; integración con FastAPI: StreamingResponse con generador async; errores frecuentes de implementación async: llamada síncrona bloqueante dentro de endpoint async def; métricas de validación: tiempo hasta primer token (TTFT) y tiempo total de generación; manejo de errores en mitad del stream: cleanup y respuesta parcial
Sistemas multi-agente con LangGraph Topologías multi-agente: supervisor centralizado vs red peer-to-peer; nodo orquestador con routing condicional basado en el estado; agentes especializados como subgrafos o nodos; protocolo de fallo diferenciado: reintentar con query alternativa, continuar con resultado parcial, escalar a revisión humana; gestión del estado compartido entre agentes: reductores y campos de errores; comunicación entre agentes: handoffs explícitos vs escritura en estado compartido; patrones de coordinación: fan-out con agregación, pipeline secuencial, ciclo de refinamiento
Evaluación continua con LangSmith Datasets de evaluación en LangSmith: construcción del dataset inicial con casos representativos y casos límite, enriquecimiento continuo con traces de producción; tipos de evaluadores: exactitud de string, LLM-as-judge genérico, evaluador personalizado con criterios de dominio; implementación de evaluador personalizado: función Python que recibe output y ejemplo esperado y devuelve una puntuación; ejecución de benchmarks con comparación de versiones: evaluate() con experiment_prefix; umbral de alerta y protocolo de regresión; diferencia entre evaluación pre-despliegue y monitorización de producción continua
Despliegue como API REST con FastAPI Estructura de una aplicación LangChain en producción: separación entre lógica de chain, capa de API y gestión de sesiones; endpoints necesarios: chat con streaming, health check; persistencia del historial de conversación: RedisChatMessageHistory y SQLChatMessageHistory con session_id por usuario; gestión de secretos y configuración: variables de entorno con python-dotenv en desarrollo, secretos de Docker o Kubernetes en producción; Dockerfile para aplicación FastAPI + LangChain; verificación del despliegue: prueba del endpoint de streaming con cliente HTTP y del estado persistente entre sesiones
langchain, langchain-openai (o langchain-anthropic), langgraph, langchain-community, fastapi, uvicorn, redis o sqlalchemy, ragas, python-dotenv→ LCH02 — LangChain Intermedio: RAG y Agentes (Intermedio, 8h)
RunnableParallel, RunnablePassthrough y RunnableLambda para flujos multi-etapaRunnableWithMessageHistory para mantener el contexto en interacciones multi-turno@tool y AgentExecutor, argumentando cuándo un agente es preferible a una cadena fija