noulYes or no, with a probability
Did the user explicitly ask for a refund?
yes0.94
Avrik Models are System One decision models. Give one some context and a question with its allowed answers. It returns a calibrated probability for every answer in a single forward pass. No text is generated, so there’s nothing to parse and nothing to trust blindly.
Three tiers built on Google’s Gemma 4, each calibrated for every build. All three answer the same API with the same question types, so pick by accuracy, latency, and hardware.
Calibrated decisions on an ordinary CPU.
The default Avrik model. About 90 ms per decision on one GPU.
The most accurate Avrik model, for the hardest calls.
| Model | Base | Builds | Dev-set accuracy | JevBench public | Latency |
|---|---|---|---|---|---|
| Avrik-Lite-4BEdge | gemma-4-E4B-it | GGUF Q4_K_Mbf16 | 86.6%95% CI 82.4–89.9% | 78.8% | 5.0 sp50 at 256 tokens, GGUF Q4_K_M |
| Avrik-Pro-12BPro | gemma-4-12B-it | bf16GGUF Q8_0 | 91.3%95% CI 87.6–93.9% | 86.1% | 90.4 msp50 at 702 tokens, bf16 |
| Avrik-Max-31BMax | gemma-4-31B-it | FP8 | 96.9%95% CI 94.3–98.3% | 91.8% | 168.4 msp50 at 702 tokens, FP8 |
Measured by Avrik AI. Dev set: 320 items in 24 families. JevBench: the 231 public tasks of v1.4.2, self-run, not an official measurement. Details and intervals are on each model’s page.
A decision model is a classifier whose classes are set at request time. You get the flexibility of a language model with the shape of a classifier: a probability for each allowed answer.
| Property | Trained classifier | LLM as judge | Avrik decision model |
|---|---|---|---|
| A new question | Needs new labels and retraining | Needs a new prompt | Needs a new prompt |
| What you get back | Fixed labels | Prose you have to parse | A probability for every allowed answer |
| Confidence | Often uncalibrated | Self-reported, if at all | Calibrated per answer type, with an explicit abstain |
| Speed | Fast | Seconds of generation | Tens of milliseconds |
| Audit | Varies | Hard to reproduce | Replayable from eight audit hashes |
Yes or no, choice, and score, plus multi-label for several independent yes/no reads at once. Every question can include a final option: “Insufficient information to decide.” When the evidence isn’t there, the model says so instead of guessing.
noulDid the user explicitly ask for a refund?
yes0.94choiceWhich team should own this ticket?
billing0.78shipping0.15support0.05scoreHow urgent is this, from 1 to 5?
10.0220.0830.3140.4650.13The server speaks the /v1/systemone wire protocol, so existing System One clients can switch with a URL change. Each response carries the hashes needed to replay it exactly.
Request
POST /v1/systemone
{
"model": "Avrik-Pro-12B",
"state": {
"message": "I was charged twice for order 4417.
Please refund the duplicate.",
"next_tool": "refund_payment"
},
"questions": {
"asked_for_refund": {
"type": "noul",
"instructions": "Did the user explicitly
ask for a refund?",
"abstain_option": true
}
}
}Response
{
"answers": {
"asked_for_refund": {
"type": "noul",
"noul": 0.94,
"top": 0.94,
"margin": 0.88,
"abstain": false,
"avrik_confidence": 0.92
}
},
"audit": {
"model_hash": "avrik-ai/Avrik-Pro-12B@cfd9cc0c…",
"calibration_version": "cal-12b-bf16-frozen-20261011-1",
"prompt_template_sha256": ["8d157580…"],
"backend": "vllm",
"precision": "bf16"
… 3 more audit fields
}
}Built to run inside your boundary and to explain itself to your auditors.
/openapi.json, and a health route that reports the loaded build’s hashes.pip install avrik-sdk: sync and async clients that depend only on httpx and pydantic.All three models are on Hugging Face under Apache 2.0. Start with Pro, or tell us which questions your software needs answered.