CoolFace
Apppublic

mahabub-unlocked/autonomous-research-assistant

sourceHugging Facemitupdated 6mo agoView on Hugging Face
0likes
App README

<div align="center">

🧠 Autonomous Research Assistant

<img src="https://readme-typing-svg.demolab.com?font=Fira+Code&size=20&pause=1000&color=667EEA&center=true&vCenter=true&width=600&lines=Intelligent+AI+Research+Assistant;LangGraph+%7C+Groq+%7C+Streamlit;Web+Search+%7C+Wikipedia+%7C+PDF+Analysis;Bengali+%F0%9F%87%A7%F0%9F%87%A9+%7C+English+%F0%9F%87%AC%F0%9F%87%A7+Support" alt="Typing SVG" />

<br>

Python LangGraph Groq LangChain Streamlit HuggingFace License

<br>

![Live Demo](https://huggingface.co/spaces/mahabub-unlocked/QueryMind-AI) ![LinkedIn](https://www.linkedin.com/in/md-mahabub-alam-bishal/)

<br>

ą¦ą¦•ą¦Ÿą¦¾ intelligent AI research assistant যা যেকোনো বিষয়ে real-time web search, Wikipedia analysis, ą¦ą¦¬ą¦‚ document processing করে ą¦¬ą¦æą¦øą§ą¦¤ą¦¾ą¦°ą¦æą¦¤ ą¦‰ą¦¤ą§ą¦¤ą¦° ą¦Ŗą§ą¦°ą¦¦ą¦¾ą¦Ø করে — LangGraph ą¦ą¦° ReAct agent framework ą¦¦ą¦æą¦Æą¦¼ą§‡ą„¤

</div>


šŸŽÆ Project Overview

Autonomous Research Assistant হল ą¦ą¦•ą¦Ÿą¦æ AI-powered research assistant যা তিনটা powerful tool ą¦¬ą§ą¦Æą¦¬ą¦¹ą¦¾ą¦° করে —

Web Search — DuckDuckGo দিয়ে real-time internet search Wikipedia Analysis — যেকোনো বিষয়ে Wikipedia ঄েকে ą¦¬ą¦æą¦øą§ą¦¤ą¦¾ą¦°ą¦æą¦¤ ą¦¤ą¦„ą§ą¦Æ Document Processing — PDF ও TXT file upload করে analyze করা


šŸš€ Live Demo

šŸ‘‰ [App Open করো](https://huggingface.co/spaces/mahabub-unlocked/QueryMind-AI)

FeatureDescription
šŸ” Web SearchReal-time internet search
šŸ“– Wikipediaą¦¬ą¦æą¦øą§ą¦¤ą¦¾ą¦°ą¦æą¦¤ research
šŸ“„ File AnalysisPDF ও TXT analyze
🌐 MultilingualBengali ও English support
⚔ StreamingReal-time typing effect

šŸ—ļø Architecture

User Query (Bengali / English)
        │
        ā–¼
ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│   ReAct Agent     │ ── Tool selection decision
│   (LangGraph)     │
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜
         │
    ā”Œā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”
    ā–¼         ā–¼         ā–¼
ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā” ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā” ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│  Web   │ │ Wiki   │ │  File  │
│ Search │ │ Search │ │ Loader │
│  šŸ”   │ │  šŸ“–   │ │  šŸ“„   │
ā””ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”˜ ā””ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”˜ ā””ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”˜
    ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜
                │
                ā–¼
ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│   LLaMA 3.3 70B       │ ── Response generate
│   (via Groq)          │
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜
            │
            ā–¼
ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│   Streamlit UI        │ ── Streaming output
│   Chat Interface      │ ── History + Export
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜

✨ Features

FeatureDescription
šŸ” Web SearchDuckDuckGo দিয়ে real-time internet search
šŸ“– Wikipedia Searchযেকোনো বিষয়ে Wikipedia ঄েকে ą¦¬ą¦æą¦øą§ą¦¤ą¦¾ą¦°ą¦æą¦¤ ą¦¤ą¦„ą§ą¦Æ
šŸ“„ File AnalysisPDF ও TXT file upload করে analyze করা
🌐 Multi-languageBengali šŸ‡§šŸ‡© ও English šŸ‡¬šŸ‡§ response support
⚔ Streaming OutputReal-time ą¦Ÿą¦¾ą¦‡ą¦Ŗą¦æą¦‚ effect ą¦ response
šŸ’¾ Chat HistoryConversation save ও load করার সুবিধা
šŸ“„ PDF Exportপুরো chat PDF ą¦ export করা
šŸ“‹ Copy Buttonযেকোনো response ą¦ą¦• click ą¦ copy
🧠 ReAct AgentIntelligent tool selection ও decision making

šŸ› ļø Tech Stack

ComponentTechnology
FrontendStreamlit
AI AgentLangGraph (ReAct)
LLMLLaMA 3.3 70B via Groq
ToolsDuckDuckGo + Wikipedia
FrameworkLangChain
LanguagePython 3.10+
DeploymentHugging Face Spaces

šŸ“ Project Structure

Autonomous Research Assistant/
│
ā”œā”€ā”€ šŸ“„ app.py               # Streamlit UI & main application
ā”œā”€ā”€ šŸ¤– agent.py             # LangGraph ReAct agent setup
ā”œā”€ā”€ šŸ”§ tools.py             # Custom LangChain tools
ā”œā”€ā”€ šŸ“‹ requirements.txt     # Python dependencies
ā”œā”€ā”€ šŸ”’ .env                 # API keys (local only)
ā”œā”€ā”€ 🚫 .gitignore           # Git ignore rules
└── šŸ“– README.md            # Project documentation

šŸš€ Getting Started

Prerequisites

Python 3.10+
Groq API Key → groq.com (Free)

Installation

1. Clone the repository

bash
git clone https://github.com/mdmahabubalambishas/Autonomous Research Assistant.git
cd Autonomous Research Assistant

2. Create virtual environment

bash
python -m venv venv
venv\Scripts\activate        # Windows
source venv/bin/activate     # Mac/Linux

3. Install dependencies

bash
pip install -r requirements.txt

4. Set up environment variables

.env file বানাও project root ą¦ —

env
GROQ_API_KEY=your_groq_api_key_here

5. Run the app

bash
streamlit run app.py

Open http://localhost:8501 in your browser.


🧪 Example Queries

šŸ” Web Search

"LangGraph কী ą¦ą¦¬ą¦‚ কীভাবে ą¦•ą¦¾ą¦œ করে?"
"২০২৫ সালে AI ą¦ą¦° নতুন developments কী?"
"Latest news about OpenAI?"

šŸ“– Wikipedia Research

"Artificial Intelligence ą¦ą¦° ইতিহাস ą¦¬ą¦æą¦øą§ą¦¤ą¦¾ą¦°ą¦æą¦¤ বলো"
"Quantum Computing কীভাবে ą¦•ą¦¾ą¦œ করে?"
"Machine Learning vs Deep Learning ą¦Ŗą¦¾ą¦°ą§ą¦„ą¦•ą§ą¦Æ?"

šŸ“„ Document Analysis

ą§§. Sidebar ą¦ PDF upload করো
ą§Ø. "ą¦ą¦‡ document ą¦ą¦° মূল বিষয় কী?" — ą¦œą¦æą¦œą§ą¦žą§‡ą¦ø করো
ą§©. "Summarize this document in Bengali"

šŸ” How ReAct Agent Works

Step 1 → Thought
         Agent query analyze করে
         কোন tool দরকার ą¦øą§‡ą¦Ÿą¦¾ decide করে

Step 2 → Action
         সঠিক tool select করে
         Web Search / Wikipedia / File Loader

Step 3 → Observation
         Tool ą¦ą¦° result দেখে
         Answer sufficient কিনা check করে

Step 4 → Final Answer
         LLaMA 3.3 70B দিয়ে response generate করে
         Bengali বা English ą¦ stream করে দেয়

āš™ļø Configuration

Model ą¦Ŗą¦°ą¦æą¦¬ą¦°ą§ą¦¤ą¦Ø (agent.py) —

python
llm = ChatGroq(
    model="llama-3.3-70b-versatile",  # LLM model
    temperature=0.2,                   # Creativity (0-1)
    max_tokens=4096                    # Response length
)

Custom Tool যোগ করা (tools.py) —

python
@tool
def my_custom_tool(query: str) -> str:
    """Tool description."""
    # Your logic here
    return result

all_tools = [search_tool, wikipedia_search, my_custom_tool]

šŸ“ˆ Performance

MetricValue
Web Search response time~2-3 seconds
Wikipedia response time~1-2 seconds
PDF analysis time~3-5 seconds
Languages supportedBengali, English
Max file size10MB
LLM modelLLaMA 3.3 70B

šŸ’” What I Learned

āœ… LangGraph ReAct Agent
   Multi-step reasoning
   Intelligent tool selection
   State management

āœ… Tool Integration
   DuckDuckGo web search
   Wikipedia API
   PDF/TXT file processing

āœ… Streaming Response
   Real-time output
   Typing effect implementation

āœ… Multilingual LLM
   Bengali language support
   Language detection
   Response formatting

āœ… Chat Management
   Conversation history
   PDF export
   Copy functionality

šŸ¤ Contributing

bash
# Fork করো → Clone করো → Branch তৈরি করো
git checkout -b feature/AmazingFeature

# Changes করো → Commit করো
git commit -m "Add AmazingFeature"

# Push করো → Pull Request খোলো
git push origin feature/AmazingFeature

šŸ“„ License

This project is licensed under the MIT License.

šŸ‘Øā€šŸ’» Author

<div align="center">

Md Mahabub Alam Bishal AI/ML Engineer | LLM & Generative AI Enthusiast

![LinkedIn](https://www.linkedin.com/in/md-mahabub-alam-bishal/) ![GitHub](https://github.com/mdmahabubalambishal) ![HuggingFace](https://huggingface.co/mahabub-unlocked) ![Email](mailto:mdmahabubalambishal@gmail.com)

</div>

šŸ™ Acknowledgements


<div align="center">

⭐ ą¦ą¦‡ project টা useful লাগলে GitHub ą¦ Star দাও!

Made with ā¤ļø by Mahabub

Live Demo: huggingface.co/spaces/mahabub-unlocked/QueryMind-AI GitHub: github.com/mdmahabubalambishal/QueryMind-AI

</div>