pythonadvanced
LangChain ReAct Agent Pattern
Implement a ReAct (Reason+Act) agent that thinks step-by-step before calling tools.
pythonPress ⌘/Ctrl + Shift + C to copy
from langchain_openai import ChatOpenAI
from langchain_core.tools import tool
from langchain.agents import AgentExecutor, create_react_agent
from langchain import hub
@tool
def search_docs(query: str) -> str:
'''Search internal documentation.'''
return f'Found docs about: {query}. Key detail: always use async/await in FastAPI.'
@tool
def run_python(code: str) -> str:
'''Execute Python code and return result.'''
try:
result = {}
exec(code, {}, result) # noqa
return str(result)
except Exception as e:
return f'Error: {e}'
llm = ChatOpenAI(model='gpt-4o-mini', temperature=0)
prompt = hub.pull('hwchase17/react')
agent = create_react_agent(llm, [search_docs, run_python], prompt)
executor = AgentExecutor(agent=agent, tools=[search_docs, run_python], verbose=True, max_iterations=5)
result = executor.invoke({'input': 'What is 15 factorial?'})
print(result['output'])Use Cases
- reasoning agents
- tool-augmented AI
- step-by-step planning
Tags
Related Snippets
Similar patterns you can reuse in the same workflow.
pythonadvanced
Build a ReAct Agent Loop
Implement a reasoning-action loop for an AI agent that uses tools iteratively.
Best for: AI agents
#ai#agent
pythonintermediate
LangChain Tool-Using Agent
Build a LangChain agent with custom tools for web search, calculator, and Python REPL.
Best for: AI agents
#langchain#agent
pythonadvanced
LangChain SQL Database Agent
Create an AI agent that answers natural language questions by querying a SQL database.
Best for: NL2SQL
#langchain#sql
pythonadvanced
LangChain Agent with Persistent Memory
Build an AI agent that persists conversation context across sessions using LangChain memory stores.
Best for: persistent agents
#langchain#agent