DeepResearchAgent is research agent designed to autonomously conduct in-depth research on various topics. It leverages a sophisticated planning system, a dedicated lead research agent, and a suite of tools to gather, process, and synthesize information effectively.It is based on openai agents sdk.
Modular Architecture: Easily extendable with new tools and research strategies.
Intelligent Planning: Utilizes planning.py for dynamic and adaptive research plan generation.
Lead Research Agent: lead_research_agent.py orchestrates the overall research process, delegating tasks and consolidating findings.
Specialized Agents: Includes requirement_gathering.py, synthesis_agent.py, and citation_agent.py for focused tasks.
Uses OpenAI Agents SDK
├── main.py
├── planning.py
├── lead_research_agent.py
├── research_agents.py
├── requirement_gathering.py
├── synthesis_agent.py
├── citation_agent.py
├── tools.py
├── config.py
├── pyproject.toml
├── uv.lock
└── README.md
main.py : The entry point of the application. Initializes the research agent and kicks off the research process.
planning.py : Contains the logic for generating and managing research plans. This module determines the steps and strategies the agent will follow.
lead_research_agent.py : Acts as the central coordinator, overseeing the execution of the research plan, managing sub-agents or tool calls, and synthesizing information.
research_agents.py : A module containing Tavily Search Client and web_search_agent that can be instantiated and managed by the lead_research_agent.
requirement_gathering.py : Handles the initial phase of understanding, thus clarifying the research query, defining the scope, and identifying key information needs.
synthesis_agent.py : Responsible for combining findings from various sources, identifying patterns, extracting key insights, and generating a coherent research report.
citation_agent.py : Manages the tracking and formatting of sources, ensuring proper attribution and referencing for all gathered information.
tools.py : A collection of different agents that are used as tools for web search, synthesis and citation.
config.py : Stores configuration settings and other customizable parameters for the llms.
pyproject.toml : Specifies project metadata and dependencies
uv.lock : A lock file generated by uv, ensuring reproducible dependency installations for the project.
README.md : This file provide an overview of the project and usage instructions.
Clone or download the the repository:
git clone https://github.com/billy-pk/DeepResearchAgent.git
cd DeepResearchAgent
Install dependencies:
Create a virtual environment through uv and activate it. Run un sync to install the dependencies.
To start a research task, run the main.py file and enter your desired research query.
The agent will then ask for certain requirements regarding your research.
The agent will then begin its research process, utilizing its internal planning, lead agent, and specialized agents to gather and synthesize information related to your query.
Before running the agent, make sure to update the .env file with your own API keys.
Watch the deep research agent demo video on google drive:
https://drive.google.com/file/d/1eqqt5PzH2IJBqbgkc129ei2wlL7nMKYC/view?usp=sharing