From 280148543fd35d1ea5a32f9fec9e21db91c33abb Mon Sep 17 00:00:00 2001 From: Krrish Dholakia Date: Sat, 27 Apr 2024 17:36:05 -0700 Subject: [PATCH] fix(router.py): fix trailing slash handling for api base which contains `/v1` --- litellm/router.py | 2 ++ litellm/tests/test_router.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/litellm/router.py b/litellm/router.py index cd7c72c4a..23618123f 100644 --- a/litellm/router.py +++ b/litellm/router.py @@ -1994,6 +1994,8 @@ class Router: # check if it ends with a trailing slash if api_base.endswith("/"): api_base += "v1/" + elif api_base.endswith("/v1"): + api_base += "/" else: api_base += "/v1/" diff --git a/litellm/tests/test_router.py b/litellm/tests/test_router.py index 8659b5d66..7520ac75f 100644 --- a/litellm/tests/test_router.py +++ b/litellm/tests/test_router.py @@ -57,6 +57,7 @@ def test_router_num_retries_init(num_retries, max_retries): else: assert getattr(model_client, "max_retries") == 0 + @pytest.mark.parametrize( "timeout", [10, 1.0, httpx.Timeout(timeout=300.0, connect=20.0)] ) @@ -137,6 +138,7 @@ def test_router_azure_ai_studio_init(mistral_api_base): print(f"uri_reference: {uri_reference}") assert "/v1/" in uri_reference + assert uri_reference.count("v1") == 1 def test_exception_raising():