Auto-Router: what improvements do you want to see? #32168
Replies: 5 comments 22 replies
-
|
From working on the Adaptive Router implementation in the Rust project, I think all three strategies should eventually converge into a single Auto-Router. Adaptive routing shows that model selection is fundamentally a scoring problem. Semantic similarity, complexity, user feedback, cache probability and optional LLM classification can all be treated as signals contributing to a final routing score. Rather than exposing multiple routing modes, I'd expose one Auto Router with configurable signals and weights. This keeps the API simple while allowing the routing engine to evolve internally. I'd also like to see Adaptive Router learn from implicit production signals such as latency, retries, failures, cache hits and token usage, not just explicit user feedback. Finally, making routing decisions explainable would greatly improve debugging and production tuning. |
Beta Was this translation helpful? Give feedback.
-
|
Does complexity routing fall under this? I am not sure if auto routing uses the same logic, but it seems that I cannot hit the anthropic messages endpoint with a complexity router. When using Bedrock on the backend, only Anthropic endpoints work with prompt caching. Chat Completions and Responses seem to always return 0 prompt caching. But if the routers worked with the anthropic endpoints, it would work I think. |
Beta Was this translation helpful? Give feedback.
-
|
Hey @jeann2013 - would love for you to take a look at updated autorouter --> converged to a single auto-router merging complexity and semantic routing: #32859 + added option for LLM based classification + basic logging ( #32943) would love to know your thoughts on what level of observability you want on routing decisions, also what kind of plugins are you envisioning to be added? |
Beta Was this translation helpful? Give feedback.
-
|
One funny side effect of this discussion: I actually started thinking about litellmhub.ai 😄. If third-party plugins become a thing, I could easily imagine a community hub where people publish, rate, and discover routing plugins. |
Beta Was this translation helpful? Give feedback.
-
|
Proposal: allow budget-based limits on models within the auto-router. Two budget mechanisms already exist in the router and both work by filtering a deployment out of the candidate pool once exhausted, not by erroring:
Neither is visible to auto-router today. Proposal: route tier-list selection through the same budget-filtering pool instead of picking blind. No new config surface needed, this reuses model_list:
- model_name: smart-router
litellm_params:
model: auto_router/complexity_router
complexity_router_config:
tiers:
COMPLEX: [fable, claude-sonnet-4]
- model_name: fable
litellm_params:
model: anthropic/claude-fable-5
max_budget: 50
budget_duration: 1dor per-key, via the existing Separate question worth its own thread: what happens when every model in a tier is exhausted. Bump to the next tier, drop down, or error. Probably needs to be configurable rather than a fixed default. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Auto-Router today supports 3 flows
Looking for input on how we can simplify this + where this should go next. Some directions we're considering:
If you're using Auto-Router (or thought about using it and decided against it), we'd like to hear what's missing or what would make it more useful for your setup.
Beta Was this translation helpful? Give feedback.
All reactions