SuperAPI AI 工具集

bump-openai-version

编程与开发

查看项目

更新于 10-15 21:12

技能介绍

用途:当被要求升级本仓库中的 OpenAI NuGet 包时使用。默认新 SDK 版本兼容,先更新集中管理的版本,再执行还原、构建和测试;仅当验证暴露兼容性问题时,才调查上游变更或调整 MEAI。

输入:需要目标 OpenAI 包版本;若未提供应询问,不要默认使用最新版。集成测试需要按 README 预先配置的凭据,且不得请求、打印、复制或提交凭据。

流程:先搜索 dotnet/extensions 中已开启的 PR(目标版本加 OpenAI、OpenAI SDK、Microsoft.Extensions.AI.OpenAI 等词);若存在匹配 PR 应报告并停止,除非用户明确要求继续。基线阶段阅读 .github/copilot-instructions.md,检查 git status 保留无关改动,读取 eng/packages/General.props 中的版本并确认尚未为目标版本,必要时先跑 Debug 下的 OpenAI 单元测试基线,若已有失败需报告并询问是否继续。

包源验证:编辑 NuGet.config 前,用配置的 dotnet-public 源的 NuGet V3 PackageBaseAddress 资源确认目标版本可下载,构造 <PackageBaseAddress>/openai/<lower-normalized-version>/openai.<lower-normalized-version>.nupkg 并发起首字节 GET 范围请求。示例:curl --fail --silent --show-error --location --range 0-0 --output openai-package-probe.tmp 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/flat2/openai/2.13.0/openai.2.13.0.nupkg'。退出码 0 表示该版本可用;非 0 表示缺失或请求失败。不要对该包内容 URL 使用 curl --head,Azure Artifacts 会返回 HTTP 405。若版本在 dotnet-public 中则不改 NuGet.config;若不在但 NuGet.org 上有,需报告差异并询问是否临时使用 NuGet.org;若为 alpha 版本,检查 release.yml 成功运行记录并从 .nupkg 产物确认版本,询问用户是否临时配置 alpha 包源。

修改前需向用户展示当前与目标版本、包源可用性、预期验证,并等待批准。升级时只改 eng/packages/General.props 中的集中版本,先还原并构建聚焦的 OpenAI 项目。若出现兼容问题,检查上游发布说明、提交、源码或 issue,报告失败与拟议适配后再改源码,用新 SDK 的预期 API 修复并补充回归测试;仅在验证涉及或修复触及旧变通方案时才重新审视。

集成测试失败需区分:认证、配额、部署和模型可用性属环境问题;可复现的请求/响应转换失败可能是 SDK 或 MEAI 兼容问题。完成报告需列出新旧版本、包源解析情况、兼容失败与 MEAI 适配、变通方案变更、还原/构建/单元测试/集成测试的准确结果、使用的集成环境、服务端预期失败(含状态码与端点)、未运行的验证及原因、最终改动文件。

限制:具体版本、凭据、集成环境与测试结果均取决于实际仓库状态,资料未提供可用的固定值。