Skip to content

ZV-Liu/DeepResearchAgent

 
 

Repository files navigation

DeepResearchAgent

English | 简体中文

Introduction

DeepResearchAgent is a hierarchical multi-agent system designed not only for deep research tasks but also for general-purpose task solving. The framework leverages a top-level planning agent to coordinate multiple specialized lower-level agents, enabling automated task decomposition and efficient execution across diverse and complex domains.

Architecture

Architecture

The system adopts a two-layer structure:

1. Top-Level Planning Agent

  • Responsible for understanding, decomposing, and planning the overall workflow for a given task.
  • Breaks down tasks into manageable sub-tasks and assigns them to appropriate lower-level agents.
  • Dynamically coordinates the collaboration among agents to ensure smooth task completion.

2. Specialized Lower-Level Agents

  • Deep Analyzer

    • Performs in-depth analysis of input information, extracting key insights and potential requirements.
    • Supports analysis of various data types, including text and structured data.
  • Deep Researcher

    • Conducts thorough research on specified topics or questions, retrieving and synthesizing high-quality information.
    • Capable of generating research reports or knowledge summaries automatically.
  • Browser Use

    • Automates browser operations, supporting web search, information extraction, and data collection tasks.
    • Assists the Deep Researcher in acquiring up-to-date information from the internet.

Features

  • Hierarchical agent collaboration for complex and dynamic task scenarios
  • Extensible agent system, allowing easy integration of additional specialized agents
  • Automated information analysis, research, and web interaction capabilities
  • Secure Python code execution environment for tools, featuring configurable import controls, restricted built-ins, attribute access limitations, and resource limits. (See PythonInterpreterTool Sandboxing for details).

Updates

  • 2025.06.01: Update the browser-use to 0.1.48.
  • 2025.05.30: Convert the sub agent to a function call. Planning agent can now be gpt-4.1 or gemini-2.5-pro.
  • 2025.05.27: Support OpenAI, Anthropic, Google LLMs, and local Qwen models (via vLLM, see details in Usage).

TODO List

  • Asynchronous feature completed
  • Image Generation Agent to be developed
  • MCP in progress
  • AI4Research Agent to be developed
  • Novel Writing Agent to be developed

Installation

Prepare Environment

# poetry install environment
conda create -n dra python=3.11
conda activate dra
make install

# (Optional) You can also use requirements.txt
conda create -n dra python=3.11
conda activate dra
make install-requirements

# playwright install if needed
pip install playwright
playwright install chromium --with-deps --no-shell

Set Up .env

PYTHONWARNINGS=ignore
ANONYMIZED_TELEMETRY=false
HUGGINEFACE_API_KEY=abcabcabc
OPENAI_API_BASE=https://api.openai.com/v1
OPENAI_API_KEY=abcabcabc
ANTHROPIC_API_BASE=https://api.anthropic.com
ANTHROPIC_API_KEY=abcabcabc
GOOGLE_APPLICATION_CREDENTIALS=/your/user/path/.config/gcloud/application_default_credentials.json
GOOGLE_API_BASE=https://generativelanguage.googleapis.com
GOOGLE_API_KEY=abcabcabc

Refer to:

brew install --cask google-cloud-sdk
gcloud init
gcloud auth application-default login

Usage

Deep Researcher for "AI Agent"

python examples/run_example.py

GAIA Evaluation Example

# Download GAIA
mkdir data && cd data
git clone https://huggingface.co/datasets/gaia-benchmark/GAIA

# Run
python examples/run_gaia.py

Deploying Qwen Models via vLLM

Step 1: Launch the vLLM Inference Service

nohup bash -c 'CUDA_VISIBLE_DEVICES=0,1 python -m vllm.entrypoints.openai.api_server \
  --model /input0/Qwen3-32B \
  --served-model-name Qwen \
  --host 0.0.0.0 \
  --port 8000 \
  --max-num-seqs 16 \
  --enable-auto-tool-choice \
  --tool-call-parser hermes \
  --tensor_parallel_size 2' > vllm_qwen.log 2>&1 &

Update .env:

QWEN_API_BASE=http://localhost:8000/v1
QWEN_API_KEY="abc"

Step 2: Launch the Agent Service

python main.py

Example command:

Use deep_researcher_agent to search the latest papers on the topic of 'AI Agent' and then summarize it.

Experiments

We evaluated our agent on the GAIA validation set and achieved state-of-the-art performance on May 10th.

GAIA Example Result

Questions

1. About Qwen Models

Our framework now supports:

  • qwen2.5-7b-instruct
  • qwen2.5-14b-instruct
  • qwen2.5-32b-instruct

Update your config:

model_id = "qwen2.5-7b-instruct"

2. Browser Use

If problems occur, reinstall:

pip install "browser-use[memory]"==0.1.48
pip install playwright
playwright install chromium --with-deps --no-shell

3. Sub-Agent Calling

Function-calling is now supported natively by GPT-4.1 / Gemini 2.5 Pro. Claude-3.7-Sonnet is also recommended.

Acknowledgement

DeepResearchAgent is inspired by and improved upon:

Contribution

Contributions and suggestions are welcome! Feel free to open issues or submit pull requests.

Cite

@misc{DeepResearchAgent,
  title =        {`DeepResearchAgent`: A Hierarchical Multi-Agent Framework for General-purpose Task Solving.},
  author =       {Wentao Zhang, Ce Cui, Yang Liu, Bo An},
  howpublished = {\url{https://github.com/SkyworkAI/DeepResearchAgent}},
  year =         {2025}
}

🇨🇳 中文版说明文档

如果你更习惯阅读中文说明文档,请查阅 README.zh.md

About

基于vLLM的Qwen模型本地部署

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Fluent 59.3%
  • Python 19.0%
  • JavaScript 14.6%
  • CSS 5.8%
  • HTML 1.3%