因为目前openai对地区限制的原因,即使设置了全局代理使用API调用时,还是会出现科学上网代理的错误问题。
openai库 == 0.26.5
【错误提示】:
raise error.APIConnectionError(
openai.error.APIConnectionError: Error communicating with OpenAI: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/models (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)')))

【解决方法】:
①打开文件路径:.ENV\GPTdemo-uQtPOhRR\lib\site-packages\openai\api_requestor.py(openai库路径)
②找到“if not hasattr(_thread_context, "session"):”方法,并在此方法上方加入代理
# proxy = { # 'http': 'http://:', # 'https': 'https://:' # } proxy={ 'http':'127.0.0.1:10809', 'https':'127.0.0.1:10809' }
③在“result = _thread_context.session.request(”中加入代理
result = _thread_context.session.request( method, abs_url, headers=headers, data=data, files=files, stream=stream, timeout=request_timeout if request_timeout else TIMEOUT_SECS, proxies=proxy # 新增此行 )
