Inicio > Cursos > Agentes de IA > Agentes con LangChain
Agentes de IAFundamentos de AgentesLección 3 de 7

Agentes con LangChain

LangChain es el framework mas popular para construir agentes. Abstrae el loop que hicimos manualmente y agrega features como memoria, cadenas complejas y muchas integraciones pre-hechas.

Instala: pip install langchain langchain-openai langchain-community

Ventajas de LangChain: • 100+ integraciones pre-hechas (Google, Wikipedia, bases de datos, APIs) • Memoria persistente incluida • Cadenas: conecta multiples pasos de LLM • Agents con planificacion automatica • Callbacks para logging y debugging

Desventajas: • Abstraccion pesada (a veces oculta lo que pasa) • Cambios frecuentes de API (breaking changes) • Debugging complejo cuando algo falla

from langchain_openai import ChatOpenAI
from langchain.agents import AgentExecutor, create_tool_calling_agent
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.tools import tool

@tool
def calculator(expression: str) -> str:
    """Calcula una expresion matematica. Ejemplo: calculator("15 * 3")"""
    try:
        return str(eval(expression))
    except:
        return "Error en la expresion"

@tool
def search_db(query: str) -> str:
    """Busca informacion de productos en la base de datos"""
    products = {
        "laptop": {"precio": 999, "stock": 15},
        "mouse": {"precio": 29, "stock": 200},
        "monitor": {"precio": 450, "stock": 8},
    }
    q = query.lower()
    for name, info in products.items():
        if name in q:
            return f"{name}: ${info['precio']}, stock: {info['stock']}"
    return "Producto no encontrado"

llm = ChatOpenAI(model="gpt-4o-mini")
tools = [calculator, search_db]

prompt = ChatPromptTemplate.from_messages([
    ("system", "Eres un asistente de tienda. Ayudas con precios y stock."),
    ("human", "{input}"),
    ("placeholder", "{agent_scratchpad}"),
])

agent = create_tool_calling_agent(llm, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools, verbose=True)

# El agente usa las herramientas automaticamente
result = executor.invoke({"input": "Cuanto cuestan 3 laptops?"})
print(result["output"])
# Usa calculator(999*3) y responde: "$2,997"
ConsejoEl decorador @tool convierte cualquier funcion Python en una herramienta de LangChain. El docstring es lo que el LLM lee para decidir cuando usarla — hazlo claro y especifico.
← Tu primer agente con la API de ClaudeRAG: IA con tus propios datos →

Practica esta lección

Resuelve los ejercicios del curso de Agentes de IA en la app, gratis y con corrección automática.

Empezar a practicar