-
Notifications
You must be signed in to change notification settings - Fork 4.6k
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Confirm this is an issue with the Python library and not an underlying OpenAI API
- This is an issue with the Python library
Describe the bug
I noticed a small issue in the base_url initialization logic: (
openai-python/src/openai/_client.py
Lines 163 to 166 in 656e3ca
| if base_url is None: | |
| base_url = os.environ.get("OPENAI_BASE_URL") | |
| if base_url is None: | |
| base_url = f"https://api.openai.com/v1" |
if base_url is None:
base_url = os.environ.get("OPENAI_BASE_URL")
if base_url is None:
base_url = f"https://api.openai.com/v1"
If the environment variable OPENAI_BASE_URL is defined but empty (e.g., OPENAI_BASE_URL=""), then os.environ.get("OPENAI_BASE_URL") returns an empty string. As a result:
- base_url becomes ""
- the second condition (if base_url is None) is never triggered
- the intended fallback "https://api.openai.com/v1" is skipped
An empty string is not a valid base URL, so this can lead to confusing behavior.
To Reproduce
export OPENAI_BASE_URL=""- run the following:
from openai import OpenAI
client = OpenAI()
client.models.list()
- Trigger an "openai.APIConnectionError: Connection error" error
Code snippets
OS
macOS
Python version
Python 3.12.2
Library version
2.15.0
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working