LangChain
LangChain es un framework de código abierto para crear aplicaciones y agentes de LLM a partir de modelos, herramientas, recuperadores y middleware intercambiables.
LangChain es un marco de código abierto para crear aplicaciones y agentes de IA basados en modelos de lenguaje de gran tamaño (LLM). Ofrece a todos los proveedores de modelos la misma interfaz para mensajes, modelos conversacionales, herramientas y recuperadores, de modo que una aplicación puede cambiar el modelo de un proveedor por el de otro con solo cambiar el nombre del modelo. También incluye bucles de agente listos para usar y cientos de integraciones con almacenes vectoriales, cargadores de documentos y API. Harrison Chase publicó LangChain como proyecto de código abierto en Python en octubre de 2022, unas semanas antes del lanzamiento de ChatGPT, y se convirtió en uno de los conjuntos de herramientas más utilizados para encadenar instrucciones, recuperación y llamadas a modelos en aplicaciones de IA generativa. LangChain 1.0 y LangGraph 1.0 se publicaron juntos el 22 de octubre de 2025, con el compromiso de no introducir cambios incompatibles hasta la versión 2.0.
El ecosistema LangChain#
El nombre engloba ahora una familia de paquetes disponibles en Python y JavaScript:
- langchain: El marco de agentes, centrado en
create_agent, que recibe un modelo, una lista de herramientas y una instrucción de sistema, y devuelve un agente funcional. - langchain-core e integraciones: Interfaces estándar para modelos conversacionales, mensajes, embeddings, recuperadores y herramientas, además de paquetes de proveedores como langchain-openai y langchain-anthropic que las implementan.
- LangGraph: El entorno de ejecución de bajo nivel sobre el que funcionan los agentes de LangChain. Representa un programa como un grafo de pasos que comparten un estado, y puede guardar puntos de control de ese estado después de cada paso para que las tareas largas sobrevivan a los reinicios y puedan pausarse a la espera de aprobación humana.
- LangSmith: Plataforma alojada para la observabilidad de trazas, la evaluación de agentes con conjuntos de datos y el despliegue de agentes.
Las aplicaciones clásicas de LangChain se basaban en cadenas: una plantilla de instrucciones rellenada con la entrada del usuario, una llamada al modelo y un analizador de salida, todo ello compuesto mediante una sintaxis de tuberías, como en el encadenamiento de instrucciones. La cadena más habitual es la generación aumentada por recuperación (RAG), que carga documentos, los divide en fragmentos, almacena sus embeddings en una base de datos vectorial y añade a la ventana de contexto del modelo los fragmentos que mejor responden a cada pregunta.
Cómo funciona un agente de LangChain#
Un agente creado con create_agent repite un bucle de llamadas al modelo y a herramientas, el mismo bucle de llamadas a funciones que ejecuta cualquier entorno de agentes. El middleware se conecta a cada paso para modificar lo que ocurre alrededor del modelo: el middleware integrado resume historiales largos, oculta datos personales y pausa el proceso para solicitar aprobación humana antes de ejecutar las herramientas seleccionadas.
Añadir visión a un agente de LangChain#
El decorador @tool de LangChain convierte una función de Python en una herramienta; obtiene los tipos de los argumentos de la firma y la descripción de su cadena de documentación. Si envuelves Ultralytics YOLO26 de esta forma, el agente obtiene detección de objetos, y Results.summary() devuelve cada detección como datos que el modelo puede leer: nombre de clase, confianza y cuadro delimitador.
from langchain_core.tools import tool
from langchain_core.utils.function_calling import convert_to_openai_tool
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
@tool
def detect_objects(image_url: str) -> list[dict]:
"""Detect objects in an image and return each one's class name, confidence, and box."""
results = model(image_url)
return results[0].summary()
# El esquema que LangChain obtiene de la firma y la cadena de documentación, tal como lo recibe un modelo
print(convert_to_openai_tool(detect_objects))
# Un agente ejecuta la herramienta con los argumentos de la llamada del modelo a la herramienta
detections = detect_objects.invoke({"image_url": "https://ultralytics.com/images/bus.jpg"})
print(detections[0]["name"], detections[0]["confidence"])La primera instrucción de impresión muestra la definición de la función que LangChain envía al modelo, con un parámetro de cadena image_url y la cadena de documentación como descripción; la segunda muestra la primera detección que devuelve la herramienta. Si pasas tools=[detect_objects] a create_agent, cualquier modelo conversacional compatible podrá llamar al detector mediante el modo de predicción.
LangChain frente a herramientas relacionadas#
- Flujos de trabajo con agentes: Patrones de diseño generales, como el enrutamiento, el uso de herramientas y los bucles de evaluación, que implementan los grafos de LangGraph y los agentes de LangChain.
- SDK de proveedores: Para llamar directamente a la API de un proveedor de modelos no hace falta ningún marco, lo que resulta adecuado para aplicaciones que usan un solo modelo. LangChain añade interfaces compartidas, integraciones y el bucle de agente, funciones útiles cuando una aplicación utiliza varios modelos, herramientas o fuentes de datos.
- DSPy: Marco que redacta y optimiza automáticamente las instrucciones de un programa LLM de varios pasos y las ajusta según una métrica basada en datos de ejemplo.
- LlamaIndex: Marco centrado en la ingesta, indexación y consulta de datos privados para RAG. Ambos se solapan, y las aplicaciones suelen utilizar LlamaIndex para la recuperación dentro de un agente de LangChain o LangGraph.










