gijl commited on
Commit
44fd87c
·
verified ·
1 Parent(s): 539ca9d

Create run.sh

Browse files
Files changed (1) hide show
  1. run.sh +53 -0
run.sh ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+
3
+ # تحديد مسارات المخزن الدائم (في مساحات HF عادة يكون /data)
4
+ MODELS_DIR="/data/models"
5
+ MODEL_FILE="gemma-4-E2B-it-UD-Q5_K_XL.gguf"
6
+ OLLAMA_MODEL_NAME="my-gemma"
7
+
8
+ # إنشاء المجلدات المطلوبة في المخزن إن لم تكن موجودة
9
+ mkdir -p $MODELS_DIR
10
+ mkdir -p /data/ollama
11
+ mkdir -p /data/webui
12
+
13
+ # تشغيل خادم Ollama في الخلفية
14
+ echo "Starting Ollama server..."
15
+ OLLAMA_MODELS=/data/ollama ollama serve &
16
+
17
+ # الانتظار بضع ثوانٍ للتأكد من أن Ollama يعمل ومستعد لتلقي الطلبات
18
+ sleep 5
19
+
20
+ # التحقق من وجود النموذج في المخزن؛ إذا لم يكن موجوداً، قم بتنزيله
21
+ if [ ! -f "$MODELS_DIR/$MODEL_FILE" ]; then
22
+ echo "Model not found in storage. Downloading..."
23
+ # نستخدم local-dir-use-symlinks False لضمان تحميل الملف الفعلي وليس اختصاراً (symlink)
24
+ huggingface-cli download gijl/gemma-4-E2B-it-GGUF $MODEL_FILE \
25
+ --local-dir $MODELS_DIR \
26
+ --local-dir-use-symlinks False
27
+
28
+ # تنزيل ملف الرؤية (mmproj) إن كنت تحتاجه (انظر الملاحظة أسفل حول توافقه)
29
+ huggingface-cli download gijl/gemma-4-E2B-it-GGUF mmproj-BF16.gguf \
30
+ --local-dir $MODELS_DIR \
31
+ --local-dir-use-symlinks False
32
+ else
33
+ echo "Model already exists in storage. Skipping download."
34
+ fi
35
+
36
+ # إنشاء ملف إعدادات النموذج لـ Ollama (Modelfile)
37
+ echo "Creating Modelfile..."
38
+ cat <<EOF > $MODELS_DIR/Modelfile
39
+ FROM $MODELS_DIR/$MODEL_FILE
40
+
41
+ # إعدادات مشابهة لما طلبته في llama.cpp
42
+ PARAMETER num_ctx 128000
43
+ PARAMETER num_thread 2
44
+ EOF
45
+
46
+ # تسجيل النموذج داخل Ollama
47
+ echo "Registering model with Ollama..."
48
+ ollama create $OLLAMA_MODEL_NAME -f $MODELS_DIR/Modelfile
49
+
50
+ # تشغيل واجهة Open WebUI (الأمر الافتراضي للصورة الأساسية)
51
+ echo "Starting Open WebUI..."
52
+ cd /app/backend
53
+ exec bash start.sh