DocuQuery is an AI-powered chatbot that allows users to interact with documents by uploading them and asking questions directly. It supports various file formats, uses large language models (LLMs) for intelligent answers, and presents everything in a ChatGPT-style interface.
- 📎 Upload PDF, DOCX, or TXT files
- ✨ Summarize uploaded documents
- 🧠 Extract key entities using NLP
- 💬 Ask questions and get real-time answers
- 🔁 Retains full chat history during session
- 👥 Secure Sign Up / Sign In system
- 📊 Select between LLM models (LLaMA, Bart, etc.)
- 🎨 Clean ChatGPT-like user interface
- Frontend: Streamlit
- Backend: Python
- NLP/LLMs: LangChain, LLaMA, Bart
- Vector Store: FAISS
- Document Parsing: PyMuPDF, python-docx, textract
- Auth: Basic JSON file-based
- Deployment: Streamlit Cloud / Local
git clone https://github.com/dakshgoti14/DocuQuery.git
cd DocuQuerypython3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activatepip install -r requirements.txtstreamlit run app.pyDocuQuery/
│
├── app.py # Main Streamlit app
├── requirements.txt
├── README.md
├── data/
│ └── users.json # User credentials
├── utils/
│ ├── summarizer.py # Document summarization logic
│ ├── ner.py # Named entity recognition
│ ├── qa_engine.py # Vector store & QA logic
│ ├── file_handler.py # File parsing methods
│ └── auth.py # Auth functionsFollow these simple steps to deploy your project using Streamlit Cloud:
-
Push your project to GitHub
Make sure your latest code is on GitHub in a public or private repository. -
Go to Streamlit Cloud
Log in with your GitHub account. -
Click "New App"
- Select your GitHub repository
- Choose the correct branch
- Set
app.pyas the entry file
-
Click "Deploy"
venv/ folder. It should be excluded via .gitignore.
If you get this error:
remote: error: File ... exceeds GitHub’s file size limit
Run:
git rm -r --cached venv/
echo "venv/" >> .gitignore
Then recommit and push:
git add .
git commit -m "Clean up venv"
git push origin main- 🌍 OAuth or Google login
- 🧾 Multi-document support
- 📤 Export chat history
- 🧠 Add support for OpenAI, Claude, Mistral
- 🖼️ Document content visualization
1. Fork this repo 2. Create a new branch (git checkout -b feature-name) 3. Make your changes 4. Commit and push (git push origin feature-name) 5. Open a pull request
- MIT License – free to use and modify for personal or commercial use.
Daksh Goti
GitHub: @dakshgoti14
Feel free to connect or contribute!
Let me know if you'd like to:
- 🎥 Add a demo video or GIF of the project in action
- 🏷️ Add badges (e.g., Python version, license, framework)
- 🚀 Add a "Deploy to Streamlit" one-click button for easier deployment