This is the standard spark2_5 architecture. It needs a recent upstream llama.cpp (conversion/spark2_5.py landed in PR #27868, merged 2026-09-06) — no custom fork, but not an ancient build either. The measurements here used b1-a37cc46.
Text only
./llama-server -m Spark-X2.6-4B-abliterated-FIT-BALANCED-3G-Q4_K_M.gguf -ngl 99 -c 32768
./llama-cli -m Spark-X2.6-4B-abliterated-FIT-MINI-2G-Q3_K_M.gguf -ngl 99 -c 8192 -n 256 -p "Hello"
The chat template is embedded in every file, so LM Studio, KoboldCpp, Jan and friends load them without extra configuration. Spark2.6 enables its thinking block by default — pass enable_thinking=false through your chat template if you want the answer without the reasoning trace.
On context length: the upstream card and config.json declare max_position_embeddings = 1048576, and the card shows a server configured for a maximum context of 1,048,576 tokens — this repository did not measure it. It is reachable in principle because only 9 of the 36 layers are full attention (RoPE θ 5,000,000, partial RoPE 0.25) while the other 27 use a fixed 512-token sliding window, so the KV cache grows at roughly a quarter of a pure full-attention model. Start at -c 32768 and work up: on a 32 GiB card the MINI tier leaves real room for a long context, and the REFERENCE tier is mostly there to be the fidelity ceiling.