openai-chatGPT的API调用异常处理

因为目前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)’)))

openai-chatGPT的API调用异常处理

【解决方法】:

①打开文件路径:.ENV\GPTdemo-uQtPOhRR\lib\site-packages\openai\api_requestor.py(openai库路径)

②找到“if not hasattr(_thread_context, “session”):”方法,并在此方法上方加入代理

# proxy = {
#    'http': 'http://<代理ip>:<代理端口>',
#    'https': 'https://<代理ip>:<代理端口>'
#       }

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    # 新增此行
            )
openai-chatGPT的API调用异常处理

再次运行API测试代码发现以及成功返回数据。

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2023年3月18日
下一篇 2023年3月18日

相关推荐