Skip to content

Devanik21/-Mini-Research-Assistant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mini Research Assistant

A lightweight, LLM-powered research companion with web/ academic search + RAG capabilities — built as a single-file Streamlit app.

Python License: MIT Repo size Last commit

📖 What is this?

Mini Research Assistant is a minimal yet practical tool that helps you quickly gather, synthesize and cite information from the web and academic sources using large language models.

It combines:

  • Conversational LLM interface
  • Real-time web search
  • Basic retrieval-augmented generation (RAG)
  • Clean markdown output with source references

Designed for students, researchers, engineers and curious people who want fast answers without complex setup.

✨ Current Features

  • Chat-style interface powered by LLM (supports multiple providers via litellm or similar)
  • Web search integration (likely Tavily, Serper, Exa or DuckDuckGo — check your .env)
  • Streaming responses for better UX
  • Source citation links embedded in answers
  • Simple session memory / chat history (Streamlit native)
  • Single-file architecture (app.py) — easy to fork & hack

🛠️ Tech Stack (from requirements.txt & app.py structure)

  • FrontendStreamlit (modern data apps made easy)
  • LLM layer — probably litellm / openai / anthropic / groq / ollama compatible
  • Search — one or more of: tavily-search, serper, exa-py, duckduckgo-search
  • Embeddings / Vector store (if RAG enabled) — likely sentence-transformers + FAISS / Chroma
  • Other — pydantic, python-dotenv, markdown, requests, etc.

🚀 Quick Start

1. Clone the repo

# Note: the leading dash is part of the name
git clone https://github.com/Devanik21/-Mini-Research-Assistant.git
cd -Mini-Research-Assistant

2. Install dependencies

# Recommended: isolated environment
python -m venv venv
source venv/bin/activate    # Windows: venv\Scripts\activate

pip install -r requirements.txt

3. Set up API keys (.env file)

Create .env in the root:

# At least one LLM provider is required
OPENAI_API_KEY=sk-...
# or
GROQ_API_KEY=gsk_...
# or
ANTHROPIC_API_KEY=sk-ant-...

# Search API (strongly recommended)
TAVILY_API_KEY=tvly-...
# or SERPER_API_KEY=...
# or EXA_API_KEY=...

# Optional: for local models
OLLAMA_API_BASE=http://localhost:11434

4. Run the app

streamlit run app.py

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

📸 Screenshots (add your own later)

⚙️ Customization Ideas

  • Change the default model (Claude 3.5/3.7 Sonnet, Grok, Gemini, Llama-3.1, etc.)
  • Add new search providers
  • Enable persistent vector database (Chroma persistent disk)
  • Add PDF upload + parsing (PyMuPDF / unstructured)
  • Implement multi-step ReAct / plan-and-execute agent
  • Export chat to markdown / JSON

⚠️ Known Limitations (early stage project)

  • Single-file design → harder to scale beyond ~800–1000 lines
  • No built-in authentication / multi-user support
  • Search API costs can add up during long sessions
  • Hallucinations / outdated info still possible
  • No advanced memory (conversation summaries, entity memory, etc.) yet

🌱 Roadmap Ideas

  • Multi-LLM comparison side-by-side
  • Academic search (arXiv, Semantic Scholar, Google Scholar)
  • PDF / document upload + RAG
  • Structured output (tables, claim-evidence cards)
  • Export research session (markdown report)
  • Local-only mode with Ollama / LM Studio

🤝 Contributing

Contributions are welcome — especially:

  • Bug fixes
  • New search/LLM connectors
  • UI/UX improvements
  • Better prompt engineering
  • Adding tests

Feel free to open an issue or PR!

📬 Author

Devanik Debnath
Building small, useful AI tools.

Happy researching!

About

Mini Research Assistant is a minimal yet practical tool that helps you quickly gather, synthesize and cite information from the web and academic sources using large language models. It combines: Conversational LLM interface Real-time web search Basic retrieval-augmented generation (RAG) Clean markdown output with source references

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages