diff --git a/litellm/router.py b/litellm/router.py index adf8f4897..251c9eebc 100644 --- a/litellm/router.py +++ b/litellm/router.py @@ -2056,15 +2056,15 @@ class Router: verbose_router_logger.debug(f"inside model fallbacks: {fallbacks}") generic_fallback_idx: Optional[int] = None ## check for specific model group-specific fallbacks - if isinstance(fallbacks, list): - fallback_model_group = fallbacks - elif isinstance(fallbacks, dict): - for idx, item in enumerate(fallbacks): + for idx, item in enumerate(fallbacks): + if isinstance(item, dict): if list(item.keys())[0] == model_group: fallback_model_group = item[model_group] break elif list(item.keys())[0] == "*": generic_fallback_idx = idx + elif isinstance(item, str): + fallback_model_group = [fallbacks.pop(idx)] ## if none, check for generic fallback if ( fallback_model_group is None @@ -2313,16 +2313,15 @@ class Router: verbose_router_logger.debug(f"inside model fallbacks: {fallbacks}") fallback_model_group = None generic_fallback_idx: Optional[int] = None - if isinstance(fallbacks, list): - fallback_model_group = fallbacks - elif isinstance(fallbacks, dict): - ## check for specific model group-specific fallbacks - for idx, item in enumerate(fallbacks): + for idx, item in enumerate(fallbacks): + if isinstance(item, dict): if list(item.keys())[0] == model_group: fallback_model_group = item[model_group] break elif list(item.keys())[0] == "*": generic_fallback_idx = idx + elif isinstance(item, str): + fallback_model_group = [fallbacks.pop(idx)] ## if none, check for generic fallback if ( fallback_model_group is None