Instructions to use vasilee/span-02-gguf with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use vasilee/span-02-gguf with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf vasilee/span-02-gguf:MXFP4 # Run inference directly in the terminal: llama cli -hf vasilee/span-02-gguf:MXFP4
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf vasilee/span-02-gguf:MXFP4 # Run inference directly in the terminal: llama cli -hf vasilee/span-02-gguf:MXFP4
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf vasilee/span-02-gguf:MXFP4 # Run inference directly in the terminal: ./llama-cli -hf vasilee/span-02-gguf:MXFP4
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf vasilee/span-02-gguf:MXFP4 # Run inference directly in the terminal: ./build/bin/llama-cli -hf vasilee/span-02-gguf:MXFP4
Use Docker
docker model run hf.co/vasilee/span-02-gguf:MXFP4
- LM Studio
- Jan
- vLLM
How to use vasilee/span-02-gguf with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "vasilee/span-02-gguf" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "vasilee/span-02-gguf", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/vasilee/span-02-gguf:MXFP4
- Ollama
How to use vasilee/span-02-gguf with Ollama:
ollama run hf.co/vasilee/span-02-gguf:MXFP4
- Unsloth Desktop
- Pi
How to use vasilee/span-02-gguf with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf vasilee/span-02-gguf:MXFP4
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "vasilee/span-02-gguf:MXFP4" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use vasilee/span-02-gguf with Docker Model Runner:
docker model run hf.co/vasilee/span-02-gguf:MXFP4
- Lemonade
How to use vasilee/span-02-gguf with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull vasilee/span-02-gguf:MXFP4
Run and chat with the model
lemonade run user.span-02-gguf-MXFP4
List all available models
lemonade list
- Hermes Agent
How to use vasilee/span-02-gguf with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf vasilee/span-02-gguf:MXFP4
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default vasilee/span-02-gguf:MXFP4
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use vasilee/span-02-gguf with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf vasilee/span-02-gguf:MXFP4
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "vasilee/span-02-gguf:MXFP4" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
span-02 GGUF - a frontier decision model you can run anywhere
respanai/span-02 is a frontier decision model: send it a state (text or JSON) plus typed questions and it answers with a calibrated probability per option - no free text, no parsing. It is a Gemma 4 26B-A4B fine-tune (~4B active parameters), #4 on the Decision Index with 62.6 full score at 33 ms median.
The upstream release only runs on NVIDIA Blackwell (RTX PRO 6000 / RTX 5090): the weights ship pre-quantized and are
executed by a bundled Rust/CUDA engine with hand-written sm_120a kernels, so transformers, vLLM, Mac and CPU setups
cannot load them at all. These GGUFs are the portable form of the same model: plain llama.cpp, one file for chat and
for decisions, on Mac (Metal), CPU, CUDA, Vulkan and friends.
Files
| file | size | layout | pick it when |
|---|---|---|---|
span02-mxfp4.gguf |
14.7 GB | MoE experts MXFP4 (4-bit e2m1, power-of-two block scales), rest Q8_0 | smallest file, keeps the native 4-bit-experts / 8-bit-dense shape |
span02-q4_k_m.gguf |
16.8 GB | mixed Q4_K / Q6_K / Q8_0, BF16 embeddings | widest backend support, runs on every llama.cpp build |
Both carry the decision-model metadata, so one file serves text generation and the TypeSafe /v1/systemone decision API
(output_modalities: ["text", "decisions"]).
The upstream NVFP4/FP8 weights were dequantized exactly per the engine's math (FP8: w * scale[row]; NVFP4:
e2m1 * fp8(scale) * gscale), converted with llama.cpp's Gemma 4 support, and re-quantized.
Measured results
Decision-suite benchmarks through the /v1/systemone endpoint: systemone mode, prefixed prompt style, 0-shot, whole
scored split, 0 request errors.
| benchmark | native engine (RTX PRO 6000) | span02-q4_k_m.gguf |
span02-mxfp4.gguf |
|---|---|---|---|
| GPQA Diamond, accuracy (196 scored) | 46.94 % | 46.94 % | 47.45 % |
| GPQA Diamond, chance-corrected skill | 0.2925 | 0.2925 | 0.2993 |
| GPQA Diamond, ECE (lower is better) | - | 0.131 | 0.121 |
| Home appliances, case exact (88 cases) | 100 % | 93.18 % | 94.32 % |
| Home appliances, field accuracy (1,590 fields) | - | 99.56 % | 99.69 % |
| Home appliances, ECE (lower is better) | - | 0.013 | 0.007 |
How to read it:
- Q4_K_M reproduces the native engine's Decision Index numbers on GPQA exactly (raw accuracy 0.4694, skill 0.2925).
- MXFP4 is one question ahead on GPQA and one case ahead on the home-appliance simulator. Neither gap is significant (two-proportion z-test, p = 0.92 and p = 0.76): the two quantizations are indistinguishable in accuracy.
- MXFP4 is the better calibrated of the two: lower ECE and Brier on both benchmarks, and confidence closer to accuracy.
- Both GGUFs sit about 6 pp below the native engine on the home-appliance suite, and they fail the same ambiguous cases (a request that is blocked or already satisfied, a device that is not in the household, a single-device pronoun). The gap follows the conversion path (no-think readout, llama.cpp prompt path), not the quantization.
Native-engine numbers are the Decision Index lab run on one RTX PRO 6000 with the author's own serving.
The original, for reference
| one RTX PRO 6000, native Rust/CUDA engine | |
|---|---|
| Decision Index full score | 62.6 (rank 4) |
| Median latency | 33 ms (p95 822 ms) |
| Throughput, 64 requests in flight | 167 req/s without thinking, 150 req/s with auto |
| Requests answered | 110,201 / 110,201 |
Original model card: respanai/span-02 - announcement: Introducing span-2.
Use
llama-server -m span02-mxfp4.gguf -c 8192 --repeat-penalty 1.1 --temp 0.8
Chat needs repeat_penalty ~1.1 and temperature ~0.8; this fine-tune loops without a repetition penalty.
Chat - /v1/chat/completions
curl localhost:8080/v1/chat/completions -H 'content-type: application/json' -d '{
"messages": [{"role": "user", "content": "tell me a joke in Romanian"}],
"max_tokens": 300
}'
Decisions - /v1/systemone
Send a state (any JSON) plus typed questions (choice, noul, score); get back calibrated probabilities:
curl localhost:8080/v1/systemone -H 'content-type: application/json' -d '{
"state": {"customer": "My package arrived damaged and nobody answers my emails. I want a refund now."},
"questions": {
"dept": {"type": "choice", "instructions": "Which team should handle this?",
"criteria": {"returns": "Exchanges, wrong or damaged items",
"shipping": "Delivery status, delays, lost packages",
"billing": "Charges, invoices, payment problems"}},
"refund": {"type": "noul", "instructions": "Does the customer ask for a refund?"},
"anger": {"type": "score", "instructions": "How frustrated is the customer?",
"criteria": ["Not frustrated: calm or positive",
"Somewhat frustrated: mild annoyance",
"Very frustrated: angry, hostile or threatening to leave"]}
}
}'
{"answers": {
"dept": {"type": "choice", "choice": "returns",
"probabilities": {"returns": 0.957, "shipping": 0.029, "billing": 0.014}},
"refund": {"type": "noul", "noul": 0.99997},
"anger": {"type": "score", "score": 1.98, "legend": {"0": ..., "1": ..., "2": ...}}}}
Checked against the native engine's golden tests: same choices, probabilities within ~0.01.
Limitations vs the native engine
- No-think readout only (no think-gating or thought blending), so close calls can differ.
- No
numberquestions (the endpoint rejects them), no images (text-only weights), max 255 options. - Chat quality is that of a decision fine-tune: fine for simple prompts, not base-model grade.
- Latency here is not comparable to the native engine's 33 ms median; that number is Blackwell + CUDA specific.
License
Weights derive from Google's Gemma 4 under the Gemma 4 license. See the original model card (Respan, 2026) for details and citation.
- Downloads last month
- 85
4-bit