File size: 1,209 Bytes
10d27da
 
d94b3e3
10d27da
ef4d2c2
 
10d27da
ef4d2c2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10d27da
 
ef4d2c2
 
 
 
10d27da
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
#!/bin/bash
set -euo pipefail
mkdir -p model

GGUF_PATH_M="model/llama-joycaption-q4_k_m.gguf"
GGUF_PATH_S="model/llama-joycaption-q4_k_s.gguf"

GGUF_URL_M="https://huggingface.co/mradermacher/llama-joycaption-beta-one-hf-llava-GGUF/resolve/main/llama-joycaption-beta-one-hf-llava-q4_k_m.gguf"
GGUF_URL_S="https://huggingface.co/mradermacher/llama-joycaption-beta-one-hf-llava-GGUF/resolve/main/llama-joycaption-beta-one-hf-llava-q4_k_s.gguf"

download_model() {
  local url=$1
  local path=$2
  if [ -f "$path" ]; then
    echo "Model already present at $path"
    return 0
  fi
  echo "Downloading $path (may be several GB)..."
  if curl -L -C - -o "$path" "$url"; then
    echo "Downloaded $path"
    return 0
  else
    rm -f "$path"
    return 1
  fi
}

# Try Q4_K_M first
if download_model "$GGUF_URL_M" "$GGUF_PATH_M"; then
  MODEL_PATH="$GGUF_PATH_M"
elif download_model "$GGUF_URL_S" "$GGUF_PATH_S"; then
  MODEL_PATH="$GGUF_PATH_S"
else
  echo "Failed to download both Q4_K_M and Q4_K_S models." >&2
  exit 1
fi

# Symlink expected filename used in app.py
ln -sf "$MODEL_PATH" model/llama-joycaption-q4_k_m.gguf

# Run app.py (Spaces runs app.py automatically; this is for local runs)
python app.py