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.
- Multi-PDF Support: Upload and process multiple PDF documents simultaneously.
- Advanced Embeddings: Uses
GoogleGenerativeAIEmbeddingsto 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.
- Frontend: Streamlit
- LLM: Google Gemini (via
google-generativeai) - Orchestration: LangChain
- Vector Store: FAISS
- Language: Python 3.14
-
Clone the repository:
git clone [https://github.com/Ayush8521/DocuQuery.git](https://github.com/Ayush8521/DocuQuery.git) cd DocuQuery -
Install dependencies:
pip install -r requirements.txt
-
Set up Environment Variables:
- Create a
.envfile in the root directory. - Add your Google API key:
GOOGLE_API_KEY="Enter your key"
- Create a
-
Run the App:
streamlit run app.py
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.
- 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


