Illuminate Research Papers with Interactive Conversational AI
ResearchXpert is a web application that allows users to upload research papers (PDFs) and interact with them through AI-powered summarization and Q&A. The app extracts text from uploaded PDFs, generates embeddings, and uses a large language model (LLM) to provide detailed summaries and answer user queries.
-
Upload research papers in PDF format.
-
Generate concise, high-quality summaries of the paper.
-
Supports long documents via chunking and embeddings.
-
Ask questions about the uploaded paper.
-
AI provides contextual answers based on the content.
-
Supports interactive exploration of research papers.
-
View uploaded PDF directly in the browser.
-
Reset/Refresh button to clear all uploads and chat history.
-
Clean, modern UI with collapsible summary boxes and chat bubbles.
-
HTML5 for structure
-
CSS3 with modern gradients, shadows, and hover effects
-
Vanilla JavaScript (ES6) for:
-
File upload handling
-
Summarization requests
-
Q&A interaction
-
Reset/Refresh functionality
-
-
Python 3.13
-
Flask for routing and serving frontend
-
PyMuPDF (fitz) for PDF text extraction
-
FAISS for storing and searching text embeddings
-
Groq LLM API for summarization and Q&A
smart-paper-explainer/
│
├── app.py # Flask backend with routes
├── embeddings_utils.py # Text embedding and FAISS index functions
├── qa_utils.py # Groq API integration for summarization & Q/A
├── text_utils.py # Text cleaning and chunking
├── static/
│ ├── style.css # Frontend CSS
│ └── script.js # Frontend JS
├── templates/
│ └── index.html # Frontend HTML
├── uploads/ # Temporary storage for uploaded PDFs
├── requirements.txt # Python dependencies
└── README.md # Project documentation
`
-
Clone the repository
git clone https://github.com/Shivanggaryaa/smart-paper-explainer.git cd smart-paper-explainer `
-
Create a virtual environment
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows ` -
Install dependencies
pip install -r requirements.txt `
-
Configure environment variables
- Create a .env file in the root directory: GROQ_API_KEY=your_groq_api_key `
-
Run the Flask app
python app.py `
-
Upload a research paper (PDF) via the Upload section.
-
Click Summarize to generate a concise summary.
-
Ask questions in the Chat n Seek section.
-
Use the Reset/Refresh button to clear all uploads and start fresh.
-
Frontend: HTML5, CSS3, JavaScript (ES6)
-
Backend: Python, Flask
-
PDF Processing: PyMuPDF
-
Embeddings & Search: FAISS
-
LLM API: Groq API (LLaMA 3.1)
-
Add user authentication for saving sessions.
-
Persistent storage for uploaded PDFs and summaries.
-
Enhanced UI/UX for mobile responsiveness.
-
Better handling for very large PDFs.
-
Multiple LLM backends for summarization and Q&A.