An autonomous multi-agent research pipeline that plans, retrieves, analyzes, and synthesizes technical documentation β powered by cloud-hosted LLMs and real-time web retrieval.
Live Demo: https://deepresearcher.streamlit.app/
This system emulates a professional research workflow by combining planning, retrieval, and reasoning capabilities into a fully automated pipeline.
- π Decompose a research topic into structured, targeted questions
- π Retrieve real-time information from the web via Tavily Search API
- π§ Reason over retrieved context using cloud-hosted LLMs
- π Generate high-quality, structured technical documentation
- π€ Export research outputs in TXT, PDF, and Word formats
Built as part of the OpenDeepResearcher: Agentic LLM Research Framework internship project.
The application follows a sequential multi-agent workflow, where each agent operates as an independent module with a clearly defined responsibility.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β USER INPUT (Topic) β
βββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β π§© PLANNER AGENT (planner_agent.py) β
β Analyzes the topic and generates targeted research β
β questions. Acts as the strategic blueprint for the β
β entire research process. β
βββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββ
β Research Questions
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β π SEARCHER AGENT (searcher_agent.py) β
β Uses Tavily Search API for real-time web retrieval. β
β Collects contextual facts and reference sources to β
β supply grounded information to the Writer Agent. β
βββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββ
β Context + Sources
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β βοΈ WRITER AGENT (main.py) β
β Synthesizes planner questions and retrieved context β
β into a professional research report with structured β
β sections: Executive Summary, Technical Analysis, β
β Challenges & Ethics, and Strategic Conclusion. β
βββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββ
β Final Report
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β π€ EXPORT (TXT / PDF / Word) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Component | Technology | Purpose |
|---|---|---|
| LLM Inference | Groq (Llama 3.1 8B) | Cloud-hosted, OpenAI-compatible LLM API |
| Web Search | Tavily Search API | Real-time information retrieval |
| Frontend | Streamlit | Interactive web UI with dark/light mode |
| PDF Export | ReportLab | Professional PDF document generation |
| Word Export | python-docx | Word document generation |
βββ app.py # Streamlit UI β interactive research workflow
βββ main.py # Writer Agent + CLI entry point
βββ planner_agent.py # Planner Agent β generates research questions
βββ searcher_agent.py # Searcher Agent β retrieves web context via Tavily
βββ llm_utils.py # Shared utilities β LLM calls (Groq) & Tavily search
βββ requirements.txt # Python dependencies for deployment
βββ .gitignore # Protects .env and secrets from GitHub
βββ .env # API keys (local only, never committed)
βββ README.md # Project documentation
- Python 3.10+
- Groq API Key (free)
- Tavily API Key (free tier available)
git clone https://github.com/dinesh9997/OpenDeepResearcher-Agentic-LLM-Research-Framework.git
cd OpenDeepResearcher-Agentic-LLM-Research-Frameworkpip install -r requirements.txtCreate a .env file in the project root:
LLM_API_KEY=your_groq_api_key_here
LLM_BASE_URL=https://api.groq.com/openai/v1
LLM_MODEL_NAME=llama-3.1-8b-instant
TAVILY_API_KEY=your_tavily_api_key_herestreamlit run app.pyThe app will be available at http://localhost:8501
- Dark Mode & Light (Gold) Mode toggle
- Clean, card-based layout with gradient animations
- Guided research flow:
Topic β Planner β Writer β Export - One-click export to TXT, PDF, or Word
- Push this repository to GitHub
- Go to share.streamlit.io
- Connect your repository β Branch:
main - Set Main file path:
app.py - Add secrets in Settings β Secrets:
LLM_API_KEY = "gsk_your_groq_key"
LLM_BASE_URL = "https://api.groq.com/openai/v1"
LLM_MODEL_NAME = "llama-3.1-8b-instant"
TAVILY_API_KEY = "tvly_your_tavily_key"- Click Deploy π
| Format | Library | Features |
|---|---|---|
| π TXT | Built-in | Plain text with markdown formatting |
| π PDF | ReportLab | Professional layout with styled headings |
| π Word | python-docx | Editable document with paragraph structure |
- API keys are stored in
.env(local) or Streamlit Secrets (cloud) .gitignoreensures.envis never pushed to GitHub- No hardcoded credentials anywhere in the codebase
This project fully aligns with the internship objectives by:
- β Implementing a complete agentic research pipeline
- β Using cloud-hosted LLMs via Groq for scalable deployment
- β Integrating real-time web retrieval via Tavily Search API
- β Delivering a polished UI with professional export capabilities
- β Following modular architecture with separated agent responsibilities
- β Demonstrating end-to-end system design and execution
GUJJU DINESH B.Tech β CSE (Artificial Intelligence)