起因:当你在模型中使用预训练模型时,报错SSLError,无法访问。
解决过程
在网上查找文章时发现是:现在 urllib3
要支持 https
代理了,那么既然配置代理是 https
就尝试用 https
的方式去连接,但是由于代理服务器其实只支持 http
,所以没法处理请求,ssl
握手阶段就出错了。
以前的 urllib3
其实并不支持 https
代理,也就是说代理服务器的地址虽然大家配置的是 https
,但是一直都是悄无声息地就按照 http
连接的,刚好代理服务器确实也只支持 http
,所以皆大欢喜。
也就相当于是你的代理一直都是用的http
,而后来urllib3
支持起https后,反而代理服务器无法正常使用,所以我们有两种解决办法:
一降低urllib3
版本:
pip install urllib3==1.25.11
查看urllib3
更新库可知,因此采用低于1.25.11的版本
二重新设置代理
proxy = {
'http': 'http://localhost:7890',
'https': 'http://localhost:7890'
}
openai.proxy = proxy
openai.proxy = proxy,当你要访问哪个端口时,就把它的proxy设置为上面所示的,即
xx.proxy = proxy
就是这样子啦,个人两种方法都使用过,都是有效的。