Skip to content

dinesh9997/OpenDeepResearcher-Agentic-LLM-Research-Framework

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

17 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧠 Agentic RAG Research System

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/

Streamlit App Python Groq Tavily


🎯 Project Objective

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.


🧩 System Architecture

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)                   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ› οΈ Tech Stack

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

πŸ“ Project Structure

β”œβ”€β”€ 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

⚑ Quick Start

Prerequisites

1. Clone the Repository

git clone https://github.com/dinesh9997/OpenDeepResearcher-Agentic-LLM-Research-Framework.git
cd OpenDeepResearcher-Agentic-LLM-Research-Framework

2. Install Dependencies

pip install -r requirements.txt

3. Configure Environment Variables

Create 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_here

4. Run the Application

streamlit run app.py

The app will be available at http://localhost:8501


🎨 User Interface

  • 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

πŸš€ Deployment (Streamlit Cloud)

  1. Push this repository to GitHub
  2. Go to share.streamlit.io
  3. Connect your repository β†’ Branch: main
  4. Set Main file path: app.py
  5. 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"
  1. Click Deploy πŸš€

πŸ“€ Export Formats

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

πŸ”’ Security

  • API keys are stored in .env (local) or Streamlit Secrets (cloud)
  • .gitignore ensures .env is never pushed to GitHub
  • No hardcoded credentials anywhere in the codebase

βœ… Internship Alignment

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

πŸ‘€ Author

GUJJU DINESH B.Tech – CSE (Artificial Intelligence)


About

Agentic RAG Research System implementation using LM Studio and Streamlit .

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%