motif64

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