mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-12 03:48:56 +00:00
fix(router): keep fallback suppression comments on one line for the discipline gate
Co-Authored-By: Ishaan Jaffer <155045088+ishaan-berri@users.noreply.github.com>
This commit is contained in:
parent
e4c094da71
commit
677aec8563
1 changed files with 5 additions and 15 deletions
|
|
@ -554,27 +554,21 @@ def get_fallback_model_group(fallbacks: list[Any], model_group: str) -> tuple[li
|
|||
"""
|
||||
generic_fallback_idx: int | None = None
|
||||
stripped_model_fallback: list[str] | None = None
|
||||
pattern_model_fallback: list[str] | None = (
|
||||
None # mutable-ok: resolved inside the loop like stripped_model_fallback # rebind-ok: one assignment inside the loop
|
||||
)
|
||||
pattern_model_fallback: list[str] | None = None # mutable-ok: set in loop # rebind-ok: set in loop
|
||||
fallback_model_group: list[str] | None = None
|
||||
fallback_keys: Final = tuple(next(iter(item)) for item in fallbacks if isinstance(item, dict) and item)
|
||||
prefixed_model_group: Final = _provider_prefixed_model_group(model_group, fallback_keys)
|
||||
## check for specific model group-specific fallbacks
|
||||
for idx, item in enumerate(fallbacks):
|
||||
if isinstance(item, dict):
|
||||
fallback_key = cast(
|
||||
str, next(iter(item))
|
||||
) # cast-ok: fallback entries are single-key dicts; the key is always a str
|
||||
fallback_key = cast(str, next(iter(item))) # cast-ok: fallback keys are str
|
||||
if fallback_key == model_group: # check exact match
|
||||
fallback_model_group = item[model_group]
|
||||
break
|
||||
elif fallback_key == prefixed_model_group or _check_stripped_model_group(
|
||||
model_group=model_group, fallback_key=fallback_key
|
||||
): # check generic fallback
|
||||
stripped_model_fallback = cast(
|
||||
list[str], item[fallback_key]
|
||||
) # cast-ok: fallback chains are lists of model names
|
||||
stripped_model_fallback = cast(list[str], item[fallback_key]) # cast-ok: chains are str lists
|
||||
elif fallback_key == "*": # check generic fallback
|
||||
generic_fallback_idx = idx
|
||||
elif (
|
||||
|
|
@ -582,9 +576,7 @@ def get_fallback_model_group(fallbacks: list[Any], model_group: str) -> tuple[li
|
|||
and "*" in fallback_key
|
||||
and fnmatch.fnmatchcase(model_group, fallback_key)
|
||||
):
|
||||
pattern_model_fallback = cast(
|
||||
list[str], item[fallback_key]
|
||||
) # cast-ok: fallback chains are lists of model names
|
||||
pattern_model_fallback = cast(list[str], item[fallback_key]) # cast-ok: chains are str lists
|
||||
elif isinstance(item, str):
|
||||
fallback_model_group = [item]
|
||||
## if none, check for generic fallback
|
||||
|
|
@ -592,9 +584,7 @@ def get_fallback_model_group(fallbacks: list[Any], model_group: str) -> tuple[li
|
|||
if stripped_model_fallback is not None:
|
||||
fallback_model_group = stripped_model_fallback
|
||||
elif pattern_model_fallback is not None:
|
||||
fallback_model_group = (
|
||||
pattern_model_fallback # rebind-ok: one assignment per priority branch, same as stripped and generic
|
||||
)
|
||||
fallback_model_group = pattern_model_fallback # rebind-ok: one branch assignment like stripped
|
||||
elif generic_fallback_idx is not None:
|
||||
fallback_model_group = fallbacks[generic_fallback_idx]["*"]
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue