From 63fcf41bea5222f64b1c9a822f08cec9e55aa619 Mon Sep 17 00:00:00 2001 From: Fei Wang Date: Fri, 9 Jun 2023 14:15:06 +0800 Subject: [PATCH] Fix openai proxy error (#5914) Fixes proxy error. Since openai does not parse proxy parameters and uses openai.proxy directly, the proxy method needs to be modified. https://github.com/openai/openai-python/blob/7610c5adfaebe3ffdb9927a551a741a3fab1b62e/openai/api_requestor.py#LL90 #### Who can review? @hwchase17 - project lead Models - @hwchase17 - @agola11 --------- Co-authored-by: Harrison Chase --- langchain/chat_models/openai.py | 6 +++--- langchain/embeddings/openai.py | 6 ++++-- langchain/llms/openai.py | 7 +++---- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/langchain/chat_models/openai.py b/langchain/chat_models/openai.py index 7fd2daa3..7aee780b 100644 --- a/langchain/chat_models/openai.py +++ b/langchain/chat_models/openai.py @@ -387,9 +387,9 @@ class ChatOpenAI(BaseChatModel): "model": self.model_name, } if self.openai_proxy: - openai_creds["proxy"] = ( - {"http": self.openai_proxy, "https": self.openai_proxy}, - ) + import openai + + openai.proxy = {"http": self.openai_proxy, "https": self.openai_proxy} # type: ignore[assignment] # noqa: E501 return {**openai_creds, **self._default_params} @property diff --git a/langchain/embeddings/openai.py b/langchain/embeddings/openai.py index 82955164..56813d2a 100644 --- a/langchain/embeddings/openai.py +++ b/langchain/embeddings/openai.py @@ -197,10 +197,12 @@ class OpenAIEmbeddings(BaseModel, Embeddings): "api_version": self.openai_api_version, } if self.openai_proxy: - openai_args["proxy"] = { + import openai + + openai.proxy = { "http": self.openai_proxy, "https": self.openai_proxy, - } + } # type: ignore[assignment] # noqa: E501 return openai_args # please refer to diff --git a/langchain/llms/openai.py b/langchain/llms/openai.py index f56c4e77..ad494971 100644 --- a/langchain/llms/openai.py +++ b/langchain/llms/openai.py @@ -451,10 +451,9 @@ class BaseOpenAI(BaseLLM): "organization": self.openai_organization, } if self.openai_proxy: - openai_creds["proxy"] = { - "http": self.openai_proxy, - "https": self.openai_proxy, - } + import openai + + openai.proxy = {"http": self.openai_proxy, "https": self.openai_proxy} # type: ignore[assignment] # noqa: E501 return {**openai_creds, **self._default_params} @property