Skip to content

Latest commit

 

History

History
57 lines (36 loc) · 1.99 KB

File metadata and controls

57 lines (36 loc) · 1.99 KB

📘 Chat With Multiple PDFs

This is a Streamlit web application that allows you to upload multiple PDF files and interact with them using natural language questions. It leverages Google Gemini (Generative AI) through LangChain for embeddings and question-answering, while FAISS is used as the vector store for efficient similarity search.
image


🚀 Features

  • 📂 Upload and process multiple PDF documents
  • 🧩 Extract text from PDFs and split into manageable chunks
  • 🔍 Create embeddings with Google Generative AI
  • 💾 Store embeddings locally using FAISS
  • 💬 Ask natural language questions and get context-aware answers
  • 🎨 Custom background image support for UI

🛠️ Tech Stack


⚡ How It Works

  1. Upload PDFs from the sidebar.
  2. The app extracts text and splits it into smaller chunks.
  3. Each chunk is converted into embeddings and stored in FAISS.
  4. When you ask a question, the app searches for the most relevant chunks.
  5. Relevant context is passed to Gemini, which generates a detailed answer.

⚙️ Setup Instructions

git clone https://github.com/yourusername/chat-with-multiple-pdfs.git cd chat-with-multiple-pdfs

python -m venv venv source venv/bin/activate # On Mac/Linux venv\Scripts\activate # On Windows

pip install -r requirements.txt

GOOGLE_API_KEY=your_google_api_key_here

streamlit run app.py