Choose a candidate Choice
Route a ticket or classify a record. Returns the selected key and a distribution over your options.
A small model that runs locally, chooses from your options, and returns an answer your code can use.
Route a support ticket. Score a record.
Check an agent’s next action.
0.6B parameters. Open weights. Train on your data.
You define the possibilities.
The model weighs them.
No generated paragraphs to interpret. Just a structured answer and the probabilities behind it—ready to inspect, route, or review.
Meet the three question types“Our payment integration is down and customers cannot check out.”
Which team should own this ticket?
Probability among the supplied candidates
One state, one or more questions. Candidates and rubric descriptions tell the model what to evaluate.
ChoiceRoute a ticket or classify a record. Returns the selected key and a distribution over your options.
ScoreRate an input on ordered levels. Returns the expected zero-based index and a distribution.
NoulAsk whether a statement is true. Returns a number between zero and one.
from smalldecide import SmallDecide, Choice
model = SmallDecide.from_pretrained(
"artifacts/model", device="cpu"
)
result = model.review(
{"message": "Please refund a duplicate charge."},
{"team": Choice("Which team handles this?", {
"billing": "Charges and refunds",
"technical": "Software faults",
})},
)
print(result.to_dict())Each candidate is scored independently. The graph uses learned latent nodes inside the decoder; the evaluations have not established a benefit from graph message passing.
Selected results from the released v0.3.0 checkpoint (ec832471…). Different tasks measure different capabilities.
| Evaluation | Result | Scope |
|---|---|---|
| Intent routing · CLINC | 97.3% | 150 cases · 8 choices |
| Emotion presence | 89.3% | 150 cases · yes/no |
| Conditional-rule paraphrases | 78.3% | 120 fresh cases |
| Synthetic security policy | 44.0% | 150 reused regression cases |
| Session execution failure detection | 4.2% | 6 of 142 failures · default threshold |
¹ Latency: median of ten warm local H100 measurements for a 3-choice question, including tokenization. Model loading and network transport are excluded. More candidates and longer inputs require more computation.
Download result data ↗
Watch the Factorio audit demos ↗
Lower routing cost with SmallDecide + leading models ↗
A separate public-data checkpoint (f64a7763…) was evaluated later. See its results and recordings ↗
Use this release for evaluation, fine-tuning, and human-reviewed experiments. It is not validated as an autonomous auditor or an approval gate for financial transactions.
Probabilities can be overconfident. Test on your own domain, measure missed failures, and choose thresholds using separate validation data before relying on an output.
Download the checkpoint, open the local playground, and try your own state and questions. The repository includes data recipes, training, evaluation, and resume tools.
The repository currently requires GitHub access. The report and demos on this site are public.
CUDA and CPU inference. Apple MPS is experimental. No hosted API, service account, or per-call fee from SmallDecide; your hardware costs are your own.
This checkpoint uses public datasets, verifier-labelled tasks, and converted/redacted session execution examples. Private session rows are not redistributed. Fine-tuning and evaluation are essential for a new domain.
Train on your own examples ↗