diff --git a/src/openai/_client.py b/src/openai/_client.py index aadf3601f2..04261feace 100644 --- a/src/openai/_client.py +++ b/src/openai/_client.py @@ -161,7 +161,7 @@ def __init__( self.websocket_base_url = websocket_base_url if base_url is None: - base_url = os.environ.get("OPENAI_BASE_URL") + base_url = os.environ.get("OPENAI_BASE_URL") or None if base_url is None: base_url = f"https://api.openai.com/v1" @@ -536,7 +536,7 @@ def __init__( self.websocket_base_url = websocket_base_url if base_url is None: - base_url = os.environ.get("OPENAI_BASE_URL") + base_url = os.environ.get("OPENAI_BASE_URL") or None if base_url is None: base_url = f"https://api.openai.com/v1" diff --git a/tests/test_client.py b/tests/test_client.py index a015cd7d40..995e9e1edc 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -696,6 +696,11 @@ def test_base_url_env(self) -> None: client = OpenAI(api_key=api_key, _strict_response_validation=True) assert client.base_url == "http://localhost:5000/from/env/" + def test_base_url_env_empty_string(self) -> None: + with update_env(OPENAI_BASE_URL=""): + client = OpenAI(api_key=api_key, _strict_response_validation=True) + assert client.base_url == "https://api.openai.com/v1/" + @pytest.mark.parametrize( "client", [ @@ -1734,6 +1739,11 @@ async def test_base_url_env(self) -> None: client = AsyncOpenAI(api_key=api_key, _strict_response_validation=True) assert client.base_url == "http://localhost:5000/from/env/" + async def test_base_url_env_empty_string(self) -> None: + with update_env(OPENAI_BASE_URL=""): + client = AsyncOpenAI(api_key=api_key, _strict_response_validation=True) + assert client.base_url == "https://api.openai.com/v1/" + @pytest.mark.parametrize( "client", [