-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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
When passing a custom http client to the OpenAI client, it does not properly use the custom client's auth flow.
In the client's _request method, self.custom_auth is passed to self._client.send (link to source code).
The property custom_auth however is simply defined as return None (link to source code).
Because we explicitly pass None to the auth argument of the send method of the httpx client, the client doesn't use the default value USE_CLIENT_DEFAULT for the auth argument (link to source code).
Is there a reason why we have this custom_auth property on the client? If we do not pass it to the auth argument of self._client.send, everything works as expected and the auth logic of the custom httpx client is properly invoked.
To Reproduce
openai_client = OpenAI(
api_key="<API_KEY>",
base_url="<BASE_URL>",
http_client="<HTTP_CLIENT>",
)
completion = openai_client.chat.completions.create(
messages=[
{
"role": "user",
"content": "Last name of the president of the United States",
}
],
model="gpt-3.5-turbo",
) # Does not invoke the authentication flow of the client passed using `http_client`.Code snippets
No response
OS
MacOS 14.2
Python version
3.11.6
Library version
1.3.9