21
21
22
22
from dotenv import find_dotenv , load_dotenv
23
23
from loguru import logger as eval_logger
24
- from openai import AzureOpenAI , OpenAI
24
+ from openai import AzureOpenAI , DefaultHttpxClient , OpenAI
25
25
from PIL import Image
26
26
27
27
load_dotenv (verbose = True )
@@ -39,8 +39,17 @@ def __init__(
39
39
response_persistent_folder : str = None ,
40
40
azure_openai : bool = False ,
41
41
max_frames_num : int = 10 ,
42
+ httpx_trust_env : bool = True ,
42
43
** kwargs ,
43
44
) -> None :
45
+ """
46
+ :param httpx_trust_env: bool
47
+ httpx.Client used by openai-python has trust_env set to True by
48
+ default. A False value of this param constructs a httpx.Client with
49
+ trust_env set to False. Such a httpx.Client ignores environment
50
+ variables (HTTP_PROXY, HTTPS_PROXY, ALL_PROXY) and macOS proxy
51
+ server settings.
52
+ """
44
53
super ().__init__ ()
45
54
self .model_version = model_version
46
55
self .timeout = timeout
@@ -64,10 +73,11 @@ def __init__(
64
73
self .response_cache = {}
65
74
self .cache_mode = "start"
66
75
76
+ http_client = DefaultHttpxClient (trust_env = httpx_trust_env ) if not httpx_trust_env else None
67
77
self .client = (
68
- OpenAI (api_key = os .getenv ("OPENAI_API_KEY" ), base_url = os .getenv ("OPENAI_API_BASE" ))
78
+ OpenAI (api_key = os .getenv ("OPENAI_API_KEY" ), base_url = os .getenv ("OPENAI_API_BASE" ), http_client = http_client )
69
79
if not azure_openai
70
- else AzureOpenAI (api_key = os .getenv ("AZURE_OPENAI_API_KEY" ), azure_endpoint = os .getenv ("AZURE_OPENAI_API_BASE" ), api_version = os .getenv ("AZURE_OPENAI_API_VERSION" ))
80
+ else AzureOpenAI (api_key = os .getenv ("AZURE_OPENAI_API_KEY" ), azure_endpoint = os .getenv ("AZURE_OPENAI_API_BASE" ), api_version = os .getenv ("AZURE_OPENAI_API_VERSION" ), http_client = http_client )
71
81
)
72
82
73
83
accelerator = Accelerator ()
0 commit comments