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.
π Try the application here
Streamlit App:
https://multiagentresearchassistant-chethan.streamlit.app/
GitHub Repository:
https://github.com/ChethanMShivappa/MultiAgentResearchAssistant
β 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
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
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
| 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 |
Creates a structured research plan based on the user's query.
β
Collects information from:
- Tavily Search
- Wikipedia
β
Combines information into a comprehensive research report.
β
Evaluates the generated report based on:
- Completeness
- Accuracy
- Coverage
- Clarity
β
If the report quality is insufficient:
- Improves the research query
- Runs another research cycle
β
Stores research in ChromaDB and retrieves relevant past knowledge for future queries.
git clone https://github.com/ChethanMShivappa/MultiAgentResearchAssistant.git
cd MultiAgentResearchAssistantpython -m venv venv
venv\Scripts\activatepython3 -m venv venv
source venv/bin/activatepip install -r requirements.txtCreate a .env file
GROQ_API_KEY=YOUR_GROQ_API_KEY
TAVILY_API_KEY=YOUR_TAVILY_API_KEY
streamlit run app.pypython -m tests.test_graphUser Query
β
Planner Agent
β
Search Manager
β
Research Agent
β
Reflection Agent
β
Approved?
β
Memory Storage
β
Final Research Report
- Autonomous Multi-Agent Workflow
- Reflection-Based Quality Improvement
- Long-Term Semantic Memory
- Retrieval-Augmented Research
- Interactive Dashboard
- Modular Agent Design
- Production-Ready Architecture
- PDF Report Export
- Citation Generation
- Multi-LLM Support
- Local LLM Integration
- Voice Interface
- Research History Database
- Docker Deployment
- Cloud Deployment (AWS / Azure / GCP)
Chethan M S
AI Engineer | Generative AI | Agentic AI | Machine Learning
GitHub: https://github.com/ChethanMShivappa
LinkedIn: linkedin.com/in/chethan-m-s-b544673a9
This project is licensed under the MIT License.
If you found this project useful, consider giving it a β on GitHub.
It helps others discover the project and motivates further development.
- LangGraph
- LangChain
- Groq
- ChromaDB
- Tavily
- Wikipedia
- Streamlit


