fix(router.py): don't cooldown on apiconnectionerrors

Fixes issue where model would be in cooldown due to api connection errors
This commit is contained in:
Krrish Dholakia 2024-08-24 09:53:05 -07:00
parent 8782ee444d
commit 0b06a76cf9
3 changed files with 78 additions and 5 deletions

View file

@ -2107,3 +2107,51 @@ def test_router_context_window_pre_call_check(model, base_model, llm_provider):
pass
except Exception as e:
pytest.fail(f"Got unexpected exception on router! - {str(e)}")
def test_router_cooldown_api_connection_error():
# try:
# _ = litellm.completion(
# model="vertex_ai/gemini-1.5-pro",
# messages=[{"role": "admin", "content": "Fail on this!"}],
# )
# except litellm.APIConnectionError as e:
# assert (
# Router()._is_cooldown_required(
# exception_status=e.code, exception_str=str(e)
# )
# is False
# )
router = Router(
model_list=[
{
"model_name": "gemini-1.5-pro",
"litellm_params": {"model": "vertex_ai/gemini-1.5-pro"},
}
]
)
try:
router.completion(
model="gemini-1.5-pro",
messages=[{"role": "admin", "content": "Fail on this!"}],
)
except litellm.APIConnectionError:
pass
try:
router.completion(
model="gemini-1.5-pro",
messages=[{"role": "admin", "content": "Fail on this!"}],
)
except litellm.APIConnectionError:
pass
try:
router.completion(
model="gemini-1.5-pro",
messages=[{"role": "admin", "content": "Fail on this!"}],
)
except litellm.APIConnectionError:
pass