diff --git a/litellm/llms/cloudflare/chat/transformation.py b/litellm/llms/cloudflare/chat/transformation.py index bccfb321539..ec73ff8818d 100644 --- a/litellm/llms/cloudflare/chat/transformation.py +++ b/litellm/llms/cloudflare/chat/transformation.py @@ -44,7 +44,7 @@ class CloudflareChatConfig(OpenAIGPTConfig): @staticmethod def _resolve_api_base(api_base: Optional[str]) -> str: - if api_base is None: + if not api_base: account_id = get_secret_str("CLOUDFLARE_ACCOUNT_ID") if account_id is None: raise ValueError( diff --git a/tests/test_litellm/llms/cloudflare/test_cloudflare_transformation.py b/tests/test_litellm/llms/cloudflare/test_cloudflare_transformation.py index b49365d5e4f..2e2d01eb12f 100644 --- a/tests/test_litellm/llms/cloudflare/test_cloudflare_transformation.py +++ b/tests/test_litellm/llms/cloudflare/test_cloudflare_transformation.py @@ -68,6 +68,24 @@ def test_get_complete_url_is_idempotent_for_full_base(): ) +def test_get_complete_url_falls_back_to_account_id_when_base_is_empty(monkeypatch): + monkeypatch.setenv("CLOUDFLARE_ACCOUNT_ID", "acct") + config = CloudflareChatConfig() + + url = config.get_complete_url( + api_base="", + api_key="cf-key", + model="@cf/meta/llama-2-7b-chat-int8", + optional_params={}, + litellm_params={}, + ) + + assert ( + url + == "https://api.cloudflare.com/client/v4/accounts/acct/ai/v1/chat/completions" + ) + + def test_get_complete_url_raises_when_account_id_and_base_missing(monkeypatch): monkeypatch.delenv("CLOUDFLARE_ACCOUNT_ID", raising=False) config = CloudflareChatConfig()