Instructions to use devanshbatham/nyx 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 devanshbatham/nyx 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 devanshbatham/nyx # Run inference directly in the terminal: llama cli -hf devanshbatham/nyx
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf devanshbatham/nyx # Run inference directly in the terminal: llama cli -hf devanshbatham/nyx
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 devanshbatham/nyx # Run inference directly in the terminal: ./llama-cli -hf devanshbatham/nyx
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 devanshbatham/nyx # Run inference directly in the terminal: ./build/bin/llama-cli -hf devanshbatham/nyx
Use Docker
docker model run hf.co/devanshbatham/nyx
- Llama new
- LM Studio
- Jan
- vLLM
How to use devanshbatham/nyx with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "devanshbatham/nyx" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "devanshbatham/nyx", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/devanshbatham/nyx
- Ollama
How to use devanshbatham/nyx with Ollama:
ollama run hf.co/devanshbatham/nyx
- Unsloth Desktop
- Pi
How to use devanshbatham/nyx with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf devanshbatham/nyx
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": "devanshbatham/nyx" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use devanshbatham/nyx with Docker Model Runner:
docker model run hf.co/devanshbatham/nyx
- Lemonade
How to use devanshbatham/nyx with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull devanshbatham/nyx
Run and chat with the model
lemonade run user.nyx-{{QUANT_TAG}}List all available models
lemonade list
- Hermes Agent
How to use devanshbatham/nyx with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf devanshbatham/nyx
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 devanshbatham/nyx
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use devanshbatham/nyx with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf devanshbatham/nyx
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 "devanshbatham/nyx" \ --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"
Devansh Batham commited on
Commit ·
c9150ad
1
Parent(s): d0a349e
Streamline model card and refresh chart
Browse files- README.md +12 -38
- assets/nyx-benchmarks.svg +0 -0
- benchmarks/random-six-report.md +0 -71
- release-manifest.json +5 -9
README.md
CHANGED
|
@@ -14,23 +14,19 @@ tags:
|
|
| 14 |
|
| 15 |
# nyx
|
| 16 |
|
| 17 |
-
nyx is a compact 4B decision model for Choice, Score, and Noul workloads. The release is one 3.29 GB GGUF
|
| 18 |
|
| 19 |
-
 |
|
| 32 |
-
|
| 33 |
-
The architecture, tokenizer, and base weights originate from Qwen. nyx adds decision-task adaptation, task-vector composition, quantization, and a production API integration.
|
| 34 |
|
| 35 |
## Run
|
| 36 |
|
|
@@ -38,7 +34,6 @@ The architecture, tokenizer, and base weights originate from Qwen. nyx adds deci
|
|
| 38 |
git clone https://github.com/devanshbatham/nyx.git /opt/nyx
|
| 39 |
hf download devanshbatham/nyx --local-dir /opt/nyx-model
|
| 40 |
|
| 41 |
-
# auto-detects CPU, Metal, CUDA, or HIP
|
| 42 |
/opt/nyx/scripts/build-llama-cpp.sh /opt/llama.cpp
|
| 43 |
|
| 44 |
export LLAMA_SERVER_BIN=/opt/llama.cpp/build/bin/llama-server
|
|
@@ -46,13 +41,13 @@ export NYX_GGUF_PATH=/opt/nyx-model/nyx.gguf
|
|
| 46 |
/opt/nyx/scripts/serve-model.sh
|
| 47 |
```
|
| 48 |
|
| 49 |
-
|
| 50 |
|
| 51 |
-
|
| 52 |
|
| 53 |
-
##
|
| 54 |
|
| 55 |
-
|
| 56 |
|
| 57 |
| Benchmark | Qwen3.5-4B base | nyx reference | Jev 1.13 |
|
| 58 |
|---|---:|---:|---:|
|
|
@@ -67,29 +62,8 @@ The public comparison below is for the pre-quantization nyx reference. The pretr
|
|
| 67 |
| Round trip, median / p95 | 54.85 / 67.96 ms | 55.56 / 72.77 ms | 182.33 / 245.12 ms |
|
| 68 |
| Throughput | 17.44 req/s | 17.15 req/s | 42.43 req/s |
|
| 69 |
|
| 70 |
-
Local
|
| 71 |
-
|
| 72 |
-
### Compact-release fidelity
|
| 73 |
-
|
| 74 |
-
The released GGUF was compared with the 8.42 GB reference on a separate frozen 1,024-case set.
|
| 75 |
-
|
| 76 |
-
| Metric | Reference | Released GGUF |
|
| 77 |
-
|---|---:|---:|
|
| 78 |
-
| Correct | 873/1,024 | 874/1,024 |
|
| 79 |
-
| Accuracy | 85.25% | 85.35% |
|
| 80 |
-
| Decision agreement | — | 98.73% (1,011/1,024) |
|
| 81 |
-
| Decision disagreements | — | 13 |
|
| 82 |
-
|
| 83 |
-
The compact model gained seven decisions and lost six relative to the reference. It did not meet the experiment's original 99.5% agreement target; publication followed an explicit decision to accept that tradeoff. See the [evaluation record](benchmarks/random-six-report.md).
|
| 84 |
-
|
| 85 |
-
## Limitations
|
| 86 |
-
|
| 87 |
-
- Optimized for structured classification and decision workloads; general assistant quality was not established.
|
| 88 |
-
- The released GGUF has not been rerun on the full public 2,277-case suite.
|
| 89 |
-
- NVIDIA and Apple performance and cross-vendor decision parity have not been measured.
|
| 90 |
-
- Public-benchmark pretraining overlap is unknown.
|
| 91 |
-
- Outputs can be incorrect or biased. Validate consequential decisions independently.
|
| 92 |
|
| 93 |
-
## License
|
| 94 |
|
| 95 |
-
Apache
|
|
|
|
| 14 |
|
| 15 |
# nyx
|
| 16 |
|
| 17 |
+
nyx is a compact 4B decision model for Choice, Score, and Noul workloads. The release is one 3.29 GB GGUF for llama.cpp on CPU, Apple Metal, NVIDIA CUDA, and AMD HIP.
|
| 18 |
|
| 19 |
+

|
| 20 |
|
| 21 |
## Model
|
| 22 |
|
| 23 |
| Property | Value |
|
| 24 |
|---|---|
|
| 25 |
+
| Base | [Qwen/Qwen3.5-4B](https://huggingface.co/Qwen/Qwen3.5-4B) |
|
|
|
|
| 26 |
| File | `nyx.gguf` |
|
| 27 |
+
| Size | 3.29 GB / 3.06 GiB |
|
| 28 |
+
| Format | GGUF, importance-matrix IQ4_XS with selected Q5_K/Q6_K tensors |
|
| 29 |
| SHA-256 | `39d64fb19863cfc067e2411fcb2a0444113dda13798b15de5617736d91914359` |
|
|
|
|
|
|
|
|
|
|
| 30 |
|
| 31 |
## Run
|
| 32 |
|
|
|
|
| 34 |
git clone https://github.com/devanshbatham/nyx.git /opt/nyx
|
| 35 |
hf download devanshbatham/nyx --local-dir /opt/nyx-model
|
| 36 |
|
|
|
|
| 37 |
/opt/nyx/scripts/build-llama-cpp.sh /opt/llama.cpp
|
| 38 |
|
| 39 |
export LLAMA_SERVER_BIN=/opt/llama.cpp/build/bin/llama-server
|
|
|
|
| 41 |
/opt/nyx/scripts/serve-model.sh
|
| 42 |
```
|
| 43 |
|
| 44 |
+
Allow 8 GB of free RAM, VRAM, or unified memory and 6 GB of disk for one 4,096-token slot. Larger contexts and concurrent slots need more memory.
|
| 45 |
|
| 46 |
+
The production API and typed Python/TypeScript clients are in [devanshbatham/nyx](https://github.com/devanshbatham/nyx).
|
| 47 |
|
| 48 |
+
## Benchmarks
|
| 49 |
|
| 50 |
+
Accuracy on 2,277 frozen classification requests:
|
| 51 |
|
| 52 |
| Benchmark | Qwen3.5-4B base | nyx reference | Jev 1.13 |
|
| 53 |
|---|---:|---:|---:|
|
|
|
|
| 62 |
| Round trip, median / p95 | 54.85 / 67.96 ms | 55.56 / 72.77 ms | 182.33 / 245.12 ms |
|
| 63 |
| Throughput | 17.44 req/s | 17.15 req/s | 42.43 req/s |
|
| 64 |
|
| 65 |
+
Local Qwen and nyx latency: MI325X, concurrency 1. Jev latency: remote HTTPS, concurrency 8. The published GGUF matched the nyx reference on 98.73% of a separate 1,024-case fidelity set. [Reproduce the nyx/Jev benchmark](https://github.com/devanshbatham/nyx/tree/main/benchmarks).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 66 |
|
| 67 |
+
## License
|
| 68 |
|
| 69 |
+
Apache-2.0. nyx is derived from [Qwen/Qwen3.5-4B](https://huggingface.co/Qwen/Qwen3.5-4B); Qwen and Alibaba Cloud are credited as the original model authors. This project is not affiliated with Qwen, Alibaba Cloud, TypeSafe, or Jev.
|
assets/nyx-benchmarks.svg
CHANGED
|
|
|
|
benchmarks/random-six-report.md
DELETED
|
@@ -1,71 +0,0 @@
|
|
| 1 |
-
# Six public classification benchmarks
|
| 2 |
-
|
| 3 |
-
These results describe the 8.42 GB pre-quantization nyx reference, not the 3.29 GB release GGUF. The compact file was selected using the separate fidelity evaluation reported below.
|
| 4 |
-
|
| 5 |
-
Frozen paired cohort: 2,277 cases; case SHA-256 `046a38c24747fd724003aca7e5f1d1b6e148d599092222361c0717ecff84ecad`; every failure counts as wrong.
|
| 6 |
-
|
| 7 |
-
| Dataset | Cases | Qwen3.5-4B base | nyx | Jev 1.13 |
|
| 8 |
-
|---|---:|---:|---:|---:|
|
| 9 |
-
| AG News | 400 | 87.75% (351/400) | 85.75% (343/400) | 86.50% (346/400) |
|
| 10 |
-
| TREC coarse | 500 | 86.60% (433/500) | 84.20% (421/500) | 93.00% (465/500) |
|
| 11 |
-
| CoLA | 400 | 77.75% (311/400) | 81.50% (326/400) | 77.75% (311/400) |
|
| 12 |
-
| RTE | 277 | 84.12% (233/277) | 88.09% (244/277) | 91.34% (253/277) |
|
| 13 |
-
| Emotion | 300 | 47.67% (143/300) | 46.33% (139/300) | 47.00% (141/300) |
|
| 14 |
-
| IMDb | 400 | 95.75% (383/400) | 95.75% (383/400) | 97.00% (388/400) |
|
| 15 |
-
| Dataset-macro accuracy | 2,277 | 79.94% | 80.27% | 82.10% |
|
| 16 |
-
| Dataset-macro F1 | 2,277 | 79.83% | 80.48% | 81.85% |
|
| 17 |
-
| Pooled micro accuracy | 2,277 | 81.42% (1,854/2,277) | 81.51% (1,856/2,277) | 83.62% (1,904/2,277) |
|
| 18 |
-
|
| 19 |
-
Jev-only versus nyx-only correct cases were 121 to 73; the exact two-sided McNemar p-value is `0.0006995`. nyx-only versus Qwen-only correct cases were 112 to 110 (`p=0.9465`).
|
| 20 |
-
|
| 21 |
-
## Runtime
|
| 22 |
-
|
| 23 |
-
The release profile uses one llama.cpp execution slot because it was the fastest measured configuration for this latency-oriented workload.
|
| 24 |
-
|
| 25 |
-
| Measurement | Result |
|
| 26 |
-
|---|---:|
|
| 27 |
-
| Reference model file | 8,424,393,056 bytes |
|
| 28 |
-
| Measured VRAM | 9,927,208,960 bytes |
|
| 29 |
-
| Round trip, median | 55.56 ms |
|
| 30 |
-
| Round trip, p95 | 72.77 ms |
|
| 31 |
-
| Round trip, mean | 57.92 ms |
|
| 32 |
-
| Full-run wall time | 132,780.73 ms |
|
| 33 |
-
| Sustained throughput | 17.15 requests/s |
|
| 34 |
-
|
| 35 |
-
The nyx timing is direct loopback HTTP to llama.cpp on one AMD Instinct MI325X, with full GPU offload, Flash Attention, Q8 KV cache, 4,096 tokens per slot, and client/server concurrency 1. It excludes the authenticated gateway and external network. The Qwen base used the identical local profile and measured 54.85 ms median, 67.96 ms p95, and 17.44 requests/s.
|
| 36 |
-
|
| 37 |
-
The previously observed Jev remote-HTTPS run used client concurrency 8 and reported 182.33 ms median, 245.12 ms p95, and 42.43 requests/s. Different hardware, network topology, and concurrency make that timing descriptive rather than a controlled speed comparison.
|
| 38 |
-
|
| 39 |
-
## Batching check
|
| 40 |
-
|
| 41 |
-
The first 120 frozen cases were repeated at three concurrency levels. The server had the same number of 4,096-token slots as the client concurrency.
|
| 42 |
-
|
| 43 |
-
| Concurrency | Correct | Median / p95 | Throughput |
|
| 44 |
-
|---:|---:|---:|---:|
|
| 45 |
-
| 1 | 94/120 | 57.20 / 89.01 ms | 15.79 requests/s |
|
| 46 |
-
| 2 | 94/120 | 162.80 / 219.25 ms | 11.77 requests/s |
|
| 47 |
-
| 8 | 94/120 | 606.22 / 887.68 ms | 11.61 requests/s |
|
| 48 |
-
|
| 49 |
-
All 120 class decisions were identical across the three runs. Batching was rejected because it reduced throughput and increased latency.
|
| 50 |
-
|
| 51 |
-
## Protocol and limits
|
| 52 |
-
|
| 53 |
-
- Dataset selection, sampled examples, request order, and labels were frozen before provider scoring.
|
| 54 |
-
- AG News, CoLA, Emotion, and IMDb are fixed class-stratified samples; TREC test and RTE validation are complete.
|
| 55 |
-
- Each request contained one Choice question. Both systems completed 2,277/2,277 cases with zero errors.
|
| 56 |
-
- Public-benchmark pretraining overlap is unknown. This finite suite does not establish universal classification quality.
|
| 57 |
-
- The NVIDIA RTX 4000 Ada target still requires an on-device latency and class-decision parity run before production rollout.
|
| 58 |
-
|
| 59 |
-
## Compact release fidelity
|
| 60 |
-
|
| 61 |
-
The released importance-matrix IQ4_XS candidate was evaluated against the reference on a frozen 1,024-case selection spanning Banking77, BoolQ, CLINC150, code-defect annotation, commit type, DBpedia14, email spam, SNLI, structured rules, and tweet sentiment.
|
| 62 |
-
|
| 63 |
-
| Metric | Reference | Released GGUF |
|
| 64 |
-
|---|---:|---:|
|
| 65 |
-
| File size | 8,424,393,056 bytes | 3,288,582,784 bytes |
|
| 66 |
-
| Correct | 873/1,024 | 874/1,024 |
|
| 67 |
-
| Accuracy | 85.25% | 85.35% |
|
| 68 |
-
| Decision agreement | — | 98.73% (1,011/1,024) |
|
| 69 |
-
| Decision disagreements | — | 13 |
|
| 70 |
-
|
| 71 |
-
The released candidate gained seven decisions and lost six relative to the reference. This is fidelity evidence, not a fresh public-benchmark run. The candidate did not meet the experiment's original 99.5% agreement target and was released only after that threshold was explicitly waived.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
release-manifest.json
CHANGED
|
@@ -14,20 +14,16 @@
|
|
| 14 |
"sha256": "a7c85805e2a02824e60d752e1d543649918c081b45b150615a926ea2f79f2e91"
|
| 15 |
},
|
| 16 |
"README.md": {
|
| 17 |
-
"bytes":
|
| 18 |
-
"sha256": "
|
| 19 |
},
|
| 20 |
"assets/IOSEVKA-OFL.md": {
|
| 21 |
"bytes": 4674,
|
| 22 |
"sha256": "4fbfa00e9fb9e9a774ab4c099bc6e8b2ac1a46f6492a2c260f958b004d172da6"
|
| 23 |
},
|
| 24 |
"assets/nyx-benchmarks.svg": {
|
| 25 |
-
"bytes":
|
| 26 |
-
"sha256": "
|
| 27 |
-
},
|
| 28 |
-
"benchmarks/random-six-report.md": {
|
| 29 |
-
"bytes": 4372,
|
| 30 |
-
"sha256": "68f53d0f47f25a3cf92fe73be76537164270b18b10d374e2247456f7daf3036f"
|
| 31 |
},
|
| 32 |
"nyx.gguf": {
|
| 33 |
"bytes": 3288582784,
|
|
@@ -40,5 +36,5 @@
|
|
| 40 |
},
|
| 41 |
"format_version": 1,
|
| 42 |
"repository": "devanshbatham/nyx",
|
| 43 |
-
"total_bytes":
|
| 44 |
}
|
|
|
|
| 14 |
"sha256": "a7c85805e2a02824e60d752e1d543649918c081b45b150615a926ea2f79f2e91"
|
| 15 |
},
|
| 16 |
"README.md": {
|
| 17 |
+
"bytes": 2568,
|
| 18 |
+
"sha256": "8a64b70816f33dd4997b1b815ab267ad5e2192f3401425d1cadc9dc69e6fca5a"
|
| 19 |
},
|
| 20 |
"assets/IOSEVKA-OFL.md": {
|
| 21 |
"bytes": 4674,
|
| 22 |
"sha256": "4fbfa00e9fb9e9a774ab4c099bc6e8b2ac1a46f6492a2c260f958b004d172da6"
|
| 23 |
},
|
| 24 |
"assets/nyx-benchmarks.svg": {
|
| 25 |
+
"bytes": 121677,
|
| 26 |
+
"sha256": "3d950fd5ce930e3309c444513c45e2748c7716029fca4bda4b999a8b23fce1fa"
|
|
|
|
|
|
|
|
|
|
|
|
|
| 27 |
},
|
| 28 |
"nyx.gguf": {
|
| 29 |
"bytes": 3288582784,
|
|
|
|
| 36 |
},
|
| 37 |
"format_version": 1,
|
| 38 |
"repository": "devanshbatham/nyx",
|
| 39 |
+
"total_bytes": 3288725381
|
| 40 |
}
|