m64_dfd55abca230 / start.sh
35 lines, 1.3 KBraw
1#!/usr/bin/env bash2# qwen38-flash-next-basalt-5090 entrypoint. Runs inside the container; takes no arguments.3# Basalt serves an OpenAI-compatible API on $M64_PORT. The pack is mounted read-only at4# /weights/basalt; nothing is fetched at runtime.5set -eu6echo '{"phase":"loading","detail":"loading the Basalt pack"}' >> "$M64_STATUS"78# Engine settings live in one config file (the pack carries no flags; server settings are the flags below): hal5090's9# start_qwen38_flash_next_basalt_384k.sh. Past the trained 262144 tokens the RoPE is10# stretched with YaRN by 393216/262144 = 1.5.11cat > /scratch/basalt_config.json <<'JSON'12{13 "engine": {14 "expert-cache": "auto",15 "prefill": "auto",16 "spec": 7,17 "spec-min-p": 0.5,18 "max-context": 393216,19 "kv": "int8",20 "resident-experts": true,21 "vram-reserve-mib": 700,22 "rope-scaling": "yarn",23 "rope-scale": 1.5,24 "yarn-orig-ctx": 26214425 }26}27JSON2829# 0.0.0.0 inside the container's own network: only the m64 gate reaches it. The front calls30# it as Host "capsule", which Basalt's DNS-rebinding check must accept.31exec /opt/basalt/bin/basalt serve --config /scratch/basalt_config.json \32 --model /weights/basalt/Qwen3.8-FN-GSQ-RCO-IQ3_S.basalt \33 --alias qwen3.8-flash-next-iq3_s-basalt-384k \34 --vision dynamic \35 --host 0.0.0.0 --port "$M64_PORT" --allowed-host capsule