開發生態
OpenAI Python SDK 底層遷移至 HTTPX2,改用系統憑證庫並移除 certifi 依賴
Hacker News單一來源
尚未逐項核實
目前依單一來源整理,這是來源數量描述,不是對消息真假的判定。
OpenAI Python SDK 的同步與非同步 HTTP 客戶端已正式遷移至 HTTPX2。新版套件將自動安裝 `httpx2`,並停止自動安裝舊版 `httpx`。若開發者未自訂 `http_client`,現有的 API 呼叫、回應解析、串流與重試機制皆不受影響。
此次更新最重大的變更在於 TLS 憑證驗證機制。HTTPX2 改用作業系統的信任憑證庫,SDK 也不再安裝 `certifi`。這將導致在缺乏系統 CA 憑證的極簡容器映像檔、或使用企業 TLS 代理的環境中發生憑證驗證失敗。開發者需透過環境變數 `SSL_CERT_FILE` 或 `SSL_CERT_DIR` 手動設定憑證路徑,或透過 `ssl.SSLContext` 傳入自訂憑證。
在程式碼層面,若開發者有自訂傳輸層、超時設定或代理,必須將原有的 `httpx` 物件全面替換為 `httpx2` 對應物件(如 `httpx2.Client`、`httpx2.Timeout`)。SDK 亦新增了 `DefaultHttpx2Client` 與 `DefaultAsyncHttpx2Client` 供明確呼叫。此外,支援的 `aiohttp` 擴充套件現在也改用 HTTPX2 原生傳輸層,不再安裝舊版 HTTPX 或外部轉接器。
讀原始報導背景
HTTP(超文本傳輸協定)是全球資訊網資料通訊的基礎,而憑證授權中心(CA)則負責核發數位憑證以驗證公鑰的擁有權。OpenAI Python SDK 透過 HTTP 客戶端進行連線,並在過程中依賴 CA 憑證來確保通訊安全。
社群討論
社群指出 OpenAI 與 Anthropic 轉用 HTTPX2(Pydantic 維護的分支),主因是原 httpx 專案停止維護且 1.0 版將包含破壞性更新,新分支能確保 API 穩定性。開發者讚賞此舉改用作業系統 TLS 信任庫而捨棄 certifi,解決了內部 CA 憑證問題;且保留了優於 requests 的 Async 支援與 WSGI/ASGI 測試優勢。部分意見質疑為何不直接贊助 requests,並推薦 pyqwest 或 niquests 等替代方案,有實測顯示 niquests 在內部叢集通訊(1000 次請求、併發 16)的效能表現更佳。