pythonintermediate

LangChain Tool-Using Agent

Build a LangChain agent with custom tools for web search, calculator, and Python REPL.

python
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 calculate(expression: str) -> str:
    '''Evaluate a math expression safely.'''
    try:
        return str(eval(expression, {'__builtins__': {}}))
    except Exception as e:
        return f'Error: {e}'

llm = ChatOpenAI(model='gpt-4o-mini')
prompt = ChatPromptTemplate.from_messages([
    ('system', 'You are a helpful assistant. Use tools when needed.'),
    ('human', '{input}'),
    ('placeholder', '{agent_scratchpad}'),
])

agent = create_tool_calling_agent(llm, [calculate], prompt)
executor = AgentExecutor(agent=agent, tools=[calculate], verbose=True)
result = executor.invoke({'input': 'What is 17 * 23?'})
print(result['output'])

Use Cases

  • AI agents
  • tool-augmented LLMs
  • math reasoning

Tags

Related Snippets

Similar patterns you can reuse in the same workflow.