Skip to content

SUJALGOYALL/ReadifyAI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“š ReadifyAI β€” Multi-PDF Question Answering App

ReadifyAI is a powerful, intuitive, and fast PDF question-answering app that allows you to upload multiple PDFs and ask intelligent questions like:

  • πŸ” "Give a summary of Chapter 3"
  • ❓ "Explain the concept of Quantum Entanglement"
  • πŸ“‘ "What are the key takeaways from the document?"

It uses Google's Gemini model via LangChain, FAISS vector store, and Streamlit to build a conversational interface around your documents.


πŸš€ Features

βœ… Upload multiple PDFs
βœ… Ask any question related to the documents
βœ… Get detailed, accurate answers
βœ… Works for summaries, explanations, definitions, and context-based answers
βœ… Built with Gemini 1.5 Flash, FAISS, and LangChain


πŸ› οΈ Installation

  1. Clone the repository
git clone https://github.com/SUJALGOYALL/readifyai.git
cd readifyai
  1. Create a virtual environment
# If using conda:
conda create -n readify python=3.11
conda activate readify

# OR using venv:
python -m venv venv
venv\Scripts\activate  
  1. Install dependencies
pip install -r requirements.txt
  1. Set up your Google API Key

Create a .env file in the root directory:

GOOGLE_API_KEY=your_google_gemini_api_key_here

πŸ“¦ Requirements

Here are the Python packages required (also present in requirements.txt):

streamlit
google-generativeai
python-dotenv
langchain
PyPDF2
faiss-cpu
langchain_google_genai

▢️ Usage

  1. Run the app:
streamlit run app.py
  1. In the browser:
    • Upload one or more PDF files using the sidebar
    • Click β€œSubmit & Process”
    • Ask any question in the input field
    • View intelligent answers based on the content of your PDFs

🧠 How It Works

  1. PDF Extraction: Extracts text from uploaded PDF(s) using PyPDF2.
  2. Text Chunking: Splits the text into manageable chunks with overlap for context.
  3. Embedding: Generates embeddings using GoogleGenerativeAIEmbeddings.
  4. Vector Store: Stores embeddings in a FAISS index for fast similarity search.
  5. Q&A Chain: Uses LangChain’s load_qa_chain and Gemini-1.5 Flash to generate answers from the retrieved documents.

πŸ“Œ Example Use Cases

  • Study notes summarizer
  • Research paper Q&A assistant
  • Legal/contract document explainer
  • Book chapter explainer
  • Technical documentation assistant

🧾 License

This project is for educational and research purposes only.


πŸ™‹β€β™‚οΈ Author

Sujal Goyal
Mathematics & Computing, IIIT Bhagalpur


About

ReadifyAI is a powerful, intuitive, and fast PDF question-answering app that allows you to upload multiple PDFs and ask questions.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages