File size: 1,869 Bytes
7e00c0d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
---
title: Paper Reader Assistant
emoji: πŸ“š
colorFrom: blue
colorTo: green
sdk: gradio
sdk_version: "4.44.0"
app_file: app.py
pinned: false
---

# πŸ“– Paper Reader Assistant (Gradio on Hugging Face Spaces)

This Space helps you **read and analyze academic papers** with AI assistance.  
You can upload PDF files, and the app will automatically extract text, generate summaries, identify keywords, and enable question answering using RAG (Retrieval-Augmented Generation).

---

## πŸš€ Features

- 🧾 **PDF Upload** β†’ Extracts text using PyMuPDF  
- ✍️ **Summarization** β†’ Uses BART for map-reduce summarization  
- πŸ”‘ **Keyword Extraction** β†’ Powered by KeyBERT  
- ❓ **Q&A (RAG)** β†’ Combines FAISS + SentenceTransformers + Flan-T5  
- 🧠 **All-in-one academic reading assistant**  

---

## βš™οΈ Quick Start

1. Create a new **Space** on Hugging Face with SDK = **Gradio**  
2. Upload three files:  
   - `app.py`  
   - `requirements.txt`  
   - `README.md` (this file)  
3. Save changes β€” Spaces will automatically build and launch the app  
4. Once it’s live, open the Space URL to start using it  

---

## πŸ’‘ Notes

- Works best on **English scientific PDFs** (text-based).  
- For **scanned PDFs**, run OCR first (not yet included in this version).  
- Models run on **CPU by default** β€” enable GPU for faster processing.  
- You can further customize UI theme, font color, or add dark mode by editing `app.py`.

---

## 🧰 Tech Stack

| Component | Description |
|------------|-------------|
| **Gradio** | Front-end interface |
| **PyMuPDF** | PDF text extraction |
| **Transformers (BART)** | Summarization |
| **KeyBERT** | Keyword extraction |
| **Sentence-Transformers + FAISS** | Vector retrieval for Q&A |
| **Flan-T5** | Natural language generation |

---

**Author:** WENIor  
**License:** MIT  
**Version:** 1.0.0