pythonintermediate
LangChain Tool-Using Agent
Build a LangChain agent with custom tools for web search, calculator, and Python REPL.
pythonPress ⌘/Ctrl + Shift + C to copy
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.
pythonbeginner
LangChain Prompt Chain (Python)
Build a simple LLMChain with a prompt template and ChatOpenAI in LangChain.
Best for: prompt chaining
#langchain#openai
pythonadvanced
LangChain SQL Database Agent
Create an AI agent that answers natural language questions by querying a SQL database.
Best for: NL2SQL
#langchain#sql
pythonintermediate
LangChain Output Parser for Code
Parse AI-generated code blocks with LangChain's custom output parsers to extract clean code.
Best for: code extraction
#langchain#output-parser
pythonadvanced
LangChain ReAct Agent Pattern
Implement a ReAct (Reason+Act) agent that thinks step-by-step before calling tools.
Best for: reasoning agents
#langchain#react