LangChain Core

LangChain
LangChain
Actualizado: 08/07/2025

¡Desbloquea el curso completo!

IA
Ejercicios
Certificado
Entrar

LangChain Core: La Base del Ecosistema Moderno

LangChain Core representa el núcleo fundamental del ecosistema LangChain, proporcionando las abstracciones y componentes esenciales que sustentan toda la arquitectura moderna de desarrollo con modelos de lenguaje. Esta biblioteca constituye la base arquitectónica sobre la cual se construyen todas las demás funcionalidades de LangChain, desde la gestión de prompts hasta la orquestación de cadenas complejas.

Arquitectura del Ecosistema LangChain

El ecosistema LangChain se estructura en capas modulares que permiten una integración flexible y escalable. En el centro de esta arquitectura encontramos langchain_core, que define las interfaces fundamentales y patrones de diseño que utilizan todos los demás componentes.

La separación modular permite que los desarrolladores instalen únicamente los componentes necesarios para sus proyectos específicos, evitando dependencias innecesarias y manteniendo aplicaciones más ligeras y eficientes.

# Instalación modular típica
pip install langchain-core
pip install langchain-openai
pip install langchain-community

Componentes Fundamentales de LangChain Core

Runnables: La Interfaz Universal

Los Runnables constituyen la abstracción más importante de LangChain Core, proporcionando una interfaz unificada para todos los componentes que pueden ser ejecutados. Esta interfaz define métodos estándar como invoke(), stream(), batch() y ainvoke() para ejecución asíncrona.

from langchain_core.runnables import Runnable

# Todos los componentes implementan la interfaz Runnable
# Esto permite composición y encadenamiento uniforme

Prompts y Templates

El sistema de gestión de prompts en LangChain Core proporciona herramientas sofisticadas para crear, formatear y reutilizar plantillas de prompts. Los PromptTemplate y ChatPromptTemplate permiten la parametrización dinámica de mensajes.

from langchain_core.prompts import ChatPromptTemplate

# Template moderno con variables
template = ChatPromptTemplate.from_messages([
    ("system", "Eres un asistente especializado en {dominio}"),
    ("user", "{pregunta}")
])

# Formateo dinámico
prompt = template.format_messages(
    dominio="programación Python",
    pregunta="¿Cómo optimizar el rendimiento?"
)

Messages: Sistema de Comunicación Estructurada

LangChain Core define un sistema de mensajes tipificado que estandariza la comunicación entre diferentes componentes. Los tipos HumanMessage, AIMessage, SystemMessage y ToolMessage proporcionan una estructura coherente para el intercambio de información.

from langchain_core.messages import HumanMessage, AIMessage, SystemMessage

# Estructura de conversación tipificada
messages = [
    SystemMessage(content="Contexto del sistema"),
    HumanMessage(content="Pregunta del usuario"),
    AIMessage(content="Respuesta del modelo")
]

LCEL: LangChain Expression Language

Guarda tu progreso

Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.

Progreso guardado
Asistente IA
Ejercicios
Iniciar sesión gratis

Más de 25.000 desarrolladores ya confían en CertiDevs

El LangChain Expression Language (LCEL) representa la evolución moderna de LangChain, reemplazando las chains legacy con una sintaxis más intuitiva y componible. LCEL utiliza el operador | para crear pipelines declarativos que son más legibles y mantenibles.

from langchain_openai import ChatOpenAI
from langchain_core.output_parsers import StrOutputParser

# Pipeline LCEL moderno
llm = ChatOpenAI(model="gpt-4")
output_parser = StrOutputParser()

# Composición declarativa
chain = template | llm | output_parser

# Ejecución simple
result = chain.invoke({
    "dominio": "ciencia de datos",
    "pregunta": "¿Qué es el machine learning?"
})

Output Parsers: Transformación de Respuestas

Los output parsers de LangChain Core transforman las respuestas de los modelos en formatos estructurados y utilizables. Estos componentes son esenciales para integrar las salidas de los LLMs en aplicaciones que requieren datos estructurados.

from langchain_core.output_parsers import JsonOutputParser
from langchain_core.pydantic_v1 import BaseModel, Field

# Definición de esquema
class Respuesta(BaseModel):
    concepto: str = Field(description="Concepto principal")
    explicacion: str = Field(description="Explicación detallada")
    ejemplos: list = Field(description="Lista de ejemplos")

# Parser estructurado
parser = JsonOutputParser(pydantic_object=Respuesta)

# Integración en pipeline
chain = template | llm | parser

Callbacks y Observabilidad

LangChain Core incluye un sistema de callbacks que permite monitorear y debuggear la ejecución de las cadenas. Este sistema es fundamental para el desarrollo de aplicaciones robustas en producción.

from langchain_core.callbacks import BaseCallbackHandler

class CustomCallbackHandler(BaseCallbackHandler):
    def on_llm_start(self, serialized, prompts, **kwargs):
        print(f"Iniciando LLM con prompts: {len(prompts)}")
    
    def on_llm_end(self, response, **kwargs):
        print(f"LLM completado: {response.generations[0][0].text[:50]}...")

# Uso con callbacks
chain.invoke(
    {"dominio": "IA", "pregunta": "¿Qué es GPT?"}, 
    config={"callbacks": [CustomCallbackHandler()]}
)

Integración con Proveedores de Modelos

LangChain Core define las interfaces estándar que deben implementar todos los proveedores de modelos, garantizando compatibilidad y intercambiabilidad entre diferentes servicios de IA.

from langchain_openai import ChatOpenAI
from langchain_core.language_models import BaseChatModel

# Interfaz unificada independiente del proveedor
def crear_cadena(modelo: BaseChatModel):
    return template | modelo | output_parser

# Intercambiabilidad de modelos
modelo_openai = ChatOpenAI(model="gpt-4")
cadena = crear_cadena(modelo_openai)

La modularidad de LangChain Core permite que las aplicaciones sean agnósticas al proveedor, facilitando la migración entre diferentes servicios de IA sin modificar la lógica de negocio principal.

Gestión de Configuración y Contexto

El sistema de configuración en LangChain Core permite personalizar el comportamiento de los componentes de manera granular, incluyendo parámetros de modelo, configuración de callbacks y opciones de ejecución.

from langchain_core.runnables import RunnableConfig

# Configuración personalizada
config = RunnableConfig(
    tags=["produccion", "usuario-premium"],
    metadata={"version": "1.0", "entorno": "prod"},
    max_concurrency=5
)

# Ejecución con configuración específica
resultado = chain.invoke(input_data, config=config)

Esta arquitectura modular y las abstracciones bien definidas de LangChain Core proporcionan la base sólida necesaria para construir aplicaciones de IA escalables y mantenibles, estableciendo los patrones que se utilizarán a lo largo de todo el desarrollo con el ecosistema LangChain.

Completa LangChain y certifícate

Únete a nuestra plataforma y accede a miles de tutoriales, ejercicios prácticos, proyectos reales y nuestro asistente de IA personalizado para acelerar tu aprendizaje.

Asistente IA

Resuelve dudas al instante

Ejercicios

Practica con proyectos reales

Certificados

Valida tus conocimientos

Más de 25.000 desarrolladores ya se han certificado con CertiDevs

⭐⭐⭐⭐⭐
4.9/5 valoración