Skip to content

abirizki/pdf-qa-gemini

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“Œ PDF Q&A with Gemini (Google AI)

A simple and fast PDF Question Answering app powered by Google Gemini 2.0 Flash, built with Python + Streamlit.
This app allows you to upload a PDF, extract the content, and ask any question related to the document.


πŸš€ Features

  • βœ… Upload PDF and extract text
  • βœ… Ask questions based on document context (PDF Q&A)
  • βœ… Powered by Gemini 2.0 Flash
  • βœ… Clean and simple UI with Streamlit
  • βœ… Fast response and lightweight
  • βœ… Customizable for future features
  • βœ… Ready to deploy on HuggingFace Spaces

🧱 Tech Stack

Component Technology
AI Model Gemini 2.0 Flash
Backend Python
UI Streamlit
PDF Parser PyPDF2

πŸ“Œ Project Structure

pdf-qa-gemini/ β”‚ β”œβ”€ app/ β”‚ └─ main.py β”‚ β”œβ”€ requirements.txt └─ README.md


πŸ§ͺ Local Development

1. Create virtual environment (optional)

python -m venv venv
source venv/Scripts/activate   # Windows

2. Install dependencies
pip install -r requirements.txt

3. Add your Gemini API key

Create a .env file:

GEMINI_API_KEY=YOUR_API_KEY_HERE

4. Run the app
streamlit run app/main.py

🌐 Deploy to HuggingFace

Upload project to HF Space

Select Python + Streamlit

Make sure requirements.txt exists

HF will auto-run app/main.py

πŸ›  Customization & Future Development (Roadmap)
Feature	Status
PDF Q&A	βœ… Done
Support Multiple PDFs	⏳ Next
Add Memory / Chat History	⏳ Next
Support for images inside PDF	⏳ Next
Model switch (Gemini / OpenAI / Local LLM)	⏳ Next
Export Q&A to PDF	⏳ Next
Multi-language support	⏳ Next

This project is designed to be fully customizable, so additional features can be added easily based on client needs.

πŸ‘¨β€πŸ’» Author

Created by Rizki Firmansyah
GitHub: https://github.com/abirizki

πŸ“„ License

MIT License

About

A chatbot AI using Gemini model

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages