Skip to content
LangChain

Research Agent with LangChain

Build an autonomous research agent that searches the web, synthesizes findings, and produces structured reports — powered by LangChain.

researchweb searchreportsautomation

Working Code

LangChain
from langchain_openai import ChatOpenAI
from langchain_core.tools import tool
@tool
def web_search(query: str, max_results: int = 3) -> str:
"""Search the web for current information."""
from tavily import TavilyClient
client = TavilyClient()
results = client.search(query, max_results=max_results)
return "\n\n".join(
f"**{r['title']}**\n{r['content']}" for r in results["results"]
)
model = ChatOpenAI(model="gpt-4o")
model_with_tools = model.bind_tools([web_search])
response = model_with_tools.invoke([
("system", "You are a research assistant. Search the web to gather information, then synthesize findings into a structured report with citations."),
("user", "Compare the latest developments in AI agent frameworks in 2025"),
])

Step by Step

1

Install dependencies

Install LangChain and the required tools for this use case.

2

Define your tools

Create the domain-specific tool functions your agent will use to interact with external services.

3

Create the agent and run

Initialize the LangChain agent with your tools, set the system prompt, and execute a query.

Ready to build with LangChain?

Generate a production-ready project with LangChain pre-configured — FastAPI + Next.js, auth, streaming, and more.

Get Started

Ready to build your first production AI agent?

Open-source tools, battle-tested patterns, zero boilerplate. Configure your stack and ship in minutes — not months.