Automatic Model Routing
One subscription, many models. Tasks pick their model via hint prefixes: reasoning goes to a strong model, fast paths go to a fast one, vision to vision.
How a request gets routed
// src/openhuman/providers/router.rs
fn resolve(&self, model: &str) -> (usize, String) {
if let Some(hint) = model.strip_prefix("hint:") {
if let Some((idx, resolved_model)) = self.routes.get(hint) {
return (*idx, resolved_model.clone());
}
}
(self.default_index, model.to_string())
}Common hints
Hint
Typical target
When it's used
One subscription
Overriding routes
Per-agent model pins
Why this isn't just "model switcher"
See also
Last updated