File size: 3,399 Bytes
26e1c2e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
99
100
101
102
103
104
# 🚀 دليل النشر على Hugging Face Spaces

## المتطلبات
- حساب على [Hugging Face](https://huggingface.co/) (مجاني)
- [Git](https://git-scm.com/) مثبّت على جهازك

---

## الخطوات

### 1. إنشاء Space جديد

1. اذهب إلى: https://huggingface.co/new-space
2. **Space name**: `murshid`
3. **SDK**: اختر **Docker**
4. **Visibility**: Public (مجاني) أو Private
5. اضغط **Create Space**

### 2. رفع المشروع

```powershell
cd d:\murishd

# تهيئة Git (إذا لم يكن موجوداً)
git init

# إضافة الـ remote (غيّر YOUR_USERNAME باسم حسابك)
git remote add space https://huggingface.co/spaces/YOUR_USERNAME/murshid

# إضافة الملفات والرفع
git add .
git commit -m "Initial deployment"
git push space main
```

> ⚠️ إذا طلب كلمة مرور، استخدم **Access Token** من:
> https://huggingface.co/settings/tokens

### 3. إعداد المتغيرات البيئية (Secrets)

اذهب إلى إعدادات الـ Space: `Settings → Variables and secrets`

أضف هذه المتغيرات:

| الاسم | القيمة | النوع |
|-------|--------|-------|
| `MURSHID_DB_URL` | `sqlite:////app/data/murshid.db` | Variable |
| `MURSHID_MODELS_DIR` | `/app/Needed` | Variable |
| `MURSHID_SKIP_LLM` | `true` | Variable |
| `SECRET_KEY` | (اختر كلمة سر عشوائية) | **Secret** |
| `HF_TOKEN` | (اختياري — لو تبغى Llama) | **Secret** |

### 4. انتظر البناء

- HF Spaces يبني الـ Docker image تلقائياً
- يأخذ **3-5 دقائق** للبناء الأول
- بعد النجاح، الرابط يكون:
  ```
  https://YOUR_USERNAME-murshid.hf.space
  ```

---

## الروابط بعد النشر

| الرابط | الوصف |
|--------|-------|
| `https://YOUR_USERNAME-murshid.hf.space` | الواجهة الرئيسية |
| `https://YOUR_USERNAME-murshid.hf.space/docs` | توثيق Swagger |
| `https://YOUR_USERNAME-murshid.hf.space/health` | فحص الحالة |

---

## ملاحظات

### الوضع الحالي (LITE mode)
- المشروع ينشر بوضع **LITE** (بدون torch/SecureBERT+)
- تحليل القواعد يعمل لكن بدقة أقل (embeddings عشوائية)
- مناسب لاختبار الواجهة والـ API

### للترقية إلى LOCAL mode (SecureBERT+ بدون Llama)
عدّل `Dockerfile` وأزل التعليق من سطر torch:
```dockerfile
RUN pip install --no-cache-dir torch --index-url https://download.pytorch.org/whl/cpu transformers sentencepiece
```
> ⚠️ هذا يزيد حجم الصورة ~800MB ويحتاج ذاكرة أكثر

### للترقية إلى FULL mode (مع Llama 3)
- غيّر الـ Space إلى **GPU (T4)** من الإعدادات ($0.60/ساعة)
- عدّل `MURSHID_SKIP_LLM=false`
- أضف `HF_TOKEN` في الـ Secrets
- استخدم `requirements.txt` الكامل بدل `requirements_light.txt`

---

## استكشاف الأخطاء

| المشكلة | الحل |
|---------|------|
| Build فشل | تحقق من الـ Logs في تبويب الـ Space |
| 502 Bad Gateway | انتظر دقيقة — الخادم يبدأ |
| DB خطأ | تحقق من `MURSHID_DB_URL` في المتغيرات |
| Frontend لا يتصل | الـ BASE URL أصبح تلقائي (`window.location.origin`) |