HTTPX2
OpenAI Python SDK 用来和服务器通信的新传输组件,取代了原来的 HTTPX。
简单来说
HTTPX2 是 OpenAI 制作的 Python 开发工具包(SDK,可以理解为开发者直接取用的成品零件箱)里,真正负责把信件送到 OpenAI 服务器、再把回信带回来的那个"快递员"部件。以前这份工作由一个叫 HTTPX 的快递员负责,最近这个快递员被换成了 HTTPX2。
快递员的一项重要工作是核实对方身份证,确认对面真的是 OpenAI。以前它总随身带着一份叫 certifi 的身份证对照表来核实;从 HTTPX2 开始,它改用电脑系统里原本自带的身份证对照表。问题在于,一些非常精简的服务器,或是公司内部的特殊环境,可能根本没有这份内置对照表,或者对照表不完整。这样一来,快递员就没法核实对方身份,通信本身可能被卡住。
所以使用这类环境的开发者需要自己在电脑上安装身份证对照表,或者在程序里直接指定要用哪份对照表。表面上看只是换了一个部件的名字,但实际上,验证服务器是否可信这件事的方式本身发生了变化。
在报道中是这样出现的
文章中通常会这样出现:"OpenAI 把 openai-python 包里默认的通信工具从 HTTPX 换成了 HTTPX2。"容易被误解的一点是,这并不是新的 AI 模型或 ChatGPT 功能更新。普通 ChatGPT 用户完全不受影响,只有把 OpenAI 功能接入自己程序的开发者的服务器环境会受到影响。
亲手试一试
如果你是直接接触代码的开发者,可以检查以下几点:
- 重新安装 openai 包后突然出现服务器连接错误,先确认你所用的服务器或容器里,是否已经配好了充当身份证对照表的最新证书列表。
- 如果是公司内网或最小化配置的容器等特殊环境,可以查阅文档,看能否在代码里直接指定要使用哪份证书列表。
- 如果你用了拦截认证或请求/响应的自定义代码、测试用的 mock 工具,要检查是否需要针对新的通信工具做相应更新。
