Download
pip install huggingface_hubhf download SurdAI/SPX-CD-Omni --local-dir SPX-CD-Omnicd SPX-CD-Omni
Run inference
Install CUDA-enabled PyTorch for Transformers. Use separate environments for the two backends.
Transformers — BF16 base:
pip install -r requirements-transformers.txtpython infer.py --backend transformers --adapter . \ --input examples/text.json --output predictions.jsonl
vLLM — AWQ INT4 base:
pip install -r requirements-vllm.txtpython infer.py --backend vllm --base nicklas373/gemma-4-12B-it-AWQ \ --adapter vllm-adapter --input examples/text.json --output predictions.jsonl
For images or multi-select, use examples/image.json or examples/multi_select.json as the input. See these files for the input format and python infer.py --help for options.
Run the audio test
pip install -r requirements-audio.txtpython smoke_audio.py --adapter vllm-adapter --output audio-results.json
Tests four bundled speech clips and silent controls. Base and adapter each scored 3/4.
Results
Self-evaluated with the AWQ INT4 base.
Table with columns: Benchmark / subset, Effort, Questions, Accuracy ↑, I ↑, C ↑, ECE ↓, TVD ↓, RPS ↓| Benchmark / subset | Effort | Questions | Accuracy ↑ | I ↑ | C ↑ | ECE ↓ | TVD ↓ | RPS ↓ |
|---|
| CMDB-1500 | 1 | 1,500 | 73.00% | 45.77 | 77.38 | 0.0246 | 0.4018 | 0.1205 |
| CMDB text | 1 | 1,200 | 71.00% | 45.63 | 75.75 | 0.0220 | 0.5013 | 0.1205 |
| CMDB images (native) | 1 | 300 | 81.00% | 70.43 |
JevBench ECE is Choice / Noul / Score. N/A means no rating questions. Metric scopes and sample counts are in METRICS.md; reproduction commands are in EVALUATION.md.
Settings
--effort 1–5: average that many distinct candidate orderings, capped at two for binary questions. Reported results cover efforts 1 and 2.
--temperature: candidate-softmax temperature, default 1.0.
--prompt-format: cmdb for CMDB; open-format for JevBench and Decision Bench.
Base: Google Gemma 4 12B, Apache 2.0.