📡 You're offline — showing cached content
New version available!
Quick Access
Tutorials AI Agents and Automation LangChain Agents

LangChain Agents

5 min read
LangChain AgentExecutor wraps the ReAct loop — define @tool functions and pass them to the agent.

LangChain Agents

from langchain_anthropic import ChatAnthropic
from langchain.agents import create_tool_calling_agent, AgentExecutor
from langchain_core.prompts import ChatPromptTemplate
from langchain_community.tools import DuckDuckGoSearchRun
from langchain_core.tools import tool

# Define tools
@tool
def calculator(expression: str) -> str:
    """Evaluate a mathematical expression."""
    return str(eval(expression))

@tool
def read_csv(path: str) -> str:
    """Read a CSV file and return summary stats."""
    import pandas as pd
    df = pd.read_csv(path)
    return df.describe().to_string()

tools = [DuckDuckGoSearchRun(), calculator, read_csv]

llm    = ChatAnthropic(model="claude-opus-4-5")
prompt = ChatPromptTemplate.from_messages([
    ("system", "You are a helpful data analyst agent."),
    ("human", "{input}"),
    ("placeholder", "{agent_scratchpad}"),
])

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

result = agent_executor.invoke({"input":"Analyse the data in sales.csv and find top 3 products"})