File size: 4,266 Bytes
43f08ef
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# Deployment Guide: Host VigilantRAG Live on Hugging Face Spaces

This guide walks you through deploying **VigilantRAG** to **Hugging Face Spaces** for free in under 5 minutes. Pushing this to Hugging Face provides you with a public HTTPS link (e.g. `https://huggingface.co/spaces/your-username/VigilantRAG`) that recruiters can click directly to try your project.

---

## Why Hugging Face Spaces?

Standard free web hosts (like Render, Fly.io, or Railway) limit free tier memory to **512 MB RAM**. Loading PyTorch, Sentence-Transformers, and a local LLM will cause these hosts to crash immediately with Out-Of-Memory (OOM) errors.

Hugging Face Spaces offers a **100% Free CPU tier with 16 GB RAM and 2 vCPUs**. This is more than enough to load and execute our lightweight models (`Qwen2.5-0.5B` and `DeBERTa-v3-xsmall`) quickly.

---

## Step-by-Step Deployment

There are two ways to deploy: **Option A (Web Upload - easiest)** or **Option B (Git Push - professional)**.

### Step 1: Create a Hugging Face Account & Space
1. Go to [Hugging Face](https://huggingface.co) and sign up for a free account.
2. Click on your profile picture in the top-right corner and select **"New Space"**.
3. Fill in the following details:
   * **Space Name**: `VigilantRAG` (or anything you prefer)
   * **License**: `mit`
   * **Select the Space SDK**: **Docker** (Very important!)
   * **Docker Template**: **Blank**
   * **Space Hardware**: **CPU Basic (Free β€’ 16GB RAM β€’ 2 vCPUs)**
   * **Privacy**: **Public** (so recruiters can access it!)
4. Click **"Create Space"**.

---

### Option A: Deploy using Web Interface (No Git needed)
If you don't want to use the command line, you can drag and drop your files:
1. In your newly created Space, click on the **"Files"** tab.
2. Click **"Add file"** -> **"Upload files"**.
3. Drag and drop all the project files from your local folder `C:\projects_aryan\VigilantRAG` **except** the `venv/` folder and `test_data_cache/` / `test_api_cache/` if they exist.
4. Ensure your folder structure on the website matches this:
   ```
   β”œβ”€β”€ src/
   β”‚   β”œβ”€β”€ __init__.py
   β”‚   β”œβ”€β”€ config.py
   β”‚   β”œβ”€β”€ retriever.py
   β”‚   β”œβ”€β”€ reranker.py
   β”‚   β”œβ”€β”€ query_expansion.py
   β”‚   β”œβ”€β”€ hallucination_guard.py
   β”‚   β”œβ”€β”€ llm_client.py
   β”‚   └── engine.py
   β”œβ”€β”€ static/
   β”‚   β”œβ”€β”€ index.html
   β”‚   β”œβ”€β”€ style.css
   β”‚   └── main.js
   β”œβ”€β”€ app.py
   β”œβ”€β”€ download_models.py
   β”œβ”€β”€ requirements.txt
   └── Dockerfile
   ```
5. Click **"Commit changes to main"** at the bottom of the page.
6. Skip to **Step 2 (Building & Running)**.

---

### Option B: Deploy using Git Push (Recommended for Resume)
This demonstrates standard developer workflows:
1. In your local terminal, navigate to your project directory:
   ```bash
   cd C:\projects_aryan\VigilantRAG
   ```
2. Initialize git and commit files:
   ```bash
   git init
   git add .
   git commit -m "feat: initial commit of VigilantRAG self-correcting engine"
   ```
3. Add the Hugging Face Space as a git remote. Hugging Face provides this exact command on your Space's landing page:
   ```bash
   git remote add origin https://huggingface.co/spaces/YOUR_USERNAME/YOUR_SPACE_NAME
   ```
4. Push your code (you will need to input your Hugging Face username and a **User Access Token** as your password. Generate a token in your HF profile under Settings -> Access Tokens):
   ```bash
   git push -u origin main --force
   ```

---

## Step 2: Building & Running

Once you commit or push your code:
1. Go to the **"App"** tab of your Hugging Face Space.
2. You will see a status badge: **"Building"**.
3. Hugging Face is currently:
   * Setting up the Linux environment.
   * Installing PyTorch, FastAPI, FAISS, and other dependencies.
   * Running `download_models.py` to pre-download the model weights and bake them directly into the container image.
4. The build process takes about **5 to 8 minutes** (primarily downloading the 0.5B model weights).
5. Once the build completes, the status badge will change to a green **"Running"**.
6. The dashboard will render inside the Space, and you can copy the URL in your address bar and paste it directly onto your resume!