Skip to content

Ayush8521/DocuQuery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📄 DocuQuery: RAG-based PDF Assistant

DocuQuery is an AI-powered document assistant that allows users to chat with their PDF files. Built using Google Gemini Pro, LangChain, and FAISS, it uses Retrieval-Augmented Generation (RAG) to provide accurate, context-aware answers from uploaded documents.

🚀 Features

  • Multi-PDF Support: Upload and process multiple PDF documents simultaneously.
  • Advanced Embeddings: Uses GoogleGenerativeAIEmbeddings to convert text into vector representations.
  • Vector Search: Utilizes FAISS (Facebook AI Similarity Search) for efficient similarity search and retrieval.
  • Generative AI: Powered by Google Gemini 1.5 Flash / 2.0 Experimental for high-speed, accurate responses.
  • Robust Error Handling: Includes smart retry logic to handle API rate limits on the free tier.

🛠️ Tech Stack

  • Frontend: Streamlit
  • LLM: Google Gemini (via google-generativeai)
  • Orchestration: LangChain
  • Vector Store: FAISS
  • Language: Python 3.14

⚙️ Installation

  1. Clone the repository:

    git clone [https://github.com/Ayush8521/DocuQuery.git](https://github.com/Ayush8521/DocuQuery.git)
    cd DocuQuery
  2. Install dependencies:

    pip install -r requirements.txt
  3. Set up Environment Variables:

    • Create a .env file in the root directory.
    • Add your Google API key:
      GOOGLE_API_KEY="Enter your key"
  4. Run the App:

    streamlit run app.py

📸 Interface Gallery

📸 Application Showcase

Modern Dashboard Real-Time Processing Smart Error Handling
Clean, dark-mode UI with intuitive sidebar navigation. Live status updates (toast notifications) while analyzing PDFs. Auto-cooldown system handling API rate limits gracefully.

⚠️ Note on API Usage

This project is currently configured for the Google Gemini API Free Tier.

  • Rate Limits: You may occasionally see a "Speed Limit Hit" warning if too many requests are made rapidly.
  • Optimization: The application includes an auto-cooldown feature to respect these limits and retry requests automatically.

🔮 Future Improvements

  • Upgrade to Paid Tier API for higher rate limits.
  • Add support for DOCX and TXT files.
  • Implement chat history to save previous conversations.

Built with ❤️ by Ayush Tiwari

About

"DocuQuery is a Retrieval-Augmented Generation (RAG) tool built with Python. It utilizes Google Gemini for reasoning, FAISS for vector storage, and LangChain for orchestration to enable accurate, context-aware Q&A across multiple PDF documents."

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages