Text Generation
Transformers
Safetensors
English
qwen3_5
image-text-to-text
agentic
code
Merge
qwen3.5
tool-calling
conversational
Instructions to use ManniX-ITA/JackOD-9B-Coder with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use ManniX-ITA/JackOD-9B-Coder with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="ManniX-ITA/JackOD-9B-Coder") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("ManniX-ITA/JackOD-9B-Coder") model = AutoModelForMultimodalLM.from_pretrained("ManniX-ITA/JackOD-9B-Coder", device_map="auto") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=256) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use ManniX-ITA/JackOD-9B-Coder with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "ManniX-ITA/JackOD-9B-Coder" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ManniX-ITA/JackOD-9B-Coder", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/ManniX-ITA/JackOD-9B-Coder
- SGLang
How to use ManniX-ITA/JackOD-9B-Coder with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "ManniX-ITA/JackOD-9B-Coder" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ManniX-ITA/JackOD-9B-Coder", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "ManniX-ITA/JackOD-9B-Coder" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ManniX-ITA/JackOD-9B-Coder", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use ManniX-ITA/JackOD-9B-Coder with Docker Model Runner:
docker model run hf.co/ManniX-ITA/JackOD-9B-Coder
v2 card: full v2 cohort (HE/HE+/LCB v6/MPE/IFEval, LCB reasoning length, tool-eval-bench) on the published Q6_K; v1 kept as history
Browse files
README.md
CHANGED
|
@@ -32,13 +32,14 @@ until it is actually finished.
|
|
| 32 |
It is not built to win knowledge benchmarks, and its world knowledge is limited
|
| 33 |
for its size. What it is built to do is **finish, and stop**.
|
| 34 |
|
| 35 |
-
> **v2 re-release (2026-10-21).** The weights
|
| 36 |
-
>
|
| 37 |
-
>
|
| 38 |
-
> v1
|
| 39 |
-
>
|
| 40 |
-
>
|
| 41 |
-
>
|
|
|
|
| 42 |
|
| 43 |
| role | model | weight |
|
| 44 |
|---|---|---|
|
|
@@ -108,20 +109,37 @@ the source swap above.
|
|
| 108 |
|
| 109 |
## Evaluation (v2)
|
| 110 |
|
| 111 |
-
|
| 112 |
-
|
| 113 |
-
|
| 114 |
-
|
| 115 |
-
|
| 116 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 117 |
|
| 118 |
### LiveCodeBench v6 (55 hard) — accuracy and reasoning length
|
| 119 |
|
| 120 |
Same 55 problems, same 12,288-token thinking budget, same cap, for every arm.
|
| 121 |
-
Token counts are the server's `completion_tokens`; *budget hits* are runs
|
| 122 |
-
|
| 123 |
-
published-grade Q6_K (full AtomicChat imatrix), v2 the quick-imatrix Q6_K — the
|
| 124 |
-
v2 full-imatrix row replaces it when the re-measurement lands.
|
| 125 |
|
| 126 |
| model | pass@1 | mean tokens | median tokens | budget hits (solved) | length-capped | solved / 1k tokens |
|
| 127 |
|---|---|---|---|---|---|---|
|
|
@@ -129,18 +147,65 @@ v2 full-imatrix row replaces it when the re-measurement lands.
|
|
| 129 |
| Qwopus3.5-9B-Coder | 0.6000 | 10,811 | 12,437 | 38 (17) | 8 | 0.055 |
|
| 130 |
| Qwopus3.5-9B-Coder-Flash | 0.6727 | 5,922 | 3,336 | 14 (4) | 6 | 0.114 |
|
| 131 |
| JackOD-9B-Coder **v1** | 0.7818 | 8,869 | 12,358 | 29 (18) | 1 | 0.088 |
|
| 132 |
-
| **JackOD-9B-Coder v2** | **0.
|
| 133 |
-
|
| 134 |
-
- **
|
| 135 |
-
|
| 136 |
-
|
| 137 |
-
- The solved sets
|
| 138 |
-
|
| 139 |
-
|
| 140 |
-
|
| 141 |
-
|
| 142 |
-
|
| 143 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 144 |
|
| 145 |
## Serving
|
| 146 |
|
|
@@ -189,16 +254,18 @@ degrades to prose.
|
|
| 189 |
## Quants
|
| 190 |
|
| 191 |
GGUF quants: **[`ManniX-ITA/JackOD-9B-Coder-MTP-GGUF`](https://huggingface.co/ManniX-ITA/JackOD-9B-Coder-MTP-GGUF)**.
|
| 192 |
-
|
| 193 |
-
|
| 194 |
-
|
| 195 |
|
| 196 |
-
|
|
|
|
| 197 |
|
| 198 |
## JackOD-9B-Coder v1 — previous weights (replaced 2026-10-21)
|
|
|
|
| 199 |
Everything below was measured on the **v1** weights (Qwopus3.5-9B-Coder in the
|
| 200 |
0.30 slot). It is kept because it is the record of how this merge was chosen;
|
| 201 |
-
it does not describe the v2 weights
|
| 202 |
|
| 203 |
### Field impression — initial, limited testing
|
| 204 |
|
|
|
|
| 32 |
It is not built to win knowledge benchmarks, and its world knowledge is limited
|
| 33 |
for its size. What it is built to do is **finish, and stop**.
|
| 34 |
|
| 35 |
+
> **v2 re-release (2026-10-21).** The weights were replaced. v2 is the same
|
| 36 |
+
> recipe with one change: Jackrong's **Coder-Flash** sits in the 0.30 slot that
|
| 37 |
+
> held Qwopus3.5-9B-Coder. Measured on the published Q6_K, v2 **matches or beats
|
| 38 |
+
> v1 on all five code and instruction benchmarks** (LiveCodeBench v6 0.8000,
|
| 39 |
+
> IFEval 0.9400) and uses **~23% fewer tokens** on the hard code problems. It does
|
| 40 |
+
> **not** improve tool calling: the aggregate is 4 points under v1 with
|
| 41 |
+
> overlapping intervals, and v1's lead in autonomous planning does not carry
|
| 42 |
+
> over. The v1 measurements are kept at the end of this card, labelled as such.
|
| 43 |
|
| 44 |
| role | model | weight |
|
| 45 |
|---|---|---|
|
|
|
|
| 109 |
|
| 110 |
## Evaluation (v2)
|
| 111 |
|
| 112 |
+
Measured on the **published Q6_K** (`JackOD-9B-Coder-Q6_K.gguf`, sha256
|
| 113 |
+
`c94d907c…d25a`, full AtomicChat `ornith-1.5-9b` imatrix `5ad024b8…`), llama.cpp
|
| 114 |
+
`311d4211bf`, **greedy** (`sampler=template_default`, temp 0.0 / top-p 1.0 /
|
| 115 |
+
top-k 0), scores read from `summary.json.score`. v2 and Coder-Flash were run
|
| 116 |
+
together, on the same machine and build. The v1 and other source columns are
|
| 117 |
+
the v1 cohort (same templates, same sampler, its own llama.cpp build) and are
|
| 118 |
+
there for orientation.
|
| 119 |
+
|
| 120 |
+
| Benchmark | **JackOD v2** | JackOD v1 | Coder-Flash (0.30) | Qwen3.5-9B (base) | DeltaCoder-9B (0.55) | Ornith-1.5-9B (0.15) |
|
| 121 |
+
|---|---|---|---|---|---|---|
|
| 122 |
+
| HumanEval (164) | 0.8902 | 0.8841 | 0.8415 | 0.8902 | **0.9146** | 0.7805 |
|
| 123 |
+
| HumanEval+ (164) | **0.8293** | 0.8232 | 0.7805 | 0.8049 † | 0.8232 | 0.7073 |
|
| 124 |
+
| **LiveCodeBench v6 (55 hard)** | **0.8000** | 0.7818 | 0.6727 | 0.7273 | 0.6364 | 0.5818 |
|
| 125 |
+
| MultiPL-E (300) | 0.8033 | 0.8033 | 0.7933 | **0.8200** | 0.8000 | 0.7267 |
|
| 126 |
+
| IFEval (100) | **0.9400** | 0.9100 | 0.8500 | 0.9300 † | 0.9200 | 0.8200 |
|
| 127 |
+
|
| 128 |
+
† From an earlier 9B bank, not the cohort run (see the v1 section).
|
| 129 |
+
|
| 130 |
+
- **v2 is at or above v1 on every row.** HumanEval, HumanEval+ and LiveCodeBench
|
| 131 |
+
each move by one problem, which is inside the run-to-run spread of a greedy
|
| 132 |
+
llama.cpp eval and is not claimed as an improvement. IFEval (+3 prompts) is the
|
| 133 |
+
one real move, and it puts v2 above the base.
|
| 134 |
+
- **LiveCodeBench 0.8000 is above every source and the base**: +7.27 pp over the
|
| 135 |
+
base, +12.73 pp over Coder-Flash, the source it gained.
|
| 136 |
+
- MultiPL-E is unchanged at 0.8033, still 1.67 pp under the base.
|
| 137 |
|
| 138 |
### LiveCodeBench v6 (55 hard) — accuracy and reasoning length
|
| 139 |
|
| 140 |
Same 55 problems, same 12,288-token thinking budget, same cap, for every arm.
|
| 141 |
+
Token counts are the server's `completion_tokens`; *budget hits* are runs that
|
| 142 |
+
reached the thinking budget; *length-capped* never terminated on their own.
|
|
|
|
|
|
|
| 143 |
|
| 144 |
| model | pass@1 | mean tokens | median tokens | budget hits (solved) | length-capped | solved / 1k tokens |
|
| 145 |
|---|---|---|---|---|---|---|
|
|
|
|
| 147 |
| Qwopus3.5-9B-Coder | 0.6000 | 10,811 | 12,437 | 38 (17) | 8 | 0.055 |
|
| 148 |
| Qwopus3.5-9B-Coder-Flash | 0.6727 | 5,922 | 3,336 | 14 (4) | 6 | 0.114 |
|
| 149 |
| JackOD-9B-Coder **v1** | 0.7818 | 8,869 | 12,358 | 29 (18) | 1 | 0.088 |
|
| 150 |
+
| **JackOD-9B-Coder v2** | **0.8000** | **6,809** | **5,524** | 15 (6) | 2 | **0.117** |
|
| 151 |
+
|
| 152 |
+
- **About 23% fewer tokens than v1** (mean 6,809 vs 8,869) and under half the
|
| 153 |
+
median (5,524 vs 12,358). On the 36 problems both versions solve, v2 is
|
| 154 |
+
shorter on 29 (median length ratio 0.66).
|
| 155 |
+
- The solved sets differ: 36 both, 7 only v1, 8 only v2. One 55-problem cell
|
| 156 |
+
does not separate two models that close, and it is not claimed to.
|
| 157 |
+
- v2 is now the most token-efficient arm in the table (0.117 solved per 1k
|
| 158 |
+
tokens), slightly ahead of Coder-Flash alone (0.114), at +12.73 pp accuracy.
|
| 159 |
+
- Termination stays near v1: **2 of 55** length-capped (v1: 1).
|
| 160 |
+
|
| 161 |
+
### Tool calling — `tool-eval-bench` hardmode
|
| 162 |
+
|
| 163 |
+
84 scenarios scored, 168 points, **5 paired seeds (42–46)**, n=5 → t=2.776,
|
| 164 |
+
greedy, `--hardmode --weight-by-difficulty`, scorer `2.6.1.dev65+g6be685f0e`,
|
| 165 |
+
llama-server `--jinja`. v2 and Coder-Flash were served by llama.cpp
|
| 166 |
+
`311d4211bf` in the same run; the v1 cohort rows were served by `5bda51bf`, so
|
| 167 |
+
v2-vs-v1 crosses two llama.cpp builds.
|
| 168 |
+
|
| 169 |
+
| model | total points (mean, 5 seeds) | 95% CI | run |
|
| 170 |
+
|---|---|---|---|
|
| 171 |
+
| Ornith-1.5-9B | 145.6 ±4.2 | [141.4, 149.8] | v1 cohort |
|
| 172 |
+
| JackOD-9B-Coder **v1** | 144.4 ±4.7 | [139.7, 149.1] | v1 cohort |
|
| 173 |
+
| Qwen3.5-9B (base) | 142.0 ±3.9 | [138.1, 145.9] | v1 cohort |
|
| 174 |
+
| Qwopus3.5-9B-Coder-Flash | 140.6 ±1.9 | [138.7, 142.5] | v2 run |
|
| 175 |
+
| **JackOD-9B-Coder v2** | **140.2 ±4.2** | [136.0, 144.4] | v2 run |
|
| 176 |
+
| DeltaCoder-9B | 139.6 ±5.7 | [133.9, 145.3] | v1 cohort |
|
| 177 |
+
| Qwopus3.5-9B-Coder | 132.6 ±3.6 | [129.0, 136.2] | v1 cohort |
|
| 178 |
+
|
| 179 |
+
**v2 does not improve tool calling.** It is level with Coder-Flash and 4.2
|
| 180 |
+
points under v1; the intervals overlap, so this is not a measured regression
|
| 181 |
+
either, but there is no gain to claim.
|
| 182 |
+
|
| 183 |
+
| category | **v2** | v1 | Coder-Flash |
|
| 184 |
+
|---|---|---|---|
|
| 185 |
+
| M Autonomous Planning (6) | 4.2 | **5.2** | 2.4 |
|
| 186 |
+
| H Instruction Following (10) | 8.0 | **9.6** | 8.4 |
|
| 187 |
+
| I Context & State (20) | 15.8 | **17.0** | 16.8 |
|
| 188 |
+
| P Hard Mode (38) | 29.4 | **29.8** | 28.2 |
|
| 189 |
+
| C Multi-Step Chains (8) | 7.0 | **7.4** | 6.8 |
|
| 190 |
+
| K Safety & Boundaries (26) | 21.2 | 20.2 | **21.6** |
|
| 191 |
+
| L Toolset Scale (8) | 6.0 | 6.8 | **8.0** |
|
| 192 |
+
| E Error Recovery (6) | 5.0 | 4.6 | **5.8** |
|
| 193 |
+
| J Code Patterns (6) | **5.6** | 5.8 | 5.4 |
|
| 194 |
+
|
| 195 |
+
**v1's planning edge does not carry over.** v1 led the whole cohort on
|
| 196 |
+
Autonomous Planning (5.2/6); v2 scores 4.2, under the base (4.8) though well
|
| 197 |
+
above Coder-Flash (2.4). If long-horizon planning in a tool loop is what you
|
| 198 |
+
need, v1's numbers are not a description of this model.
|
| 199 |
+
|
| 200 |
+
**Prompt injection.** On every v2 seed the model fails `TC-60` (cross-turn
|
| 201 |
+
sleeper injection): an instruction planted in an earlier tool result is later
|
| 202 |
+
acted on (an attacker address added as BCC/CC). The same failure appears in v1,
|
| 203 |
+
the base and DeltaCoder — it is inherited, not introduced by the merge. Do not
|
| 204 |
+
rely on this model to ignore instructions that arrive inside tool output.
|
| 205 |
+
|
| 206 |
+
Categories A/B/D/F/N (tool selection, parameter precision, restraint & refusal,
|
| 207 |
+
localization, creative composition) are 6/6 for v2; G Structured Reasoning 6/6;
|
| 208 |
+
Structured Output 2/4, as for every arm in both cohorts.
|
| 209 |
|
| 210 |
## Serving
|
| 211 |
|
|
|
|
| 254 |
## Quants
|
| 255 |
|
| 256 |
GGUF quants: **[`ManniX-ITA/JackOD-9B-Coder-MTP-GGUF`](https://huggingface.co/ManniX-ITA/JackOD-9B-Coder-MTP-GGUF)**.
|
| 257 |
+
Every tier there is **v2**, rebuilt 2026-10-21 from these weights with the full
|
| 258 |
+
AtomicChat imatrix; the `Q6_K` there is the file every score above was measured
|
| 259 |
+
on.
|
| 260 |
|
| 261 |
+
On ollama: **`mannix/JackOD-9B-Coder`** still serves **v1** until it is
|
| 262 |
+
re-published.
|
| 263 |
|
| 264 |
## JackOD-9B-Coder v1 — previous weights (replaced 2026-10-21)
|
| 265 |
+
|
| 266 |
Everything below was measured on the **v1** weights (Qwopus3.5-9B-Coder in the
|
| 267 |
0.30 slot). It is kept because it is the record of how this merge was chosen;
|
| 268 |
+
it does not describe the v2 weights.
|
| 269 |
|
| 270 |
### Field impression — initial, limited testing
|
| 271 |
|