Custom Router Training Data Format
Structure
incorrect_models is optional and ignored during training. Only correct_models is used as the multi-label target.
Validation (src/ml_tasks.py:138-141)
Problems are silently dropped if missing any of:problem_key, problem, correct_models.
Minimum 10 valid problems required. Fewer → ValueError: No valid 'problems' found.
Model string format
Use OpenRouter model IDs, e.g.:openai/gpt-4oopenai/gpt-4o-minianthropic/claude-3-haikugoogle/gemini-2.5-flashqwen/qwen3-coder
Quality tips
- Include diverse problem types — router learns from variation
- At least 2–3 models per problem (multi-label signal)
- Problems where only one model ever succeeds add weak signal
- Problems where no model succeeds are dropped (unsolvable filter)
- 100+ problems recommended for production accuracy
Hosting
Data must be at a publicly accessible URL. Options:- Cloudflare R2 — upload with boto3, use public bucket URL
- GitHub Gist — raw URL works
- Any HTTP server — must return
Content-Type: application/json