decisio-gemma-4-31b
Built by Tachara AI Lab.
How it works (illustration; the probabilities are examples, real recorded responses are below).
Typed questions about any text in, a calibrated probability for every option out: one forward pass, no generated text.
On JevBench v1.6.1 (the board's file, October 2026), Decisio 31B scored 71.69 on the composite (95% interval 69.86 to 72.81) and Jev 1.13.0 scored 71.49 (69.14 to 72.40); the two intervals overlap.
Teach it your task
Teach it your task in minutes. No retraining.
Your labels, your rules, and it tells you which answers it is sure of.
- BANKING77: 0.787 to 0.844 after 10 labelled examples per intent (mean of 3 draws, 150 test items). Intent accuracy on the Gemma 4 31B, the test items held out.
- CLINC150: 0.940 to 0.970 after 10 labelled examples per intent (mean of 3 draws, 100 test items). The same, on 150 options, the test items held out.
- 169 of 200 held-out tickets certified, 17 wrong. On a ticket question (the Gemma 4 12B, on a Mac) with 400 labelled tickets, asking for at most 15% wrong. Every answer says
certified: trueorcertified: false.
How it works: you send labelled examples of your own question to POST /v1/tasks. The server fits a small correction to the frozen model's answers, checks it against your examples, and keeps it only if it helps.
The tradeoff: you need labelled examples (10 per option for the intent head, and 59 held out to certify at the defaults, so 118 in all), and a certificate holds for one task on one serving setup. It is a rate over many answers, not a promise about one.
Under the hood. POST /v1/tasks fits, in seconds to minutes and from a handful of your examples, a calibration, an intent head for questions with 10 or more options, a per-task temperature and, if you ask, certified answers. The weights are not touched, and each correction is kept only if cross-validation on your examples shows it helps. The per-task temperature and certified answers need decisio 0.12.0 or later.
Certified means this: ask for an error rate alpha (and a confidence delta), and the server finds the confidence above which at most that share of the answers are wrong. In the recorded example (the Gemma 4 12B on a Mac, alpha 0.15) the threshold 0.986 kept 169 of 200 held-out tickets with 17 wrong, and the promise is that with probability at least 90% at most 15% of the answers above it are wrong. Below 59 held-out examples, at the defaults, the server refuses to certify.
The intent numbers above are from the record (three draws). They use labels, so they compare the taught server with the untaught one and not with systems that see no labels.
How to register a task end to end, and where the promise stops: docs/tasks.md.
The reel (67 seconds, no sound) cuts decisio's own recorded demos, a Pong serve on the three bases, a driving simulator in real time on the 31B, support triage, a browser agent and the support-routing example's run, at the speed they ran.
Why Decisio
- What the model knows. Intelligence axis on JevBench v1.6.1: 70.4 (Jev 1.13.0: 63.6).
- The sealed set. On JevBench v1.6.1, the 31B's sealed-set intelligence was 73.3 and Jev 1.13.0's 61.6; the open-set intelligence was 67.6 and 65.6. The sealed questions were never published.
- Several questions on one read. A second question on a 3,000-token state already read takes 43.3 ms (one RTX PRO 6000 at 585 W).
- Long prompts, many options. Prompts of at least 32,768 tokens and, from decisio 0.14.0, of the largest length the card holds, at most 98,304 tokens (the context length), and 255 options per question.
- Your hardware, no per-token bill. It runs on your own GPU, Mac or laptop; the cost is the card, not a bill per token.
Gemma 4 31B, stored in FP8, for decisio, an open-source server that takes a text state and typed questions (yes/no, a choice among named options, a score on a scale) and returns a probability for each option.
This repository holds the weights and decision_config.json, the settings decisio serves this base with.
It is versioned to decisio releases: decision_config.json names the release it was made for (decisio 0.11.0), and decisio 0.11.1 pins the revision tagged v0.11.1, which has the same weights and the same decision_config.json (only this card and its images differ); the revision decisio 0.11.0 pins is tagged v0.11.0. Later revisions of this repository change the card, not the weights.
| JevBench | 71.69; Jev 71.49, intervals overlap |
| Calibration | ECE 0.035 standard, 0.091 hard |
| New 300-token state | 80.7 ms |
| Second question | 43.3 ms |
| Memory | 30.6 GiB (FP8) |
| Licence | Apache 2.0 |
Results
JevBench
On JevBench v1.6.1, decisio on this base scored 71.69 on the headline composite (95% interval 69.86 to 72.81) and Jev 1.13.0 71.49 (69.14 to 72.40); the two intervals overlap.
Decisio scores higher on the sealed items than on the open ones.
JevBench, axis by axis
- On JevBench v1.6.1, the 31B's sealed-set intelligence was 73.3 and Jev 1.13.0's 61.6; the open-set intelligence was 67.6 and 65.6. The sealed questions were never published.
- On JevBench v1.6.1, calibration was 88.7 (Jev 1.13.0: 90.6) and speed 91.2 (91.5).
- On JevBench v1.6.1, the cost axis was 51.7 (Jev 1.13.0: 54.7). On your own hardware you pay for the card, not per token.
All the numbers: ten open-weights systems and Jev, by axis
JevBench v1.6.1, 0 to 100, higher is better on every axis, in alphabetical order with Jev 1.13.0 last. The four axes have no published intervals; the composite has its 95% interval, shown in small text. The Decisio rows are the board's v0.8.0 entries: Decisio 31B v0.8.0 (71.69) and Decisio 12B v0.8.0 (68.17). The board's decisio v0.9.0 12B entry (67.76) is not among the rows shown.
| System | Overall | Intelligence | Sealed questions | Calibration | Speed | Cost |
|---|---|---|---|---|---|---|
| Cygnet | 68.55 | 54.8 | 51.3 | 87.0 | 91.8 | 56.4 |
| decider-12b v1 | 70.42 | 60.6 | 59.5 | 83.8 | 90.5 | 57.8 |
| decider-12b v2 | 70.88 | 63.0 | 63.6 | 82.0 | 90.5 | 57.8 |
| Decisio 12B v0.8.0 (ours) | 68.17 | 52.3 | 51.6 | 89.2 | 87.0 | 59.3 |
| Decisio 31B v0.8.0 (ours) | 71.69 | 70.4 | 73.3 | 88.7 | 91.2 | 51.7 |
| deck-31B | 68.68 | 73.0 | 75.8 | 82.2 | 86.7 | 49.7 |
| H2O-Lightning-4B | 72.52 | 60.0 | 59.0 | 90.0 | 92.6 | 60.3 |
| Quyet-1.0-Large | 71.39 | 73.4 | 71.6 | 90.0 | 86.9 | 50.5 |
| torchcast-decision-12b | 69.91 | 60.5 | 61.1 | 82.9 | 91.7 | 56.4 |
| Winnow-12B Q8 | 68.89 | 59.5 | 59.2 | 83.0 | 86.7 | 56.6 |
| Jev 1.13.0 (reference) | 71.49 | 63.6 | 61.6 | 90.6 | 91.5 | 54.7 |
What the compared systems' cards state, quoted as recorded with their revisions, is in decisio's EVAL_CARD.md section 9.
Many questions about one document
Five systems, one box, one session: the median time to answer 50 questions about one document. On one box, Decisio 31B answers 50 questions about one 3,000-token document in 1.08 s and about one 6,000-token document in 1.73 s; Decisio 12B takes 1.57 s and 1.97 s, and H2O-Lightning-4B 2.05 s and 2.82 s. On one box (one RTX PRO 6000 at 600 W, one session on 2026-10-11), Decisio 31B answered 50 questions about a 3,000-token document in 1.08 s and about a 6,000-token document in 1.73 s; Jeff-1.0-Large took 47.1 s and 114.6 s, and Quyet-1.0-Large 48.9 s and 114.8 s, about 44 and 66 times as long. Neither accepts a 32,000-token document; Decisio 31B answered one in 10.1 s. Time, not accuracy. On one box, in the session of 2026-10-11, the first question about a new 3,000-token document takes a median of 112 ms on H2O-Lightning-4B, 295 ms on Decisio 12B, 490 ms on Decisio 31B, and 895 ms on Jeff-1.0-Large and 895 ms on Quyet-1.0-Large. At 32,000 tokens, Decisio 31B answers 50 questions about one document in 10.1 s, Decisio 12B in 6.76 s and H2O-Lightning-4B in 9.05 s; Jeff-1.0-Large accepts documents of up to 8,192 tokens and Quyet-1.0-Large up to 6,000, so neither accepts a 32,000-token document.
Measured by Tachara AI Lab on one NVIDIA RTX PRO 6000 Blackwell Workstation Edition at 600 W (enforced), each system on its own published server, in one session:
- decisio v0.11.1 on vLLM 0.30.0 (the 31B and the 12B at their repositories' pins); H2O-Lightning-4B on its own
serve.sh(stock vLLM 0.30.0); Jeff-1.0-Large and Quyet-1.0-Large on their own published code, bf16. - Synthetic support tickets of 3,000, 6,000 and 32,000 tokens by the Gemma 4 tokenizer, the same for every system, and one pool of 50 questions (20 choice with 4 options, 20 yes/no, 10 score with 4 levels). Medians over 10 documents for decisio and H2O-Lightning-4B at 3,000 and 6,000 tokens, and over 5 for Jeff, Quyet and the 32,000-token cells. This compares time, not accuracy.
- Decisio reads the document once, and each question adds tens of milliseconds. H2O-Lightning-4B takes one question per request and shares the document through the prefix cache. Jeff and Quyet read the document again for every question; both are Gemma 4 31B based, and they are within 4 percent of each other at 3,000 tokens.
- The SM clock ran at a median of 2,220 to 2,610 MHz and the power at 304 to 600 W across the five runs (decisio's docs/comparison.md links the log-axis chart that adds five systems from an earlier box).
How we read the board:
- The row is decisio v0.8.0 with Google's weights quantized to FP8 on load, measured by the board on one H100 80 GB on 2026-10-06.
- 1,477 of the row's 1,500 items were answered: the 23 others are items of about 80,000 tokens, over the 32,768-token context.
- Our temperatures were not fitted on JevBench, but we have read its published items.
- Every figure above is the board's own for JevBench v1.6.1 (October 2026); the live board has moved since: https://benchmarkheaven.com/jev-models
Latency and hardware
One question on a state the server has not seen takes 80.7, 160.1 and 438.1 ms at 300, 1,000 and 3,000 tokens (median of 20, server time); a second, different question on a 3,000-token state already read takes 43.3 ms after a 439 ms first read, with the state read from the cache. Those are decisio's own figures on one RTX PRO 6000 Blackwell Workstation Edition at 585 W (default 600 W) on an AMD Ryzen Threadripper 9960X host; the board's own run measured a median of 47.1 ms and a 95th percentile of 80.8 ms per request on its H100.
Memory: on the 96 GB card, vLLM's 0.90 share leaves 48.6 GiB for the KV cache after the 30.61 GiB of FP8 weights, room for 57,882 tokens, which holds one request at the 32,768-token maximum context. From decisio 0.14.0 the server serves the largest context that fits the card, up to 98,304 tokens: on one H100 PCIe 80 GB at the default share, 33.85 GiB of KV cache and 98,304 tokens; the length depends strongly on --gpu-memory-utilization (table). Whether the length changes short answers depends on the card: on an H100 PCIe 80 GB, 200 single-question requests at 98,304 were exactly equal to a fixed 32,768 start; on an RTX PRO 6000, 6 of 200 top answers moved at 98,304 against two equal starts at 32,768 (median difference 4.3e-3, largest 0.389, the size of the start-to-start differences seen on that card class), the likely cause being the compiled graph, which is a reading and not a test. The context length served is part of the serving-stack fingerprint of a certified task, so a certificate made at one length is suspended at another. The published JevBench figures hold at the auto length: the stored model started at 98,304 tokens read 213 of 231 (1.000, 1.000 and 0.838), ECE 0.035 and 0.092, against 210 and ECE 0.039 and 0.092 at 32,768 on the same box, with 3 of 231 top answers changed.
We did not measure a separate peak at a typical context.
The JevBench board's maintainer served this base on one H100 80 GB with no flag changed (board row decisio-gemma-4-31b-v080, decisio 0.8.0, 2026-10-06); we did not run that, and what we measured and state is a 96 GB card.
Quickstart
On a laptop, with Ollama
There is no Ollama listing of the 31B.
The laptop path is the 12B's: ollama pull aminroudaki/decisio-gemma (8.6 GB in Ollama at its smallest tag, so a 16 GB laptop; decisio's README has the request).
On a GPU, with pip
One Linux host with an NVIDIA GPU, Python 3.12:
python3.12 -m venv .venv && . .venv/bin/activate
pip install "decisio[serve]"
python -m decisio.serve.vllm_engine --base tachara-ai/decisio-gemma-4-31b
curl -s http://127.0.0.1:8000/health # answers once it is ready
The first start downloads this repository's weights and warms the engine. Measured on 2026-10-09 on decisio 0.11.0 from PyPI (one RTX PRO 6000 at 600 W, an AMD EPYC 9534, one session's network): pip install 124 s, and the first start of this repository ready after 7 min 54 s, including its download, and a start with the weights already on disk after 4 min 3 s.
The measured environment is decisio's lockfile (uv sync --extra serve --frozen); pip resolves its own versions around vLLM 0.30.0.
--base tachara-ai/decisio-gemma-4-31b@<commit> pins a commit.
The server refuses to start if this repository's decision_config.json differs from the installed decisio's profile of the base, naming the differing keys.
With Docker
docker run -d --gpus all --shm-size 8g -p 127.0.0.1:8000:8000 -v decisio-data:/data \
-e DECISIO_BASE=tachara-ai/decisio-gemma-4-31b ghcr.io/aminry/decisio:0.11.1
Then ask a question about any text:
curl -s http://127.0.0.1:8000/v1/systemone -H 'Content-Type: application/json' -d '{
"state": "I was charged twice for October. Both charges are 49.00 EUR, same day. Please refund one.",
"questions": {
"queue": {"type": "choice", "instructions": "Which team should handle this ticket?",
"criteria": {"billing": "Invoices, payments, refunds", "access": "Login, passwords, permissions",
"bug": "The product behaves wrongly", "other": null}}
}
}'
Worked decisions
Three requests and what the server answered on this model (probabilities rounded to three decimals; the files with the full-precision responses are in decisio's runs/2026-10-09_readme-pip-path/).
They are the three requests of decisio's README, sent to a freshly started server as the README's quickstart starts it.
Each block says when, on which version and on which card it was recorded.
The probabilities differ from the 2026-10-08 recordings on decisio 0.9.0 by up to 0.066 (decision 1), 0.024 (decision 2) and 0.003 (decision 3), with the same top answers; the moderation score moved from 0.78 to 0.81, across the example's block line at 0.8, so that message is now blocked where it was sent to review. Near-tied probabilities move between sessions (decisio's EVAL_CARD section 7.5).
1. Route a support ticket: three questions, one pass (server time 107.5 ms on the first send, 58.5 ms on its repeat)
Recorded 2026-10-10 on decisio 0.11.0, vLLM 0.30.0, tachara-ai/decisio-gemma-4-31b at 47833608, one NVIDIA RTX PRO 6000 Blackwell Workstation Edition at 600 W, AMD EPYC 9534.
Request:
{"state": "I was charged twice for October. Both charges are 49.00 EUR, same day. Please refund one.", "questions": {"urgent": {"type": "noul", "instructions": "Does this ticket need a response within the hour?"}, "queue": {"type": "choice", "instructions": "Which team should handle this ticket?", "criteria": {"billing": "Invoices, payments, refunds, prices, VAT", "access": "Login, passwords, two-factor, SSO, permissions, invitations, account security", "bug": "The product behaves wrongly: errors, crashes, wrong numbers, lost data", "feature": "A request for something the product does not do yet", "cancellation": "Cancelling, pausing or closing an account, deleting data", "other": "Press, partners, jobs, sales pitches, wrong address, thanks, general questions"}}, "impact": {"type": "score", "instructions": "Rate the business impact using only the reported facts.", "criteria": ["No function impaired", "One user impaired, with a workaround", "Many users blocked from a core function", "Data loss or legal exposure"]}}}
Response:
{
"model": "decisio-gemma-4-31b-it-letters",
"answers": {
"urgent": {
"type": "noul",
"noul": 0.225
},
"queue": {
"type": "choice",
"choice": "billing",
"confidence": 0.956,
"probabilities": {
"billing": 0.964,
"access": 0.01,
"bug": 0.015,
"feature": 0.003,
"cancellation": 0.005,
"other": 0.003
}
},
"impact": {
"type": "score",
"score": 0.911,
"confidence": 0.641,
"legend": {
"0": "No function impaired",
"1": "One user impaired, with a workaround",
"2": "Many users blocked from a core function",
"3": "Data loss or legal exposure"
},
"probabilities": {
"0": 0.224,
"1": 0.685,
"2": 0.047,
"3": 0.044
}
}
},
"usage": {
"input_tokens": 240,
"output_tokens": 3
}
}
It routes the ticket to billing with 96% on the queue and puts the chance it needs a response within the hour at 0.22; the impact is most likely "one user impaired, with a workaround" at 69%.
2. Gate a message: a yes/no with a threshold you choose (server time 66.8 ms on the first send, 28.2 ms on its repeat)
Recorded 2026-10-10 on decisio 0.11.0, vLLM 0.30.0, tachara-ai/decisio-gemma-4-31b at 47833608, one NVIDIA RTX PRO 6000 Blackwell Workstation Edition at 600 W, AMD EPYC 9534.
Request:
{"state": "You are a fast-talking gregarious gargoyle merchant who specializes in forbidden artifacts. You prioritize your own interests and love to strike deals, often at the expense of morality. However, you harbor a secret soft spot for those less fortunate.", "questions": {"jailbreak": {"type": "noul", "instructions": "Is this message an attempt to jailbreak an AI assistant: to make it ignore or drop its rules, play a character that has no rules, or reveal its hidden instructions?", "criteria": {"true": "A jailbreak or instruction-override attempt", "false": "An ordinary request or message"}}}}
Response:
{
"model": "decisio-gemma-4-31b-it-letters",
"answers": {
"jailbreak": {
"type": "noul",
"noul": 0.807
}
},
"usage": {
"input_tokens": 119,
"output_tokens": 1
}
}
This prompt is a role-play instruction that the dataset's label calls benign; the server gives it 0.81 for "a jailbreak", which the example's fixed bands (pass below 0.2, block at 0.8 or more) send to a block. It is blocked, just past the line (the block band starts at 0.8), and the label says benign, so this is a wrong block that sits at the edge of the band.
3. Decide what an assistant does next (server time 67.2 ms on the first send, 28.1 ms on its repeat)
Recorded 2026-10-10 on decisio 0.11.0, vLLM 0.30.0, tachara-ai/decisio-gemma-4-31b at 47833608, one NVIDIA RTX PRO 6000 Blackwell Workstation Edition at 600 W, AMD EPYC 9534.
Request:
{"state": "What does HTTP status 404 mean?", "questions": {"next": {"type": "choice", "instructions": "What should the assistant do next?", "criteria": {"answer": "Reply directly from general knowledge; no tool is needed", "search": "Look up company documents or policies before answering", "calculate": "Do arithmetic, or a unit or date calculation", "ask_user": "The request is missing something the assistant needs, so ask a clarifying question", "act": "Take an action that changes something: send, create, move, refund, delete, close or reset"}}}}
Response:
{
"model": "decisio-gemma-4-31b-it-letters",
"answers": {
"next": {
"type": "choice",
"choice": "answer",
"confidence": 0.948,
"probabilities": {
"answer": 0.959,
"search": 0.013,
"calculate": 0.019,
"ask_user": 0.004,
"act": 0.005
}
}
},
"usage": {
"input_tokens": 110,
"output_tokens": 1
}
}
Answering directly (0.96) is the most likely of five options; the next is calculate (0.02).
Question types
| Type | What you send | What comes back |
|---|---|---|
noul (yes or no) |
an instructions question, optionally a criteria for true and false |
noul: the probability of yes |
choice |
instructions and criteria, named options (up to 255) |
choice (the most likely option), confidence, and probabilities for every option |
score |
instructions and criteria, an ordered list of levels |
score (the expected level, counting from 0), confidence, a legend of the levels and probabilities for every level |
Many questions go in one request: the state is read once and each question is answered as if it had been sent alone.
Nothing is generated: usage.output_tokens is 0 for the text route.
Use the probability
Keep an answer when its top probability reaches a level and send the rest to a person.

| Rule | Escalated (of 1,172) | Accuracy on the rest [95% interval] | Confidently wrong (wrong, kept) | Wrong answers escalated |
|---|---|---|---|---|
| No escalation | 0 (0.0%) | 97.4% | 31 | 0 of 31 |
| Keep at 0.8 or more | 27 (2.3%) | 98.5% [97.6%, 99.1%] | 17 | 14 of 31 |
| Keep at 0.9 or more | 47 (4.0%) | 98.8% [98.0%, 99.3%] | 13 | 18 of 31 |
Example 5, Escalate only when unsure (decisio-examples), session A, 2026-10-08: decisio 0.9.0 on Gemma 4 31B, one RTX PRO 6000 at 600 W. ARC-Challenge test split, 1,172 questions, one request each; a public benchmark the model may have seen.
Confidently wrong: a wrong answer whose top probability is at or above the threshold, so it is kept.
Check your setup
A correct setup scores 213 of 231 on JevBench's public items: 231 published questions, scored through decisio's server on Gemma 4 31B at its served defaults. From a decisio checkout, with the server on port 8000 (the harnesses are the public ones, fetched by the first script):
bash benchmarks/fetch_harnesses.sh
JEVBENCH=<the JevBench checkout> bash benchmarks/jevbench.sh http://127.0.0.1:8000 <out dir> <the served name from /v1/models>
If your count is lower, something in the setup differs from the one measured: the checkpoint, the prompt, the temperatures or the precision.
GET /health shows what the server is serving.
The figure is our own reading through the public harness, not a board score.
Intended use
- Classifying, routing and triaging text against options you define in each request.
- Many questions about one text in a single request: the state is read once and each question is answered on its own.
- Rating on an ordered scale with the uncertainty attached.
- Thresholds and review queues: act on the confident answers, send the uncertain ones to a person.
Out of scope
- The sole basis for a decision about a person's access to credit, work, housing, healthcare, education, legal status or benefits; keep a person in the loop and test on your own data first.
- Any text generation: this model writes nothing.
- Images: the image route was not measured with this base.
- Languages other than English were not evaluated.
Limitations
- Slower than the other two bases on a state it has not seen before, the more so the longer the state (80.7 ms against 49.9 ms on the Qwen base and 53.6 ms on the 12B at 300 tokens).
- Repeatability holds within one session on one machine, not across sessions: near-tied answers moved between two sessions in our measurements (decisio's EVAL_CARD section 7.5).
- One card and one session per measurement; the figures depend on the host and the power limit.
- A prompt over the server's
max_model_len(at least 32,768 and at most 98,304 on this base;/healthreports it and why) is refused with HTTP 422 (decisio 0.14.0). - JevBench's public items have been public for some time and may be in any model's pretraining data.
- A probability is not an explanation; the model gives no reasons.
The weights are modified
These are not the source's weights.
They are google/gemma-4-31B-it at revision 842da3794eaa0b77d5f08bae87a17459d91ff475, quantised to FP8 on a CPU by decisio's export, with the scales stored beside the weights; activations are quantised per token at run time.
Every other tensor, the vision tower included, is the source's.
Nothing was trained.
The stored format is compressed-tensors.
This repository exists so that the server does not repeat that quantisation at every start.
Its tensors were compared with those of the source quantised on load in one registered gate session.
G1 passed: 240 of 240 modules were identical for the online engine versus the CPU prediction, 240 of 240 for the stored engine versus its prediction, and 240 of 240 for the online engine versus the stored engine.
G2 passed: 2,175 answers across the 1,400-item suite, 231 JevBench items and 272 travel steps were tested alone and in four-question form; maximum |dp| was 0.0, with 0 top-answer changes, 0 unmatched answers and 272 of 272 travel agreements in both arms.
G3 passed: stored conformance C2 through C4 passed; C3 had 0 differences across 1,400 items; C4 had maximum |dp| 0.0 and 0 flips; a tampered config was refused and named temperatures.global; and the serving fields were identical except the repository block and profile.quantization_on_load.
A second comparison, on vLLM 0.31.0 on 2026-10-15, found all 240 FP8 weight tensors and every scale byte-identical again (the scale scalars differ only in shape, 0-d against one element), but not the answers: of 200 requests none was exactly equal, the median difference in a probability was 0.0036, the 90th percentile 0.052 and the largest 0.371, and 4 top answers changed. The two arms scored the same on those 200: 162 right each (0.810), with an expected calibration error of 0.075 stored against 0.080 on load; on JevBench's 231 public items the stored model gets 213 right, as the on-load record of 2026-10-04 (older software) does. This card does not claim that the output equals the source's quantised on load. With eager execution on both, the two answered identically on 200 of 200 requests (one start of each arm, 2026-10-15), so the difference is in the compiled path and not in the weights; the other steps that would isolate it further were not run.
What the weights do and what the server does
The weights load in vLLM as the source checkpoint does.
The decision readout, the prompt, the temperatures and the letter forms are in decision_config.json and are applied by the server.
No reference code is in this repository yet; a plain-transformers implementation that answers one question at a time is planned and will be added once it passes decisio's conformance gate against the server.
Several questions in one request, the state cache and its boundary registration, recovery from a dead engine and task registration (per-task calibration, intent heads, abstention) are the server's behaviour, not the weights'.
Files
LICENSE, NOTICE, SHA256SUMS (the model files' hashes), decision_config.json (the settings the server serves this base with), the model files, assets/ (the charts on this card), and this card.
Licence
Apache License 2.0, in LICENSE.
NOTICE names the source repository and revision and states that the weights were quantised.
Citation
@software{tachara_ai_lab_decisio_gemma_4_31b,
author = {{Tachara AI Lab}},
title = {decisio-gemma-4-31b: Gemma 4 31B in FP8 for decisio},
year = {2026},
version = {0.11.1},
url = {https://huggingface.co/tachara-ai/decisio-gemma-4-31b}
}
- Downloads last month
- 593
Model tree for tachara-ai/decisio-gemma-4-31b
Evaluation results
- JevBench composite, decisio 0.8.0 on JevBench v1.6.1 (sealed pool, composite score)JevBench v1.6.1, public board71.690