2.5 KiB
2.5 KiB
OpenAI Python SDK 3.40.0 适配
本文保留 SDK 单独升级阶段的结果。同日后续的 LangChain、HTTPX2 与安全依赖升级,以及最终验证与生效状态,见依赖安全更新记录。
范围
pyproject.toml显式声明openai>=3.40.0,<4.0.0;项目直接使用 SDK 的 HTTP 客户端,不再仅依赖langchain-openai间接带入。uv.lock将 SDK 从 3.3.0 升至 3.40.0,保留既有langchain-openai 1.5.2、httpx2 2.12.0及其他包版本。锁文件记录发行包和 SHA-256。- 继续使用 Responses API、
store=False与 ARTEMIS 的重试预算;SDKmax_retries=0,不叠加 SDK 重试。 - 没有修改模型默认值、已有用户配置、设备调度或插件协议,主程序版本仍为 2.3.0。
兼容性核对
从 3.3.0 到 3.40.0 的更新涉及 SSE 解码、异步流关闭、传输异常归一化、重试验证、Responses 类型及缓存元数据。现有 Responses 调用与已锁定的 LangChain 适配层在专项回归中兼容,无需新增业务兼容分支。
3.40.0 增加显式缓存断点 TTL 类型。此次只升级 SDK,不自动启用显式缓存断点或改变 TTL;以后接入产品配置时,需要同时处理服务端与模型支持、参数入口和用量展示,不能将 SDK 类型支持当作当前端点支持。
新增回归覆盖超过 1 MiB 的中文工具参数,在 SSE 帧和 UTF-8 字符跨网络块时完整还原;即使参数完整,缺少 response.completed 仍拒绝输出正式结论。
本次验证
- 在 OpenAI SDK 3.40.0 下,模型调用专项回归 97 项通过;完整默认回归 3198 项通过、6 项跳过、8 项排除,保留 102 条已有 Pillow 弃用警告。
- Ruff 格式与静态检查、质量基线、核心 Pyright 类型检查、
uv pip check、uv lock --check通过。 - 本次未改前端,未运行前端测试或构建;未执行真实模型或设备业务验收。
生效与边界
开发环境已通过 uv sync --dev --locked 同步。已有长驻服务需正常重启后完整加载新 SDK,本次不主动重启。验证使用本地模拟传输,不调用付费模型或真实设备。