litellm/tests/test_litellm/router_strategy
Tin Chi Lo 72671282df feat(ui): pick the auto router's custom classifier from a config-declared registry
Adds a top-level classifier_plugins config key mapping names to dotted paths,
resolved at startup into litellm.classifier_plugin_registry with the same
load-time checks classifier_plugin already gets. A before-validator on
ComplexityRouterConfig.classifier_plugin resolves string values through the
registry, so the save-time write gate, router deployment init, and direct
construction all accept a registered name and reject an unknown one with a
clean error; DB-stored auto-routers therefore carry plain names and no proxy
read path changes. GET /auto_router/classifier_plugins lists the names.

The dashboard's classification method picker gains a Custom classifier option
with a plugin dropdown fed by that endpoint, a plugin timeout field, and the
fallback picker now shown for both non-heuristic modes. Create and edit
serialize and validate identically, the models table labels custom routers
correctly, and the routing decision card names the classifier_plugin cause
and stops implying the LLM classifier failed on plugin fallbacks
2026-08-18 15:33:01 -07:00
..
adaptive_router feat(router): record why the auto-router picked a tier and show it in the logs (#35016) 2026-07-30 11:55:10 -07:00
test_auto_router.py fix(router): only resolve structured input when messages is absent 2026-08-18 12:18:53 -07:00
test_base_routing_strategy.py [Fix] Fix test failures and Docker build from pinned dependency upgrade 2026-04-01 09:43:33 -07:00
test_budget_limiter_hotpath.py fix(router): enforce deployment budgets for dynamically added models (#29273) 2026-05-29 19:43:14 -07:00
test_complexity_router.py feat(ui): pick the auto router's custom classifier from a config-declared registry 2026-08-18 15:33:01 -07:00
test_lar1_routing.py chore: litellm oss staging (#31185) 2026-06-26 09:17:44 -07:00
test_litellm_encoder.py fix(auto-router): stop the embedding model's context window from failing long requests (#35956) 2026-08-05 14:47:40 -07:00
test_lowest_latency.py test(router_strategy): cover chat-path normalization branches in both handlers 2026-07-23 08:36:48 +10:00
test_quality_router.py Fix: ComplexityRouter should not score system prompt text for code/technical complexity (#36721) 2026-08-13 11:15:14 -07:00
test_router_routing_groups.py feat(router): make routing groups callable as virtual models and list them in /v1/models (#36519) 2026-08-11 18:41:19 -07:00
test_router_routing_plugins.py feat(complexity_router): custom classifier plugins via classifier_type 'custom' (#37249) 2026-08-18 14:09:19 -07:00
test_router_tag_regex_routing.py feat(router): add required-AND (&) tag prefix and allow_fail_open flag (#36193) 2026-08-11 11:49:18 -07:00
test_router_tag_routing.py fix(router): read no tags, instead of raising, from a non-dict metadata bucket 2026-08-13 00:45:49 +00:00
test_savings_baseline.py feat(spend): derive a default auto-router savings baseline from the hardest tier (#35907) 2026-08-04 22:36:45 -07:00