mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-23 05:34:41 +00:00
Merge ba44d3fdf0 into 82ca10cc2d
This commit is contained in:
commit
9a7aa40d20
2 changed files with 21 additions and 1 deletions
|
|
@ -1448,7 +1448,7 @@ class Router:
|
|||
|
||||
self.validate_fallbacks(fallback_param=_fallbacks)
|
||||
### set fallbacks
|
||||
self.fallbacks = _fallbacks
|
||||
self.fallbacks = _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
|
||||
|
|
|
|||
|
|
@ -1646,6 +1646,26 @@ 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() -> None:
|
||||
fallbacks: Final[list[dict[str, list[str]]]] = [{"primary": ["secondary"]}]
|
||||
first_router: Final = Router(model_list=[], fallbacks=fallbacks, default_fallbacks=["first-default"])
|
||||
second_router: Final = Router(model_list=[], fallbacks=fallbacks, default_fallbacks=["second-default"])
|
||||
|
||||
try:
|
||||
assert fallbacks == [{"primary": ["secondary"]}]
|
||||
assert first_router.fallbacks == [
|
||||
{"primary": ["secondary"]},
|
||||
{"*": ["first-default"]},
|
||||
]
|
||||
assert second_router.fallbacks == [
|
||||
{"primary": ["secondary"]},
|
||||
{"*": ["second-default"]},
|
||||
]
|
||||
finally:
|
||||
first_router.discard()
|
||||
second_router.discard()
|
||||
|
||||
|
||||
def test_add_optional_pre_call_checks(model_list):
|
||||
router = Router(model_list=model_list)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue