File size: 1,446 Bytes
a3f6cb3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
#!/usr/bin/env bash
# Muse-Glimmer-30B-Abliterated-GGUF — one-command serve with DFlash speculative decoding.
# Requires a recent llama.cpp build (master) with DFlash support, and `hf` (huggingface_hub).
#
# Usage:   ./serve.sh
# Tunables (env):  QUANT=Q8_0  PORT=8080  CTX=16384  FA=on  NGL=999  MMPROJ=<projector.gguf>
#   FA=off   -> use if `-fa on` hangs at load on a brand-new GPU + older CUDA toolkit
#   MMPROJ=mmproj-Muse-Glimmer-30B-Abliterated-F16.gguf  -> enable image input
set -euo pipefail

REPO="Blackfrost-Research/Muse-Glimmer-30B-Abliterated-GGUF"
QUANT="${QUANT:-Q8_0}"     # Q2_K Q3_K_S Q3_K_M Q4_K_S Q4_K_M Q5_K_S Q5_K_M Q6_K Q8_0
PORT="${PORT:-8080}"
CTX="${CTX:-16384}"
FA="${FA:-on}"
NGL="${NGL:-999}"
DIR="${DIR:-./muse}"
MMPROJ="${MMPROJ:-}"

TARGET="Muse-Glimmer-30B-Abliterated-${QUANT}.gguf"
DRAFT="dflash-Muse-Glimmer-30B-Abliterated-F16.gguf"

mkdir -p "$DIR"
for f in "$TARGET" "$DRAFT" ${MMPROJ:+$MMPROJ}; do
  if [ ! -f "$DIR/$f" ]; then
    echo ">> downloading $f"
    hf download "$REPO" "$f" --local-dir "$DIR"
  fi
done

echo ">> serving $TARGET + DFlash on :$PORT (fa=$FA)"
exec llama-server \
  -m  "$DIR/$TARGET" \
  -md "$DIR/$DRAFT" \
  --spec-type draft-dflash --spec-draft-n-max 15 \
  -ngl "$NGL" -ngld "$NGL" -fa "$FA" --jinja \
  --host 0.0.0.0 --port "$PORT" -c "$CTX" \
  --temp 1.0 --top-p 0.95 --top-k 64 \
  ${MMPROJ:+--mmproj "$DIR/$MMPROJ"} \
  -a "Muse-Glimmer-30B-Abliterated-${QUANT}"