Released v1.0.0, October 11, 2026

A typed answer with an honest probability.

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.

90.4 msMedian latency for 700 tokens on one H100Avrik-Pro-12B, bf16 build
1 passOne forward pass per question, with no tokens generated
$0.02–0.06Per 1,000 decisions when self-hostedDesign estimate
Apache 2.0Open code, weights, and adapters

The Avrik SystemOne Model family.

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.

  • Edge4B

    Avrik-Lite-4B

    Calibrated decisions on an ordinary CPU.

    Dev-set accuracy
    86.6%
    Per decision on a laptop CPU
    5.0 s
    • GGUF Q4_K_M
    • bf16
    Hugging Face
  • Max31B

    Avrik-Max-31B

    The most accurate Avrik model, for the hardest calls.

    Dev-set accuracy
    96.9%
    Per decision on one H100
    168.4 ms
ModelBaseBuildsDev-set accuracyJevBench publicLatency
Avrik-Lite-4BEdgegemma-4-E4B-itGGUF Q4_K_Mbf1686.6%95% CI 82.4–89.9%78.8%5.0 sp50 at 256 tokens, GGUF Q4_K_M
Avrik-Pro-12BProgemma-4-12B-itbf16GGUF Q8_091.3%95% CI 87.6–93.9%86.1%90.4 msp50 at 702 tokens, bf16
Avrik-Max-31BMaxgemma-4-31B-itFP896.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.

Classifiers can’t learn new questions. LLMs answer in prose.

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.

PropertyTrained classifierLLM as judgeAvrik decision model
A new questionNeeds new labels and retrainingNeeds a new promptNeeds a new prompt
What you get backFixed labelsProse you have to parseA probability for every allowed answer
ConfidenceOften uncalibratedSelf-reported, if at allCalibrated per answer type, with an explicit abstain
SpeedFastSeconds of generationTens of milliseconds
AuditVariesHard to reproduceReplayable from eight audit hashes

Typed questions cover most decisions.

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.

noul

Yes or no, with a probability

Did the user explicitly ask for a refund?

  • yes0.94
choice

One of several options

Which team should own this ticket?

  • billing0.78
  • shipping0.15
  • support0.05
score

A point on an ordered scale

How urgent is this, from 1 to 5?

  • 10.02
  • 20.08
  • 30.31
  • 40.46
  • 50.13

One request. Every answer, scored and signed.

The 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
  }
}

Enterprise by default.

Built to run inside your boundary and to explain itself to your auditors.

  • No egress, no telemetrySelf-host in your VPC. Nothing leaves your network.
  • Hash-verified weightsThe server checks every weight file and never switches models silently.
  • Refuses rather than guessesThe readout refuses an answer when the option letters hold under 98% of the probability mass.
  • Calibrate on your own labelsRefit the temperature for each answer type on data from your domain.
  • Standard interfacesAn OpenAPI 3.1 schema at /openapi.json, and a health route that reports the loaded build’s hashes.
  • Typed Python SDKpip install avrik-sdk: sync and async clients that depend only on httpx and pydantic.

Put a decision model in your loop.

All three models are on Hugging Face under Apache 2.0. Start with Pro, or tell us which questions your software needs answered.