π€ Next-Generation AI Documentation Assistant with Intelligent Conversational Forms
π Live Demo β’ π Documentation β’ π Deploy β’ π€ Contributing
QueryPilot is a cutting-edge AI documentation assistant that revolutionizes how you interact with your documents. Powered by advanced RAG (Retrieval-Augmented Generation) technology and Google's Gemini AI, it transforms static documents into interactive knowledge bases.
- Smart Document Analysis - Upload PDFs, DOCX, or TXT files and get instant answers
- Precision RAG Technology - Advanced vector search with FAISS for accurate responses
- Conversational UI - Modern Next.js interface with real-time chat experience
- Intelligent Booking - AI-powered appointment scheduling with natural language processing
- Enterprise-Ready - Containerized architecture with professional-grade deployment
- Multi-Format Support - Handles various document types with smart text extraction
| Category | Technologies |
|---|---|
| Frontend | Next.js 15, React 19, TypeScript, Tailwind CSS v4 |
| Backend | FastAPI, Python 3.10+, Uvicorn |
| AI/ML | Google Gemini 1.5-Flash, LangChain, FAISS |
| Database | SQLite, Vector Storage |
| DevOps | Docker, Docker Compose |
| Styling | Modern UI/UX with Dark/Light themes |
|
|
QueryPilot-Docs/
βββ π¨ frontend/ # Next.js Application
β βββ src/
β β βββ app/ # App Router pages
β β βββ components/ # Reusable UI components
β β βββ contexts/ # React contexts (Theme, etc.)
β βββ tailwind.config.ts # Tailwind configuration
β βββ package.json
β
βββ βοΈ backend/ # FastAPI Server
β βββ main.py # API endpoints & routing
β βββ chatbot.py # Core AI logic (LangChain + Gemini)
β βββ form_agent.py # Conversational form handler
β βββ db.py # Database operations
β βββ requirements.txt # Python dependencies
β βββ data/ # Document storage & vectors
β βββ faiss_index/ # Vector database
β βββ sample_docs/ # Example documents
β
βββ π³ Docker Files
β βββ docker-compose.yml # Multi-container orchestration
β βββ Dockerfile # Backend container
β βββ Dockerfile.frontend # Frontend container
β
βββ π Documentation
βββ README.md # This file
- Docker & Docker Compose (Recommended)
- Python 3.10+ & Node.js 18+ (For local development)
- Google AI API Key (Get it here)
# 1οΈβ£ Clone the repository
git clone https://github.com/kar137/QueryPilot-Docs.git
cd QueryPilot-Docs
# 2οΈβ£ Set up environment variables
echo "GOOGLE_API_KEY=your_gemini_api_key_here" > backend/.env
# 3οΈβ£ Launch with Docker Compose
docker-compose up --build -d
# π Access the application
# Frontend: http://localhost:3000
# Backend API: http://localhost:8000
# API Docs: http://localhost:8000/docsπ§ Expand for local setup instructions
cd backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
echo "GOOGLE_API_KEY=your_api_key" > .env
uvicorn main:app --reload --port 8000cd frontend
npm install
npm run dev- Drag and drop or click to upload PDF, DOCX, or TXT files
- Watch the real-time upload progress
- Get confirmation when documents are processed
π "Hello" β Get a friendly introduction
β "What is machine learning?" β Ask about document content
π "Summarize the key points" β Get document summaries
π
"Book an appointment" β Start the booking process
The AI will conversationally collect:
- β Name: Your full name
- β Email: Validated email address
- β Phone: Formatted phone number
- β Date: Natural language ("next Friday", "tomorrow", "Dec 25th")
π Expand API Documentation
| Method | Endpoint | Description |
|---|---|---|
POST |
/upload |
Upload documents for processing |
POST |
/chat-json |
Send chat messages and get AI responses |
POST |
/book-appointment |
Direct appointment booking |
POST |
/clear-documents |
Clear all uploaded documents |
GET |
/appointments |
List all appointments |
// Chat with the AI
const response = await fetch("/chat-json", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
message: "What are the key findings?",
conversation_id: "user-123",
}),
});We welcome contributions! Here's how you can help:
- π Bug Reports: Found an issue? Open an issue
- π‘ Feature Requests: Have ideas? Share them with us
- π§ Code Contributions: Submit pull requests
- π Documentation: Help improve our docs
- β Star the Repo: Show your support!
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
Need Help? We're Here for You!
Built with β€οΈ by Karan Bista
β If you found QueryPilot helpful, please star the repository! β
Ready to revolutionize your document workflow? Get started now!





