File size: 1,904 Bytes
5a5b670
 
 
 
 
 
 
eede9dc
5a5b670
 
 
 
7301bb7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
---
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
---

# 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**: Simple Gradio interface for end-to-end research.

## Usage

1. **Input your research topic** in the UI.
2. **Answer clarifying questions** (if any).
3. **Run the research** to receive a detailed report.

## 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. **Install dependencies:**
   ```sh
   uv pip install -r pyproject.toml
   ```
4. **Run the app:**
   ```sh
   uv pip run python src/main.py
   ```

The app will launch a Gradio interface in your browser.