Home · Cellar · Routor

VINTAGE 2026.05.15 · BATCH #002

ROUTOR

⚙ Intent Classifier Spirit

18-class intent router for agent frameworks. Given a user message, picks which downstream domain (schedule, message, control, query, ...) should handle it. 7.96M params, runs CPU at <20ms. Distilled from Gemini 2.5 Flash in 21 min for ~$0.40 on a single RTX 5090.

★ 92 PROOF PASSED CUTS 7.96M PARAMS CPU-RUNNABLE
macro-F1
92%
on held-out cuts
Final loss
0.564
8 epochs
Compression
188,000×
~1.5T → 7.96M

Tasting Notes

✓ Strengths

  • Macro-F1 0.924 across 18 well-separated intents on 200 held-out cuts (stratified, 88/12 train/eval)
  • 7 of 18 classes hit perfect F1 = 1.000 (cancel_action, control_device, generate_creative_content, greet_or_smalltalk, manage_todo_list, send_message, translate_language)
  • Trains in ~15 min on a single RTX 5090; data gen ~6 min in Gemini Flash (~$0.40 total)
  • Handles tricky cancel/undo phrasings ("Wait, scratch that, don't do it") at F1 1.000
  • Holds JSON output structure consistently across the held-out set

✕ Weaknesses

  • compute_math vs query_factual_info: "How many feet are in a mile?" routed to query_factual_info (gold = compute_math). The boundary between facts and conversions is genuinely ambiguous
  • summarize_text recall only 0.60 — a few summarize utterances get pulled to search_web or capture_note (precision still 1.0)
  • query_factual_info precision 0.733 — it over-attracts on borderline examples (the natural attractor for ambiguity)
  • Eval set is teacher-derived. v0.2 will add a human-curated 200-utterance hold-out so the proof is not just "agrees with Gemini Flash"

SAMPLE PREDICTIONS

UtteranceGoldPredictedVerdict
What's 15% of 250? compute_math compute_math ✓ exact
What time is it in Tokyo right now? query_factual_info query_factual_info ✓ exact
Put on some classical music, something by Beethoven. play_media play_media ✓ exact
Hey there, long time no see! How's your day been? greet_or_smalltalk greet_or_smalltalk ✓ exact
Wait, scratch that, don't do it. cancel_action cancel_action ✓ exact
Tell me a quick, lighthearted joke. generate_creative_content generate_creative_content ✓ exact
How many feet are in a mile? compute_math query_factual_info ✕ wrong

Distillation Run

8 epochs over distilled examples. Final loss: 0.564.

Provenance

Teacher: gemini-2.5-flash (~1.5T params)
Recipe: routor.intent-classifier-v1.yaml
Distilled: 2026-05-15 by The Distillery v0.1 engine
Author: @house

Download Bottle

Self-contained — model weights, tokenizer, and recipe in a single artifact. No API key needed at inference.

PYTORCH
30.5 MB
For training continuation, HuggingFace, custom Python.
Download
ONNX
14 MB (coming)
CPU/GPU inference, edge, browser via onnxruntime-web.
GGUF
4 MB (coming)
Quantized for llama.cpp, mobile, embedded targets.

⚗ Talk to us about your pipeline

Tell us what your agent pipeline looks like today. We'll reply with a recipe sketch for distilling the narrow steps — usually within a day. No sales team, no SDR funnel.