
Fast, honest, open typed decisions
Benchmarks · Quickstart · API · Limitations
What is this?
Mira turns state + typed questions → probability distributions in a single
forward pass. No text generation. Ask choice, score, or noul questions —
alone or batched — and get calibrated probabilities, confidence, and an
abstain signal your code can branch on.
from transformers import AutoModel, AutoTokenizer
import torch
tok = AutoTokenizer.from_pretrained("sagea-ai/Mira-v1")
enc = AutoModel.from_pretrained("sagea-ai/Mira-v1").eval()
heads = torch.load(__import__("huggingface_hub").hf_hub_download(
"sagea-ai/Mira-v1", "heads.pt"), map_location="cpu", weights_only=True)
state, opts = "My payouts have been failing for 3 days.", ["billing", "technical", "sales"]
hs = enc(**tok([state + " [SEP] " + o for o in opts],
padding=True, return_tensors="pt")).last_hidden_state[:, 0]
probs = ((hs @ heads["scorer"]["weight"].T).squeeze(-1) / 1.05).softmax(-1)
print(dict(zip(opts, [round(float(p), 3) for p in probs])))
Or serve it TypeSafe-compatible: POST /v1/systemone — same shape, swap the
base URL.
Evaluation
Measured on commodity CPU (i5-1335U), one harness for every open model.
| Benchmark | Mira-v1 | Julia 1 | Jev |
|---|---|---|---|
| Typed decisions (2000) | 0.745 | 0.726 | 0.727 |
| ECE (15-bin) | 0.025 | 0.234 | — |
| Confident-error (≥0.9) | 0.006 | 0.234 | — |
| AG News (100) | 0.25 | 0.94 | 0.91 |
| Emotion (100) | 0.87 | 0.86 | 0.48 |
| Banking77 (100, native full-label) | 0.93 | 0.64 (72-label shortlist variant) | 0.87 |
| Short-query p50 | 30 ms | 321 ms | 70–500 ms API |
Mira ties Julia on typed decisions, leads the open class on calibration by an order of magnitude, and routes intents better — while losing clearly on topic and emotion classification. The AG News / Emotion / Banking77 rows for Julia and Jev are supplier-reported figures. Mira's own pilots are measured here on box-01 (100 cases each, same protocol family): topic and emotion classification are mixed (AG News 0.30 remains a weakness — Mira is a routing specialist, not a topic model; Emotion 0.87 matches Julia after diverse-data training), while intent-style Banking77 at native full-label resolution is a strength (0.93 vs Julia's 0.64 shortlist variant). Knowledge-heavy and 70-label comparisons are Julia/Jev territory today — stated, not hidden. Nepali,
romanized Nepali, and code-mixed slices are Mira-first reporting no other small model publishes.
Limitations
Mira compares answers you provide — it cannot supply missing facts or do arithmetic. Severity direction and urgency separation are the softest slices. Past 20 options a two-stage shortlist narrows then decides (recall reported). Score the exact questions you plan to use before consequential actions. Training data is private; eval harness and predictions are public.