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.
| Utterance | Gold | Predicted | Verdict |
|---|---|---|---|
| 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 |
8 epochs over distilled examples. Final loss: 0.564.
gemini-2.5-flash (~1.5T params)routor.intent-classifier-v1.yamlSelf-contained — model weights, tokenizer, and recipe in a single artifact. No API key needed at inference.