mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-24 05:45:11 +00:00
fix(router): preserve caller fallback configuration
This commit is contained in:
parent
0dc23406eb
commit
714dbda283
2 changed files with 18 additions and 1 deletions
|
|
@ -1104,7 +1104,7 @@ class Router:
|
|||
|
||||
self.validate_fallbacks(fallback_param=_fallbacks)
|
||||
### set fallbacks
|
||||
self.fallbacks = _fallbacks
|
||||
self.fallbacks = list(_fallbacks) if _fallbacks is not None else None
|
||||
|
||||
if default_fallbacks is not None or litellm.default_fallbacks is not None:
|
||||
_fallbacks = default_fallbacks or litellm.default_fallbacks
|
||||
|
|
|
|||
|
|
@ -1922,6 +1922,23 @@ def test_has_default_fallbacks(model_list, has_default_fallbacks, expected_resul
|
|||
assert router._has_default_fallbacks() is expected_result
|
||||
|
||||
|
||||
def test_default_fallbacks_do_not_mutate_input_fallbacks(model_list):
|
||||
fallbacks = [{"gpt-5-mini": ["gpt-5.5"]}]
|
||||
|
||||
first_router = Router(model_list=model_list, fallbacks=fallbacks, default_fallbacks=["gpt-5.5"])
|
||||
second_router = Router(model_list=model_list, fallbacks=fallbacks, default_fallbacks=["gpt-image-1"])
|
||||
|
||||
assert fallbacks == [{"gpt-5-mini": ["gpt-5.5"]}]
|
||||
assert first_router.fallbacks == [
|
||||
{"gpt-5-mini": ["gpt-5.5"]},
|
||||
{"*": ["gpt-5.5"]},
|
||||
]
|
||||
assert second_router.fallbacks == [
|
||||
{"gpt-5-mini": ["gpt-5.5"]},
|
||||
{"*": ["gpt-image-1"]},
|
||||
]
|
||||
|
||||
|
||||
def test_add_optional_pre_call_checks(model_list):
|
||||
router = Router(model_list=model_list)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue