Renerfia's picture
now it will work
b1d31ca verified
|
Raw
History Blame Contribute Delete
4.67 kB
# ⚡ AI PDF Review Assistant
```
___ _ ____ ____ _____ __ __
/ _ \| | | _ \| _ \| ____| / / \ \
| | | | | | |_) | |_) | _| / / \ \
| |_| | |___| __/| _ <| |___ / / \ \
\__\_\_____|_| |_| \_\_____|/_/ REVIEW \_\
```
> *"Knowledge locked in pages... until now."*
---
## 🌸 What is this?
**AI PDF Review Assistant** is an intelligent document analysis system powered by Google Gemini and a custom RAG (Retrieval-Augmented Generation) pipeline. Feed it your PDFs — it reads them, understands them, and answers your questions like a brilliant study partner who never sleeps.
Ask in **Bengali or English**. Get answers with **full LaTeX math rendering**. It remembers the conversation. It finds exactly what you need.
---
## ⚔️ The Pipeline — How It Works
```
[ Your PDF ]
┌─────────────────────────────┐
│ PyMuPDF converts each │
│ page → image │
└────────────┬────────────────┘
┌─────────────────────────────┐
│ Gemini Vision reads every │
│ image — Bengali, math, │
│ diagrams, handwriting │
└────────────┬────────────────┘
┌─────────────────────────────┐
│ Gemini Embedding converts │
│ text → vectors (3072D) │
└────────────┬────────────────┘
┌─────────────────────────────┐
│ ChromaDB stores vectors │
│ on disk permanently │
└────────────┬────────────────┘
[ You ask a question ]
┌─────────────────────────────┐
│ Your question → embedded │
│ → ChromaDB finds closest │
│ matching pages │
└────────────┬────────────────┘
┌─────────────────────────────┐
│ Gemini answers using only │
│ YOUR notes as context │
└─────────────────────────────┘
```
---
## 🚀 How to Use
**1.** Create a `.env` file in the project root:
```
GEMINI_API_KEY=your_api_key_here
```
**2.** Get your free Gemini API key from: https://aistudio.google.com/apikey
**3.** Create and activate a virtual environment:
```bash
# Windows
python -m venv venv
venv\Scripts\activate
# Mac/Linux
python -m venv venv
source venv/bin/activate
```
**4.** Install all dependencies:
```bash
pip install -r requirements.txt
```
**5.** Launch the app:
```bash
streamlit run app.py
```
**6.** Use the **Extractor** first from the sidebar to process your PDFs before asking questions.
**7.** Done — start asking! ⚡
---
## 📁 Project Structure
```
ai-pdf-review-assistant/
├── app.py # Streamlit UI
├── extract.py # Image → text extraction via Gemini
├── embed.py # Text → vector embeddings
├── store.py # Store vectors in ChromaDB
├── query.py # Question answering pipeline
├── data/
│ └── vector_db/ # ChromaDB persistent storage
├── extracted_texts.json
├── embeddings.json
├── .env # Your API key goes here
├── requirements.txt
└── README.md
```
---
## 🗡️ Tech Stack
```
Language → Python
UI → Streamlit
Vector DB → ChromaDB
PDF Parser → PyMuPDF (fitz)
AI Model → Google Gemini (vision + embedding + generation)
```
---
## 📜 License
```
Copyright 2026 Renerfia
Licensed under the Apache License, Version 2.0
```
---
<div align="center">
*Built with obsession. Powered by Gemini. Forged in Python.*
⭐ Star this repo if it helped you
</div>