这个坑值得记一笔。从 openai 0.28 升到 1.40,原来 OpenAI(proxies=...) 抛 TypeError: got an unexpected keyword argument proxies,脚本在初始化就挂了。
刚开始盯着「环境变量优先级与旧版不同」,折腾了半个多小时,排掉了。
真正麻烦的地方在于,几个原因的现象几乎一样。1.x 由 httpx 承载 代理走 http_client;参数名从 proxies 改成 proxy;锁文件仍指向旧版本。
第一件事是确认装到的版本
python -c "import openai;print(openai.__version__)"
然后改用 httpx 客户端注入代理
python -c "import httpx;c=httpx.Client(proxy='http://127.0.0.1:7890');print(c)"
或直接设环境变量再请求
$env:HTTPS_PROXY='http://127.0.0.1:7890'
末了清缓存重装并锁版本
pip install --force-reinstall openai==1.40.0
排查用的命令都是临时敲的,没有写成脚本,事后才整理。
手上没有现成的复现脚本,就照着线上请求手工拼了一个。
报错是间歇性的,我蹲守了半小时才抓到一次完整现场。
怎么算真的好了,看的是同一批现象。请求能通过代理访问,脚本不再抛 TypeError,出口 IP 与代理一致。
容易忽略的是,大版本升级先看迁移说明里的参数变更,构造函数签名基本每版都动。线上能稳定复现的问题都不算难,难的是只在大流量下才出现的那种。
