Skip to content

Latest commit

Β 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ”¬ ResearchMind β€” Multi-Agent AI Research System

An autonomous multi-agent pipeline that researches any topic β€” searches, reads, writes, and critiques its own work.

Live Demo Python Streamlit LangChain Mistral AI

Live Demo Β· Report a Bug Β· Request a Feature


πŸ“– About The Project

ResearchMind is a multi-agent AI system that automates the entire research workflow β€” from a single topic input to a polished, self-reviewed research report β€” with zero manual effort.

Instead of one large model trying to do everything, ResearchMind breaks the task into four specialized agents, each with a narrow, well-defined job, working together in a pipeline. This mirrors how a real research team operates: someone gathers sources, someone reads and digs deeper, someone writes it up, and someone reviews it critically before it ships.

This project was built to demonstrate practical, production-style agentic AI system design β€” tool-calling agents, LCEL chains, structured state passing between stages, and a polished UI layer β€” rather than a single prompt-in/prompt-out wrapper.

🎯 What It Does

Give it any topic β€” "Quantum computing breakthroughs in 2026", "CRISPR gene editing", "Fusion energy progress" β€” and it will:

  1. πŸ” Search the live web for recent, reliable sources
  2. πŸ“„ Scrape and extract deep content from the most relevant source
  3. ✍️ Draft a structured, multi-section research report
  4. 🧐 Critically review and score its own report
  5. ⬇️ Let you download the final report as Markdown

πŸ”— Live Demo

No installation needed β€” open the link, type a topic, and watch the four agents work in real time.


πŸ–ΌοΈ Screenshots

Landing Page Pipeline in Action Final Report
Landing Page Pipeline Running Final Report

✨ Key Features

  • πŸ€– True multi-agent architecture β€” 4 independent agents/chains, not one monolithic prompt
  • πŸ”Ž Live web-grounded research β€” real-time search via Tavily, not hallucinated facts
  • 🌐 Autonomous web scraping β€” reads full page content beyond search snippets
  • 🧠 Self-critique loop β€” a dedicated Critic agent scores and reviews the final report
  • πŸ“Š Real-time pipeline visualization β€” watch each agent's status live (waiting β†’ running β†’ done)
  • ⬇️ Exportable output β€” download the finished report as a .md file
  • 🎨 Custom-designed UI β€” fully custom dark-themed Streamlit interface, not default styling

πŸ—οΈ How It Works β€” Architecture

                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
     User Topic ──▢ β”‚   Search Agent   β”‚  β†’ Tavily web search (Titles, URLs, Snippets)
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β–Ό
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚   Reader Agent   β”‚  β†’ Scrapes most relevant URL for deep content
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β–Ό
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚   Writer Chain   β”‚  β†’ Synthesizes findings into structured report
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β–Ό
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚   Critic Chain   β”‚  β†’ Scores & reviews the report (1–10 + feedback)
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β–Ό
                Final Report + Feedback (downloadable)

Search Agent and Reader Agent are true tool-calling agents (built with LangChain's create_agent) that decide how to use their tools (web_search, scrape_url). Writer Chain and Critic Chain are LCEL (prompt | llm | parser) chains β€” deterministic, single-purpose steps that transform state into the next stage's input.


πŸ› οΈ Tech Stack

Layer Technology
LLM Mistral AI (mistral-medium-3-5) via langchain-mistralai
Agent Orchestration LangChain create_agent + LangGraph
Web Search Tavily API
Web Scraping requests + BeautifulSoup4
UI / Frontend Streamlit (custom CSS, no default theme)
Deployment Streamlit Community Cloud
Language Python 3.10+

πŸ“‚ Project Structure

ResearchMind-Multi-Agent-AI/
β”œβ”€β”€ app.py              # Streamlit UI β€” main entry point for deployment
β”œβ”€β”€ agents.py           # Agent + chain definitions (search, reader, writer, critic)
β”œβ”€β”€ pipeline.py          # CLI-based pipeline runner (for local/terminal use)
β”œβ”€β”€ tools.py             # Custom tools: web_search (Tavily), scrape_url (BeautifulSoup)
β”œβ”€β”€ requirements.txt     # Python dependencies
β”œβ”€β”€ .gitignore            # Excludes .env, .venv, __pycache__
└── README.md

πŸš€ Getting Started β€” Run It Locally

Prerequisites

Installation

1. Clone the repository

git clone https://github.com/garvkumarsharma/ResearchMind-Multi-Agent-AI.git
cd ResearchMind-Multi-Agent-AI

2. Create and activate a virtual environment

python -m venv .venv

# Windows
.venv\Scripts\activate

# macOS/Linux
source .venv/bin/activate

3. Install dependencies

pip install -r requirements.txt

4. Set up environment variables

Create a .env file in the project root:

MISTRAL_API_KEY=your_mistral_api_key_here
TAVILY_API_KEY=your_tavily_api_key_here

⚠️ Never commit your .env file. It's already excluded via .gitignore.

5. Run the app

To launch the Streamlit UI:

streamlit run app.py

Or, to run the pipeline directly from the terminal (no UI):

python pipeline.py

The app will open at http://localhost:8501.


☁️ Deployment

This project is deployed on Streamlit Community Cloud, connected directly to this GitHub repository.

If you'd like to deploy your own fork:

  1. Push your fork to GitHub
  2. Go to share.streamlit.io β†’ Create app
  3. Point it at your repo, branch main, main file app.py
  4. Under Advanced settings β†’ Secrets, add:
    MISTRAL_API_KEY = "your_key_here"
    TAVILY_API_KEY = "your_key_here"
  5. Deploy πŸš€

🧭 Roadmap / Future Improvements

  • Add support for multiple LLM providers (OpenAI, Gemini) via a model switcher
  • PDF export in addition to Markdown
  • Conversation memory for follow-up/refinement queries
  • Unit tests for agents and tools

πŸ‘€ Author

Garv Kumar Sharma


πŸ“„ License

This project is open source and available under the MIT License.


If you found this project interesting, consider giving it a ⭐ on GitHub!

About

Multi-agent AI research system - Search, Reader, Writer & Critic agents collaborate to generate research reports

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages