File size: 2,304 Bytes
5a5b670
 
 
 
 
 
 
eede9dc
5a5b670
 
 
 
07fbf82
43b5d5c
9dc6c78
 
7301bb7
 
 
 
 
 
 
 
 
 
f3da3e8
7301bb7
 
 
f3da3e8
fae26a7
f3da3e8
7301bb7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
fae26a7
7301bb7
fae26a7
 
 
 
 
7301bb7
 
 
fae26a7
7301bb7
 
fae26a7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
---
title: Deep Research
emoji: πŸ†
colorFrom: red
colorTo: green
sdk: gradio
sdk_version: 5.34.0
app_file: src/main.py
pinned: false
license: apache-2.0
---

![CD to HF Space](https://github.com/serverdaun/deep_research/actions/workflows/sync-to-hf.yml/badge.svg)

[![View on Hugging Face Spaces](https://img.shields.io/badge/Hugging%20Face-Spaces-blue?logo=huggingface)](https://huggingface.co/spaces/serverdaun/deep-research)

# Deep Research

**Deep Research** is an AI-powered research assistant that helps users investigate complex topics by generating clarifying questions, planning web searches, and synthesizing detailed markdown reports.

## Features

- **Clarification**: Asks targeted questions to refine the research query.
- **Planning**: Suggests up to five web searches to address the query.
- **Web Search**: Summarizes web results for each planned search.
- **Report Generation**: Produces a comprehensive markdown report with a summary and follow-up questions.
- **Interactive UI**: Chat-based Gradio interface for end-to-end research.

## Usage

1. **Send your research topic** in the chat box.
2. **Answer the clarifying questions**.
3. **Receive the detailed report** back in the same conversation.

## Tech Stack

- Python, Gradio
- [openai-agents](https://pypi.org/project/openai-agents/) (for agent orchestration)
- Async/await for non-blocking operations

## File Overview

- `main.py` β€” Gradio UI and app entry point
- `research_manager.py` β€” Orchestrates the research workflow
- `research_agent.py` β€” Core agent logic and tool coordination
- `clarifier.py` β€” Generates clarifying questions
- `planner.py` β€” Plans web search queries
- `web_search.py` β€” Summarizes web search results
- `report_generator.py` β€” Creates the final markdown report

## Setup (with [uv](https://github.com/astral-sh/uv))

1. **Install Python 3.12** (if not already installed).
2. **Install [uv](https://github.com/astral-sh/uv):**
   ```sh
   pip install uv
   ```
3. **Create enviroment and install dependencies:**
   ```sh
   uv sync
   ```
4. **Activate the enviroment**
   ```sh
   source .venv/bin/activate #.venv/Scripts/activate on Win
   ```
4. **Run the app:**
   ```sh
   uv run src/main.py
   ```

The app will launch a Gradio interface that you can access in your browser.