Create run.sh
Browse files
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
|