文章目录
调用OpenAi Api 出现openai.error.APIConnectionError: Error communicating with OpenAI: HTTPSConnectionPool
场景复现:
购买好了翻墙VPN,也成功拿到了openai官网的api_key,来通过代码调用的时候,控制台出现
openai.error.APIConnectionError: Error communicating with OpenAI: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/models (Caused by ProxyError('Cannot connect to proxy.', RemoteDisconnected('Remote end closed connection without response')))
报错。明明openai的官网可以打开,为啥通过代码访问的时候就是不行!!!
googel、百度结果:
清一色的让你去改代理,改请求源码,还有一些标题把各种改造方案都整合在一起的帖,我只想说两个字,
狗屎。啥也不是!
本质原因:
因为openai不支持中国ip,所以我们需要购买vpn来达到访问的目的,那出现这个问题很大原因就是自己买的vpn不对,只要你的vpn节点在openai支持的区域,就不存在类似的问题。
怎么判断:
怎么判断买的对不对,很简单,把vpn关了,如果报错依旧存在,那就是vpn不行
如果不行怎么处理:
分两种场景
场景一:购买的是http代理,那可能是节点区域不支持。
场景二:购买的是socks代理,也是不行的,因为openai默认发的是http请求。
怎么区别:
打开自己的当前连接网络,看下网络代理的菜单。
这种就是socks代理
。
这种就是三种都可以
处理解决:
场景一:如果是http代理且不行的,直接切节点,切到支撑openai的区域,比如老美
场景二:socks代理的那只能改造下源码了,这部分网上方案一堆,去随便整个就行。
写在最后:
弄东西一定得知道所以然,水帖实在太多了,差点就放弃了。整整弄了两天,按照那些水帖,改来改去,键盘都差点敲烂了。。。