Skip to content

docs(auto-routing): document default_tier for prompts with no scoring signal - #703

Open
tin-berri wants to merge 7 commits into
mainfrom
docs/complexity-router-default-tier
Open

docs(auto-routing): document default_tier for prompts with no scoring signal#703
tin-berri wants to merge 7 commits into
mainfrom
docs/complexity-router-default-tier

Conversation

@tin-berri

Copy link
Copy Markdown
Contributor

Documents the default_tier knob added in BerriAI/litellm#35050

The heuristic scorer's dimensions are a keyword whitelist, so a prompt matching none of them scored 0.0 and fell under simple_medium into SIMPLE; unclassifiable traffic was asserted to be simple. default_tier (MEDIUM by default) now covers that case, and default_tier: SIMPLE restores the old behavior

Adds the knob to the full-config block, a "No signal" paragraph under the heuristic scorer explaining why the check is on the dimensions rather than the weighted score, and the matching decision-log line

Note for the release note that ships #35050: this changes spend for every deployment on the heuristic default with no config change on their side (blended per-turn price proxy 2.78 -> 4.24 on a 257-session agent corpus, about +53%), so it belongs in a :::danger Breaking Changes admonition with default_tier: SIMPLE named as the opt-out

@vercel

vercel Bot commented Jul 29, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
litellm Ready Ready Preview Aug 1, 2026 8:01am

Request Review

… signal

The heuristic scorer has no abstain path today, so a prompt matching none of its
keyword lists scores 0.0 and falls under simple_medium into SIMPLE. BerriAI/litellm#35050
adds default_tier (MEDIUM by default) for that case; this documents the knob, the
decision-log line it produces, and the reason the check is on the dimensions rather
than on the weighted score
…the spend change

default_tier resolves to a model the same way a classified tier does, through the
tier's own models then default_model then MEDIUM, rather than needing its own
non-empty entry or a default_model. Adds the upgrade note the behavior change owes
existing deployments: the tier mix and the roughly 53% per-turn price move, and
default_tier: SIMPLE as the one-line way to keep the old behavior.
…-pool behavior

The default_tier change alters existing default behavior with no config edit, which
the release-note convention says belongs in a :::danger admonition rather than a
Key Highlights bullet.

Also corrects the tier-pool line: an empty pool says the tier names no models, so it
resolves like an absent tier and falls through to default_model. Only adaptive: true
rejects empty pools at load.
A default_tier nothing can serve is rejected at load whether you set it or take the
default. Partial tiers maps are unaffected because the proxy derives a default_model;
the shape this rejects is a plugin config whose tiers omits MEDIUM, which plugins
cannot rescue with default_model and which previously raised on the first no-signal
request.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant