ResearchLens AI is a full-stack application that helps researchers explore and analyze academic literature faster. Upload research papers, ask questions across multiple PDFs, generate structured summaries, compare studies, identify research gaps, and explore usage analyticsโall through an intelligent Retrieval-Augmented Generation (RAG) pipeline.
PDFs โ Text Extraction โ Chunking โ Embeddings โ ChromaDB โ Retrieval โ Gemini โ Research Insights
- ๐ Upload and process research papers
- ๐ฌ Ask questions across multiple PDFs
- ๐ Retrieve relevant document context with citations
- ๐ Generate structured research summaries
- โ๏ธ Compare multiple research papers side by side
- ๐ก Identify limitations and potential research gaps
- ๐ Track document and query analytics
- โ๏ธ Manage model and API configuration
Add screenshots of your Dashboard, Research Chat, Comparative Analysis, and Analytics pages here.
assets/
โโโ dashboard.png
โโโ research-chat.png
โโโ comparison.png
โโโ analytics.png
flowchart TD
A[๐ Upload Research Papers] --> B[PyMuPDF Text Extraction]
B --> C[LangChain Chunking]
C --> D[BAAI BGE Embeddings]
D --> E[(ChromaDB Vector Store)]
E --> F[MMR Context Retrieval]
F --> G[Google Gemini]
G --> H[๐ก ResearchLens AI Workspace]
H --> I[๐ฌ Research Chat]
H --> J[๐ Paper Summaries]
H --> K[โ๏ธ Comparative Analysis]
H --> L[๐ก Research Gap Discovery]
H --> M[๐ Analytics]
- Upload one or multiple academic PDFs.
- PyMuPDF extracts and cleans the document text.
- LangChain splits the content into manageable chunks.
- BAAI/bge-small-en-v1.5 converts chunks into vector embeddings.
- ChromaDB stores and indexes the embeddings locally.
- MMR retrieval finds relevant and diverse context for a query.
- Google Gemini generates a response grounded in the retrieved research content.
- The result is returned through the React-based ResearchLens workspace.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ React Frontend โ
โ React โข TypeScript โข Vite โข Tailwind CSS โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ REST API
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ FastAPI Backend โ
โ API โข Document Processing โข RAG Logic โ
โโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโ
โ โ
โผ โผ
โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโ
โ RAG Pipeline โ โ Analytics Engine โ
โ โ โ โ
โ PyMuPDF โ โ Query Metrics โ
โ LangChain โ โ Chunk Statistics โ
โ BGE Embeddings โ โ Usage Tracking โ
โ ChromaDB โ โโโโโโโโโโโโโโโโโโโโโโโโ
โ MMR Retrieval โ
โ Gemini โ
โโโโโโโโโโโโโโโโโโโโ
| Category | Technologies |
|---|---|
| Frontend | React, TypeScript, Vite, Tailwind CSS |
| Backend | Python, FastAPI, Uvicorn |
| RAG Framework | LangChain |
| PDF Processing | PyMuPDF |
| Embeddings | BAAI/bge-small-en-v1.5 |
| Vector Database | ChromaDB |
| LLM | Google Gemini |
| Analytics | Custom analytics engine |
| UI | Glassmorphic interface with responsive navigation |
ResearchLens-AI/
โ
โโโ backend/
โ โโโ src/
โ โ โโโ config.py
โ โ โโโ pdf_processor.py
โ โ โโโ vector_store.py
โ โ โโโ rag_engine.py
โ โ โโโ analytics.py
โ โ
โ โโโ main.py
โ โโโ verify_rag.py
โ โโโ requirements.txt
โ
โโโ frontend/
โ โโโ src/
โ โ โโโ components/
โ โ โโโ pages/
โ โ โโโ services/
โ โ โโโ App.tsx
โ โ โโโ main.tsx
โ โ
โ โโโ package.json
โ
โโโ data/
โ โโโ chromadb/
โ โโโ models/
โ โโโ analytics.json
โ
โโโ .gitignore
โโโ README.md
- Python 3.11 recommended
- Node.js 18+
- npm
- A Google Gemini API Key
git clone https://github.com/Bunny1089/ResearchLens-AI.git
cd ResearchLens-AICreate and activate a Python virtual environment:
py -3.11 -m venv researchlens_venv
.\researchlens_venv\Scripts\Activate.ps1Install dependencies:
pip install -r backend/requirements.txtSet your Gemini API key:
$env:GEMINI_API_KEY="your_api_key"Start the FastAPI server:
python -m uvicorn backend.main:app --reloadThe backend will run at:
http://127.0.0.1:8000
API documentation:
http://127.0.0.1:8000/docs
Open a new terminal:
cd frontend
npm install
npm run devOpen:
http://localhost:5173
Ask questions across your uploaded research papers. The system retrieves relevant document chunks and generates responses using Gemini with source-aware context.
Generate organized summaries to quickly understand research objectives, methodology, findings, and limitations.
Compare multiple papers using custom analysis criteria and structured side-by-side outputs.
Analyze limitations and patterns across papers to identify potential research opportunities and hypotheses.
Track document processing, chunk volumes, query activity, and performance metrics.
Academic literature reviews often require reading and comparing large volumes of research papers. ResearchLens AI explores how Retrieval-Augmented Generation can make this process more interactive and efficient by combining local document retrieval with LLM-based analysis.
Instead of relying solely on an LLM's general knowledge, the system retrieves relevant content from the uploaded research papers before generating a response.
This makes the application a practical implementation of:
- Retrieval-Augmented Generation
- Semantic Search
- Vector Databases
- Embedding Models
- LLM Orchestration
- Full-Stack AI Applications
- Multi-user authentication
- Cloud-based document storage
- Persistent user research workspaces
- Citation export in academic formats
- Support for additional LLM providers
- Advanced research visualization
- Docker deployment
- Cloud deployment
Kulmeet Singh Chauhan
B.Tech Computer Science Engineering (AI/ML)
Interested in building practical AI systems using RAG, LLMs, Agentic AI, Computer Vision, and Full-Stack Development.
โญ If you found this project interesting, consider giving the repository a star!