Skip to content

Latest commit

ย 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ”ฌ ResearchLens AI

An AI-powered research workspace for analyzing academic papers with RAG

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


โœจ What can ResearchLens AI do?

  • ๐Ÿ“„ 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

๐Ÿ–ผ๏ธ Application Preview

Add screenshots of your Dashboard, Research Chat, Comparative Analysis, and Analytics pages here.

assets/
โ”œโ”€โ”€ dashboard.png
โ”œโ”€โ”€ research-chat.png
โ”œโ”€โ”€ comparison.png
โ””โ”€โ”€ analytics.png

๐Ÿง  How It Works

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]
Loading

The RAG Pipeline

  1. Upload one or multiple academic PDFs.
  2. PyMuPDF extracts and cleans the document text.
  3. LangChain splits the content into manageable chunks.
  4. BAAI/bge-small-en-v1.5 converts chunks into vector embeddings.
  5. ChromaDB stores and indexes the embeddings locally.
  6. MMR retrieval finds relevant and diverse context for a query.
  7. Google Gemini generates a response grounded in the retrieved research content.
  8. The result is returned through the React-based ResearchLens workspace.

๐Ÿ—๏ธ Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    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           โ”‚
     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ› ๏ธ Tech Stack

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

๐Ÿ“‚ Project Structure

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

๐Ÿš€ Getting Started

Prerequisites

  • Python 3.11 recommended
  • Node.js 18+
  • npm
  • A Google Gemini API Key

1๏ธโƒฃ Clone the Repository

git clone https://github.com/Bunny1089/ResearchLens-AI.git
cd ResearchLens-AI

2๏ธโƒฃ Configure the Backend

Create and activate a Python virtual environment:

Windows

py -3.11 -m venv researchlens_venv
.\researchlens_venv\Scripts\Activate.ps1

Install dependencies:

pip install -r backend/requirements.txt

Set your Gemini API key:

$env:GEMINI_API_KEY="your_api_key"

Start the FastAPI server:

python -m uvicorn backend.main:app --reload

The backend will run at:

http://127.0.0.1:8000

API documentation:

http://127.0.0.1:8000/docs

3๏ธโƒฃ Configure the Frontend

Open a new terminal:

cd frontend
npm install
npm run dev

Open:

http://localhost:5173

๐Ÿ“Š Core Modules

๐Ÿ’ฌ Research Chat

Ask questions across your uploaded research papers. The system retrieves relevant document chunks and generates responses using Gemini with source-aware context.

๐Ÿ“ Structured Summarization

Generate organized summaries to quickly understand research objectives, methodology, findings, and limitations.

โš–๏ธ Comparative Analysis

Compare multiple papers using custom analysis criteria and structured side-by-side outputs.

๐Ÿ’ก Research Gap Discovery

Analyze limitations and patterns across papers to identify potential research opportunities and hypotheses.

๐Ÿ“Š Analytics

Track document processing, chunk volumes, query activity, and performance metrics.


๐ŸŽฏ Why This Project?

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

๐Ÿ”ฎ Future Improvements

  • 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

๐Ÿ‘จโ€๐Ÿ’ป Author

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!

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages