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 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:
RunnableParallel, RunnablePassthrough y RunnableLambda para flujos de trabajo multi-etapaRunnableWithMessageHistory para mantener el contexto en interacciones multi-turno@tool y AgentExecutor, argumentando cuándo un agente es preferible a una cadena fijawith_structured_output() para obtener respuestas predecibles y tipadasLCEL 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
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
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
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
langchain, langchain-openai (o langchain-anthropic), langchain-community, chromadb, faiss-cpu, python-dotenv, pypdf, pydantic→ LCH01 — Fundamentos de LangChain (Iniciación, 8h)
PromptTemplate y ChatPromptTemplate para parametrizar entradasRecursiveCharacterTextSplitter