Choosing a Selection Algorithm
This guide helps you select the right model selection algorithm for your use case.
Quick Decision Tree
Do you need deterministic routing?
├── Yes → Static Selection
└── No → Continue...
Do you have user feedback available?
├── Yes, abundant → Elo Rating
├── Some feedback → Hybrid (with Elo component)
└── No feedback → Continue...
Do you have good model descriptions?
├── Yes → RouterDC
└── No → Continue...
Is cost optimization important?
├── Yes → AutoMix
└── No → Static or Hybrid
Algorithm Comparison
Core Algorithms
| Algorithm | Feedback Needed | Setup Complexity | Adaptability | Cost Optimization |
|---|---|---|---|---|
| Static | None | Low | None | Manual |
| Elo | High | Medium | High | Indirect |
| RouterDC | None | Medium | Medium | No |
| AutoMix | Low | Medium | Medium | Yes |
| Hybrid | Varies | High | High | Yes |
RL-Driven Algorithms
| Algorithm | Feedback Needed | Setup Complexity | Adaptability | Personalization |
|---|---|---|---|---|
| Thompson | Medium | Low | High | Per-user option |
| GMTRouter | Medium | High | Very High | Built-in |
| Router-R1 | None | High | High | Via LLM |
Use Case Recommendations
Startup / MVP
Recommended: Static
Start simple with explicit rules. Migrate to adaptive methods as you collect data.
algorithm:
type: static
static:
default_model: gpt-3.5-turbo
High-Volume Production
Recommended: AutoMix or Hybrid
Optimize costs while maintaining quality at scale.
algorithm:
type: automix
automix:
cost_quality_tradeoff: 0.4
User-Facing Applications
Recommended: Elo
Let user feedback drive model selection for subjective quality.
algorithm:
type: elo
elo:
k_factor: 32
storage_path: /data/elo-ratings.json
Specialized Domains
Recommended: RouterDC
When models have distinct specializations, match queries to model capabilities.
algorithm:
type: router_dc
router_dc:
require_descriptions: true