DocFusion-AI / README.md
paulstevemithun's picture
Initial commit
0eec92d verified
---
title: DocFusion RAG Backend
emoji: πŸ“š
colorFrom: blue
colorTo: purple
sdk: docker
pinned: false
license: mit
app_port: 7860
---
# DocFusion - RAG Backend API
This is the backend API for DocFusion, a Retrieval-Augmented Generation (RAG) chatbot that allows users to upload PDF documents and interact with them using natural language queries.
## Features
- πŸ” JWT-based authentication
- πŸ“„ PDF document upload and processing
- πŸ€– AI-powered chat with RAG
- πŸ’Ύ MongoDB integration
- πŸ” Vector similarity search with ChromaDB
- πŸ“Š Session management
## API Endpoints
- `GET /api/health` - Health check
- `POST /api/auth/register` - User registration
- `POST /api/auth/login` - User login
- `POST /api/documents/upload` - Upload PDF documents
- `POST /api/chat/ask` - Ask questions about documents
- `GET /api/sessions` - List chat sessions
## Tech Stack
- **Framework**: FastAPI
- **Vector DB**: ChromaDB
- **Embeddings**: HuggingFace (all-MiniLM-L6-v2)
- **LLM**: OpenAI GPT-4
- **Database**: MongoDB
- **Storage**: Cloudinary
## Environment Variables Required
Set these in the Hugging Face Space settings:
```
MONGODB_URL=your_mongodb_connection_string
JWT_SECRET_KEY=your_jwt_secret
OPENAI_API_KEY=your_openai_api_key
GROQ_API_KEY=your_groq_api_key (optional)
HUGGINGFACE_TOKEN=your_hf_token
CLOUDINARY_CLOUD_NAME=your_cloudinary_name
CLOUDINARY_API_KEY=your_cloudinary_api_key
CLOUDINARY_API_SECRET=your_cloudinary_secret
```
## Frontend
The frontend is a separate React application that connects to this API.
For the complete project, visit: [GitHub Repository]
## License
MIT License