AIencoder commited on
Commit
0359836
·
verified ·
1 Parent(s): dc02cf1

Update start.sh

Browse files
Files changed (1) hide show
  1. start.sh +39 -24
start.sh CHANGED
@@ -1,51 +1,66 @@
1
  #!/bin/bash
2
 
 
 
 
3
  # --- CONFIGURATION ---
4
- # Default to CODER mode if not set
5
  MODE="${MODEL_TYPE:-CODER}"
6
 
7
- # Define the models
8
- # Coder: 14B Q4_K_M
 
 
 
9
  CODER_REPO="Qwen/Qwen2.5-Coder-14B-Instruct-GGUF"
10
  CODER_FILE="qwen2.5-coder-14b-instruct-q4_k_m.gguf"
11
 
12
- # Vision: 7B Q4_K_M
13
  VISION_REPO="Qwen/Qwen2.5-VL-7B-Instruct-GGUF"
14
  VISION_FILE="qwen2.5-vl-7b-instruct-q4_k_m.gguf"
15
 
16
- # --- DOWNLOAD HELPER FUNCTION ---
17
- download_model() {
18
- repo=$1
19
- file=$2
20
- path="/app/$file"
21
-
22
- if [ ! -f "$path" ]; then
23
- echo "⬇️ Downloading $file..."
24
- python3 -c "from huggingface_hub import hf_hub_download; hf_hub_download(repo_id='$repo', filename='$file', local_dir='/app')"
25
- echo "✅ Download complete."
26
  else
27
- echo " File $file already exists. Skipping download."
 
 
 
 
 
 
 
 
 
 
 
28
  fi
29
  }
30
 
31
  # --- SELECTION LOGIC ---
32
  if [ "$MODE" = "VISION" ]; then
33
- echo "🚀 Booting in VISION mode..."
34
- download_model "$VISION_REPO" "$VISION_FILE"
35
-
36
  MODEL_PATH="/app/$VISION_FILE"
37
  CONTEXT=4096
38
-
39
  else
40
- echo "🚀 Booting in CODER mode..."
41
- download_model "$CODER_REPO" "$CODER_FILE"
42
-
43
  MODEL_PATH="/app/$CODER_FILE"
44
  CONTEXT=8192
45
  fi
46
 
47
- # --- START SERVER ---
48
- echo "🔥 Starting Llama.cpp Server..."
 
 
 
 
 
 
49
  exec llama-server \
50
  -m "$MODEL_PATH" \
51
  --host 0.0.0.0 \
 
1
  #!/bin/bash
2
 
3
+ # Stop the script if any command fails
4
+ set -e
5
+
6
  # --- CONFIGURATION ---
 
7
  MODE="${MODEL_TYPE:-CODER}"
8
 
9
+ echo "------------------------------------------------"
10
+ echo "🛠️ Starting Space in [$MODE] mode"
11
+ echo "------------------------------------------------"
12
+
13
+ # Define Models
14
  CODER_REPO="Qwen/Qwen2.5-Coder-14B-Instruct-GGUF"
15
  CODER_FILE="qwen2.5-coder-14b-instruct-q4_k_m.gguf"
16
 
 
17
  VISION_REPO="Qwen/Qwen2.5-VL-7B-Instruct-GGUF"
18
  VISION_FILE="qwen2.5-vl-7b-instruct-q4_k_m.gguf"
19
 
20
+ # Function to download
21
+ download_if_needed() {
22
+ REPO_ID=$1
23
+ FILENAME=$2
24
+ FILE_PATH="/app/$FILENAME"
25
+
26
+ if [ -f "$FILE_PATH" ]; then
27
+ echo " Found existing model: $FILENAME"
 
 
28
  else
29
+ echo "⬇️ Model not found. Downloading $FILENAME..."
30
+ python3 -c "
31
+ from huggingface_hub import hf_hub_download
32
+ import sys
33
+
34
+ try:
35
+ hf_hub_download(repo_id='$REPO_ID', filename='$FILENAME', local_dir='/app')
36
+ print('Download successful.')
37
+ except Exception as e:
38
+ print(f'Error: {e}')
39
+ sys.exit(1)
40
+ "
41
  fi
42
  }
43
 
44
  # --- SELECTION LOGIC ---
45
  if [ "$MODE" = "VISION" ]; then
46
+ download_if_needed "$VISION_REPO" "$VISION_FILE"
 
 
47
  MODEL_PATH="/app/$VISION_FILE"
48
  CONTEXT=4096
 
49
  else
50
+ # Default to Coder
51
+ download_if_needed "$CODER_REPO" "$CODER_FILE"
 
52
  MODEL_PATH="/app/$CODER_FILE"
53
  CONTEXT=8192
54
  fi
55
 
56
+ echo "------------------------------------------------"
57
+ echo "🚀 Launching Llama.cpp Server..."
58
+ echo "Model: $MODEL_PATH"
59
+ echo "Context: $CONTEXT"
60
+ echo "------------------------------------------------"
61
+
62
+ # Run Server
63
+ # We use 'exec' to ensure the server process takes over
64
  exec llama-server \
65
  -m "$MODEL_PATH" \
66
  --host 0.0.0.0 \