Clef-Flash: the accuracy tier for local decisions, every question scored in one prefill
October 2026 · Inference Server team
new in v1.7.0POST /v1/systemone all questions · ONE prefilltext + images, native resolution Apache 2.0
Since v1.5.0, strands-decider
has answered typed questions about your application state with calibrated
probabilities — the decision layer behind the
pipeline patterns. v1.7.0 adds
the tier above it: clef-flash-9b-q8, Cloudflare’s 9B decision
model, on the same POST /v1/systemone API. Same request body,
same answer shapes; you switch by model id.
What the extra 7B buys, concretely:
- One prefill for the whole schema. strands prefills the state once and forks per question; clef goes further — a small transformer head reads the hidden states and scores every option of every question jointly in a single pass. Ten questions cost barely more than one.
- Accuracy. Upstream Decision-Index numbers: BFCL 98.8% case-exact, API-Bank 93.1%, ContractNLI 84.3 macro-F1.
- Images at native resolution. strands caps the long side at 448 px (its reference pipeline does); clef feeds the processor at full size. On the error-screenshot fixture from the image decisions post, clef routes to billing at 0.9636 vs strands’ 0.9449 — both read the dialog text, clef with more margin.
Same API, bigger brain
curl -sS localhost:8081/v1/systemone -H "Authorization: Bearer $KEY" -H 'Content-Type: application/json' \
-d '{"model":"clef-flash-9b-q8",
"state":"Since this morning every API call to /v2/orders returns a 500 error and our checkout is down. We are on the enterprise plan.",
"questions":{
"team": {"type":"choice","instructions":"Which team should handle this ticket?",
"criteria":{"billing":"payments, invoices, refunds",
"technical":"bugs, outages, API errors",
"sales":"pricing, plans, upgrades"}},
"is_urgent": {"type":"noul","instructions":"Does this ticket convey urgency?"},
"mood": {"type":"score","instructions":"How frustrated is the writer?",
"criteria":["calm","frustrated","desperate"]}}}'
# → "team": technical at 0.9689 · "is_urgent" and "mood" answered in the SAME prefill
Those are real measured outputs from our release gate — and the serving quality claim is specific: the Q8 build answers within 0.001 of the f16 reference on every gate fixture, with every choice identical. The engine-side parity story is the same discipline as every model we ship: token-exact prompt encoding against the reference implementation, the head’s math within 0.0001 of the fp32 oracle, end-to-end answers gated on every release.
Picking a tier
- strands-decider-2b (~2 GB Q8): the default. Sub-2s decisions, calibrated (ECE 0.054), right for routing/triage/gating at volume.
- clef-flash-9b-q8 (~10 GB, 16 GB hosts): the accuracy tier.
Many-question schemas, harder judgment calls, higher-resolution document
and screenshot decisions, and the natural judge behind
/v1/evaluate’s rubrics.
sudo ./fetch-models.sh clef # clef-flash-9b-q8 + vision projector, ~10.9 GB
# clef-only boxes: set MODEL_ID=clef-flash-9b-q8 (the default preload is q35-4b)
Apache 2.0, served entirely on CPU, no request data leaves the box. Answer shapes are identical across tiers, so pipelines and gates built on strands work unchanged.