mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-16 23:41:43 +00:00
fix(router): address Greptile P0/P1 review comments on order fallback
- P0: Skip order-based fallback for ContextWindowExceededError and ContentPolicyViolationError so their dedicated fallback handlers run - P1: Read _target_order from kwargs to skip already-tried order levels, preventing wasteful retries and exponential retry storms Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
9cbe3c2c7f
commit
cd0a141115
1 changed files with 14 additions and 3 deletions
|
|
@ -5289,6 +5289,11 @@ class Router:
|
|||
input_kwargs["fallback_depth"] = 0
|
||||
|
||||
# ORDER-BASED FALLBACKS: prepend higher order levels to the fallback list
|
||||
# Skip for error types that have their own dedicated fallback handlers
|
||||
_skip_order_fallback = isinstance(
|
||||
e,
|
||||
(litellm.ContextWindowExceededError, litellm.ContentPolicyViolationError),
|
||||
)
|
||||
all_deployments = self._get_all_deployments(model_name=original_model_group)
|
||||
_order_set: set = {
|
||||
d.get("litellm_params", {}).get("order")
|
||||
|
|
@ -5296,11 +5301,17 @@ class Router:
|
|||
if d.get("litellm_params", {}).get("order") is not None
|
||||
}
|
||||
order_values: list = sorted(_order_set)
|
||||
if len(order_values) > 1:
|
||||
# Build order-based fallback entries (skip min order, already tried)
|
||||
if len(order_values) > 1 and not _skip_order_fallback:
|
||||
# Determine which order levels have already been tried
|
||||
current_target = kwargs.get("_target_order")
|
||||
skip_up_to = (
|
||||
current_target if current_target is not None else order_values[0]
|
||||
)
|
||||
# Build order-based fallback entries (skip already-tried levels)
|
||||
order_fallback_entries: List = [
|
||||
{"model": original_model_group, "_target_order": o}
|
||||
for o in order_values[1:]
|
||||
for o in order_values
|
||||
if o > skip_up_to
|
||||
]
|
||||
# Get external fallbacks
|
||||
external_fallback_group: Optional[List] = None
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue