Transform your business documentation into intelligent chatbots in minutes
π Quick Start β’ π Documentation β’ π― Use Cases β’ π οΈ Tech Stack
Imagine you're a developer at boAt and customers constantly ask: "How do I return my earphones?" The information exists across multiple PDFs, web pages, and documentationβbut customers want instant, conversational answers, not endless searching through documents.
DocuAI transforms your static documentation into intelligent, conversational chatbots that understand context and provide precise answers from your actual business content.
Before DocuAI:
- Customer searches through multiple pages for return policy
- Gets frustrated, contacts support
- Support team overwhelmed with repetitive queries
After DocuAI:
- Upload your website URLs + policy documents to DocuAI dashboard
- AI processes entire website and documents automatically
- Get secure API key for instant integration
- Customer asks: "How do I return my earphones?"
- Bot responds with precise answers from your documentation
# Simple API integration
curl -X POST "https://api.docuai.com/query" \
-H "X-API-Key: your-api-key" \
-H "Content-Type: application/json" \
-d '{"query": "How do I return my earphones?"}'- Internal Knowledge Bases: HR policies, training materials
- Customer FAQs: Instant answers from product documentation
- Troubleshooting Guides: Technical support automation
- Return/Exchange Policies: Automated customer service
- Product Information: Detailed specs and compatibility
- Shipping & Delivery: Real-time policy updates
- Course Materials: Interactive learning assistants
- Research Papers: Conversational academic queries
- Administrative Policies: Student services automation
- API Documentation: Developer-friendly query interface
- User Guides: Interactive onboarding assistance
- Feature Announcements: Contextual product updates
- Python 3.8+
- MongoDB
- SQLite (local database file)
- Redis (for Celery)
# Clone the repository
git clone https://github.com/yourusername/docuai.git
cd docuai
# Install dependencies
pip install -r requirements.txt
# Set environment variables
cp .env.example .env
# Edit .env with your configurations
# Start all services
./runall.sh# Database
MONGODB_URL=mongodb://localhost:27017/docuai
SQLITE_DATABASE_URL=sqlite:///./docuai.db
# API Keys
GEMINI_API_KEY=your-gemini-api-key
JWT_SECRET_KEY=your-jwt-secret
# Celery
CELERY_BROKER_URL=redis://localhost:6379/0
CELERY_RESULT_BACKEND=redis://localhost:6379/0
# Email (for OTP)
SMTP_SERVER=smtp.gmail.com
SMTP_PORT=587
SMTP_USERNAME=your-email@gmail.com
SMTP_PASSWORD=your-app-passwordβββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Client Apps β β FastAPI β β Celery β
β β β REST API β β Workers β
β β’ Web Frontend βββββΊβ βββββΊβ β
β β’ Mobile Apps β β β’ Authenticationβ β β’ Web Crawling β
β β’ Third-party β β β’ Query Handler β β β’ Embedding Gen β
βββββββββββββββββββ β β’ Doc Managementβ β β’ Processing β
βββββββββββββββββββ βββββββββββββββββββ
β β
βββββββββββββββββββ βββββββββββββββββββ
β SQLite β β MongoDB β
β (docuai.db) β β β
β β’ User Data β β β’ Documents β
β β’ API Keys β β β’ Embeddings β
β β’ OTP Tokens β β β’ Crawled Data β
βββββββββββββββββββ βββββββββββββββββββ
- FastAPI Backend: High-performance REST API with automatic OpenAPI documentation
- RAG Pipeline: LangChain + Gemini LLM for intelligent document retrieval
- Vector Database: MongoDB with semantic search capabilities
- Async Processing: Celery workers for heavy computational tasks
- Monitoring: Real-time dashboard for usage analytics
| Method | Endpoint | Description | Request Body |
|---|---|---|---|
| POST | /signin/ |
Register new user | {email, password, name} |
| POST | /login/ |
User login | {email, password} |
| POST | /verify-otp/ |
Verify email OTP | {email, otp_code} |
| POST | /resend-verification-email/ |
Resend OTP | {email} |
| Method | Endpoint | Description | Auth Required |
|---|---|---|---|
| GET | /user-info/ |
Get basic user info | β |
| GET | /user/details/ |
Get detailed profile | β |
| GET | /user-stats/ |
Usage statistics | β |
| POST | /regenerate-api-key/ |
Generate new API key | β |
| Method | Endpoint | Description | Headers |
|---|---|---|---|
| POST | /query |
Main chatbot endpoint | X-API-Key: your-key |
| GET | /health |
Health check | None |
| Method | Endpoint | Description | Auth |
|---|---|---|---|
| POST | /doc_upload/ |
Upload documents | β |
| GET | /documents/ |
List all documents | β |
| DELETE | /doc_delete/{doc_id}/ |
Delete document | β |
| GET | /logs/recent_updates/ |
Recent uploads | β |
| Method | Endpoint | Description | Auth |
|---|---|---|---|
| POST | /start-crawl/ |
Start website crawl | β |
| GET | /crawl-status/{task_id} |
Check crawl status | β |
| GET | /crawled-content/ |
Get crawled data | β |
- FastAPI - Modern, fast web framework for Python
- Pydantic - Data validation and settings management
- SQLAlchemy - SQL toolkit and ORM
- Alembic - Database migration tool
- LangChain - Framework for LLM applications
- Google Gemini - Large language model
- Sentence Transformers - Semantic embedding generation
- FAISS/ChromaDB - Vector similarity search
- MongoDB - Document database for embeddings
- SQLite - Local database file for user data
- Redis - In-memory cache and message broker
- Celery - Distributed task queue
- JWT-based authentication
- API key rate limiting
- OTP email verification
- Usage analytics dashboard
- Real-time query metrics (upcoming)
- Popular questions tracking (upcoming)
- Response quality scoring (upcoming)
- Asynchronous document processing
- Intelligent caching strategies (upcoming)
- Optimized vector search
rullall.sh- GitHub Issues
- Include error logs and reproduction steps
- GitHub Discussions
- Describe use case and expected behavior
- Fork the repository
- Create feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Demo_docuai.mp4
β Star this repository if DocuAI helped you build better chatbots!
π Get Started β’ π Documentation β’ π¬ Community
Made with β€οΈ by Your Name