Arquitectura de LangChain y LCEL
Componentes de LangChain, sintaxis de tuberías de LCEL, cadenas, interfaces ejecutables y cadenas con streaming.
Arquitectura de LangChain y LCEL es una lección gratuita de Learn AI with Python en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn AI with Python, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn AI with Python incluye 4 lecciones en total.
¿Qué es LangChain?
LangChain es un framework para crear aplicaciones con LLM mediante la composición de piezas reutilizables: prompts, modelos, parsers, recuperadores y memoria. En lugar de conectar manualmente las llamadas a la API, se crean cadenas que pasan los datos de un componente al siguiente.
pip install langchain langchain-openaiLos componentes básicos
Tres componentes aparecen en casi todas las cadenas: un PromptTemplate (da formato a la entrada para convertirla en un prompt), un modelo de chat (el LLM) y un parser de salida (limpia el resultado). LangChain los conecta en una pipeline.
from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParserCrear una plantilla de prompt
Una plantilla de prompt contiene marcadores de posición que se rellenan durante la ejecución. Utilice la sintaxis {variable}. Al invocar la cadena con un diccionario, se sustituyen esas claves.
prompt = ChatPromptTemplate.from_template(
"Explain {topic} to a {audience} in two sentences."
)LCEL: la sintaxis de tuberías
LCEL (LangChain Expression Language) compone componentes mediante el operador pipe |. La salida de cada paso fluye al siguiente, de izquierda a derecha, como en una pipeline de Unix.
model = ChatOpenAI(model="gpt-4o")
chain = prompt | model | StrOutputParser()¿Por qué usar StrOutputParser?
Un modelo de chat devuelve un objeto de mensaje, no una cadena simple. StrOutputParser() extrae el texto de .content para que la cadena produzca una cadena limpia. Sin él, recibiría un mensaje estructurado.
Invocar la cadena
Ejecute la cadena con chain.invoke(), pasando un diccionario que rellene las variables de la plantilla. El resultado es la salida en forma de cadena analizada.
result = chain.invoke({"topic": "vectors", "audience": "beginner"})
print(result)Transmitir una cadena
Para obtener la salida en tiempo real, llame a chain.stream() en lugar de invoke. Devuelve un generador que produce fragmentos de salida a medida que el modelo los genera, igual que la transmisión directa de la API.
for chunk in chain.stream({"topic": "RAG", "audience": "engineer"}):
print(chunk, end="", flush=True)Procesar varias entradas por lotes
Procese muchas entradas de forma eficiente con chain.batch(). Pase una lista de diccionarios de entrada y LangChain los ejecutará de forma concurrente, devolviendo una lista de resultados en el mismo orden.
inputs = [
{"topic": "loops", "audience": "kid"},
{"topic": "recursion", "audience": "kid"}
]
results = chain.batch(inputs)RunnablePassthrough
RunnablePassthrough reenvía su entrada sin modificarla. Es esencial cuando una cadena debe conservar la entrada original junto con un valor transformado, algo habitual en RAG, donde se pasan tanto la pregunta como el contexto recuperado.
from langchain_core.runnables import RunnablePassthrough
chain = (
{"context": retriever, "question": RunnablePassthrough()}
| prompt | model | StrOutputParser()
)Componer con diccionarios
Cuando un paso es un diccionario, cada valor se ejecuta en paralelo y los resultados forman la entrada del paso siguiente. Así se crean los prompts con varias entradas que impulsan las pipelines de recuperación, asignando cada clave a un runnable o a un passthrough.
parallel = {
"context": retriever,
"question": RunnablePassthrough()
}
# parallel feeds {"context": ..., "question": ...} downstreamPor qué es importante LCEL
Las cadenas LCEL incorporan streaming, batching y async de forma automática, son fáciles de leer y se ensamblan como piezas de Lego. La misma sintaxis de tuberías escala desde un prompt de una sola línea hasta un sistema RAG completo.
Comprobación rápida
Compruebe sus conocimientos sobre LCEL.
Repaso: arquitectura y LCEL
Compuso componentes de LangChain con el operador pipe: prompt | model | StrOutputParser(). Ejecutó cadenas con invoke, transmitió resultados con stream y procesó muchas entradas con batch. RunnablePassthrough y la composición con diccionarios le permiten crear pipelines con varias entradas para RAG.
Preguntas frecuentes
¿La lección «Arquitectura de LangChain y LCEL» es gratis?
Sí — el texto completo de «Arquitectura de LangChain y LCEL» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn AI with Python, actualiza a CoddyKit PRO. El curso de Learn AI with Python incluye 4 lecciones en total.
¿Qué aprenderé en «Arquitectura de LangChain y LCEL»?
Componentes de LangChain, sintaxis de tuberías de LCEL, cadenas, interfaces ejecutables y cadenas con streaming. Practicas Learn AI with Python con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Learn AI with Python?
No se requiere experiencia previa. Learn AI with Python en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Arquitectura de LangChain y LCEL»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Learn AI with Python?
Sí. Cada lección de Learn AI with Python incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Arquitectura de LangChain y LCEL
- Carga, división y embedding de documentos
- Almacenes vectoriales: Chroma y FAISS
- Construcción integral de un sistema de preguntas y respuestas RAG