gitmyhub

open_deep_research

Python ★ 12k updated 1d ago

An open-source AI research agent that takes a question, searches the web iteratively, reads and summarizes sources, and compiles findings into a structured written report, no coding needed to use it.

PythonLangGraphLangChainOpenAI APIAnthropic APIsetup: moderatecomplexity 3/5

Open Deep Research is an open-source AI agent that conducts multi-step research on a topic and produces a written report. You give it a question, and it searches the web, reads and summarizes sources, then compiles the findings into a structured document. This is sometimes called a deep research agent, referring to the pattern of having an AI system do iterative search and synthesis rather than answering from memory alone.

The project is built by the team behind LangChain and runs on their LangGraph framework, which manages the steps of the research workflow as a graph of operations. It works with AI models from many different providers, including OpenAI, Anthropic, and others, and with several different web search backends. You can configure which model handles each part of the pipeline, such as summarizing individual search results versus writing the final report.

To run it locally, you clone the repository, set up a Python environment, add API keys for your chosen model and search provider to a configuration file, and start a local server. A browser-based interface called LangGraph Studio then lets you submit research questions and adjust settings without writing code.

The project has been evaluated on Deep Research Bench, a benchmark of 100 research tasks created by domain experts across fields like science, technology, and finance. As of mid-2025 it ranked in the top ten on that leaderboard. Running the full benchmark costs roughly $20 to $100 in API fees depending on the models chosen.

The repository includes a free online course from LangChain Academy that walks through building a similar system from scratch, intended for people who want to understand how the agent works internally rather than just use it as a tool.

Where it fits