Skip to content

Latest commit

Β 

History

2 Commits

Folders and files

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

Repository files navigation

πŸ€– Multi-Agent Research Assistant

An intelligent Agentic AI Research Assistant built using LangGraph, LangChain, Groq LLM, ChromaDB, Tavily Search, and Wikipedia, capable of autonomously planning research, gathering information from multiple sources, reflecting on the quality of its work, refining queries, and maintaining long-term semantic memory.

🌐 Live Demo

πŸš€ Try the application here

Streamlit App:
https://multiagentresearchassistant-chethan.streamlit.app/

GitHub Repository:
https://github.com/ChethanMShivappa/MultiAgentResearchAssistant


πŸš€ Features

βœ… Multi-Agent Architecture using LangGraph

βœ… Intelligent Research Planning

βœ… Multi-Source Information Retrieval

  • Tavily Search API
  • Wikipedia Search

βœ… Reflection Agent

  • Evaluates research quality
  • Scores research output
  • Identifies strengths & weaknesses
  • Suggests improvements

βœ… Query Refinement

  • Automatically improves weak queries
  • Performs iterative research

βœ… Persistent Semantic Memory

  • ChromaDB Vector Database
  • Retrieves relevant past research
  • Context-aware responses

βœ… Interactive Streamlit Dashboard

  • Modern UI
  • Workflow visualization
  • Research report
  • Memory display
  • Sources used
  • Analytics

πŸ— Architecture

                User Query
                     β”‚
                     β–Ό
           Planner Agent
                     β”‚
                     β–Ό
         Search Manager Agent
          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
          β–Ό                     β–Ό
   Tavily Search        Wikipedia Search
          β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                     β–Ό
            Research Agent
                     β”‚
                     β–Ό
           Reflection Agent
          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
          β”‚                     β”‚
     Approved?              Needs Improvement
          β”‚                     β”‚
          β–Ό                     β–Ό
     Memory Agent       Query Refiner Agent
          β”‚                     β”‚
          β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                     β–Ό
               Final Response

πŸ“‚ Project Structure

MultiAgentResearchAssistant/
β”‚
β”œβ”€β”€ agents/
β”‚   β”œβ”€β”€ planner_agent.py
β”‚   β”œβ”€β”€ research_agent.py
β”‚   β”œβ”€β”€ reflection_agent.py
β”‚   β”œβ”€β”€ query_refiner_agent.py
β”‚
β”œβ”€β”€ graph/
β”‚   β”œβ”€β”€ graph.py
β”‚   β”œβ”€β”€ state.py
β”‚
β”œβ”€β”€ memory/
β”‚   β”œβ”€β”€ chroma_memory.py
β”‚
β”œβ”€β”€ prompts/
β”‚
β”œβ”€β”€ schemas/
β”‚
β”œβ”€β”€ tests/
β”‚
β”œβ”€β”€ tools/
β”‚   β”œβ”€β”€ tavily_search.py
β”‚   β”œβ”€β”€ wikipedia_search.py
β”‚
β”œβ”€β”€ reports/
β”‚
β”œβ”€β”€ utils/
β”‚
β”œβ”€β”€ app.py
β”œβ”€β”€ config.py
β”œβ”€β”€ requirements.txt
└── README.md

βš™ Tech Stack

Category Technology
LLM Groq (Llama 3.3 70B)
Framework LangGraph
LLM Framework LangChain
Memory ChromaDB
Embeddings sentence-transformers
Search Tavily API
Knowledge Base Wikipedia
Frontend Streamlit
Language Python

🧠 Workflow

1. Planner Agent

Creates a structured research plan based on the user's query.

↓

2. Search Manager

Collects information from:

  • Tavily Search
  • Wikipedia

↓

3. Research Agent

Combines information into a comprehensive research report.

↓

4. Reflection Agent

Evaluates the generated report based on:

  • Completeness
  • Accuracy
  • Coverage
  • Clarity

↓

5. Query Refiner

If the report quality is insufficient:

  • Improves the research query
  • Runs another research cycle

↓

6. Memory Agent

Stores research in ChromaDB and retrieves relevant past knowledge for future queries.


πŸ“Έ Screenshots

Dashboard

Dashboard

Workflow

Workflow

Research Report

Research Report

πŸ›  Installation

Clone Repository

git clone https://github.com/ChethanMShivappa/MultiAgentResearchAssistant.git

cd MultiAgentResearchAssistant

Create Virtual Environment

Windows

python -m venv venv

venv\Scripts\activate

Linux / Mac

python3 -m venv venv

source venv/bin/activate

Install Dependencies

pip install -r requirements.txt

Configure Environment

Create a .env file

GROQ_API_KEY=YOUR_GROQ_API_KEY

TAVILY_API_KEY=YOUR_TAVILY_API_KEY

Run Streamlit

streamlit run app.py

πŸ§ͺ Running Tests

python -m tests.test_graph

πŸ“Š Example Research Flow

User Query

↓

Planner Agent

↓

Search Manager

↓

Research Agent

↓

Reflection Agent

↓

Approved?

↓

Memory Storage

↓

Final Research Report

🌟 Key Highlights

  • Autonomous Multi-Agent Workflow
  • Reflection-Based Quality Improvement
  • Long-Term Semantic Memory
  • Retrieval-Augmented Research
  • Interactive Dashboard
  • Modular Agent Design
  • Production-Ready Architecture

πŸš€ Future Improvements

  • PDF Report Export
  • Citation Generation
  • Multi-LLM Support
  • Local LLM Integration
  • Voice Interface
  • Research History Database
  • Docker Deployment
  • Cloud Deployment (AWS / Azure / GCP)

πŸ‘¨β€πŸ’» Author

Chethan M S

AI Engineer | Generative AI | Agentic AI | Machine Learning

GitHub: https://github.com/ChethanMShivappa

LinkedIn: linkedin.com/in/chethan-m-s-b544673a9


πŸ“œ License

This project is licensed under the MIT License.


⭐ Support

If you found this project useful, consider giving it a ⭐ on GitHub.

It helps others discover the project and motivates further development.


πŸ™ Acknowledgements

  • LangGraph
  • LangChain
  • Groq
  • ChromaDB
  • Tavily
  • Wikipedia
  • Streamlit

About

A Multi-Agent AI Research Assistant built with LangGraph, LangChain, Groq, ChromaDB, and Streamlit.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages