从厂商 SDK 迁移到兼容端点:分步操作指南
从厂商 SDK 迁移到兼容端点,建议先把目标限定为:更换请求入口,尽量保留业务代码。不要在同一次发布中同时升级 SDK、更换模型、重写提示词。将这些变更分开,才能在出现问题时判断原因。
§ 第一步:列出当前调用的接口
先找到客户端初始化位置,再整理实际使用的请求方法、模型标识和响应字段。选取一条已经稳定运行的请求,保存脱敏后的输入、输出及耗时,作为迁移基线。
- 基础调用:单轮文本、多轮对话,以及系统指令的传递方式。
- 扩展功能:流式输出、工具调用、结构化输出、图片输入。
- 运行设置:超时、重试、代理、并发限制和日志记录。
将必须保留的能力列为验收项。暂未使用的接口不必一并迁移;先缩小范围,再逐项扩展。
§ 第二步:选择协议,而不是先替换 SDK
Vana API 提供 OpenAI 兼容入口,也支持 Anthropic Messages 和 Gemini 原生协议。配置时需要区分基础地址与版本路径:OpenAI 风格客户端使用域名后的 /v1,Gemini 原生请求使用 /v1beta;部分工具会自行补齐路径。不要把同一段完整路径直接复制到所有客户端。([vanaapi.com](https://vanaapi.com/))
若现有应用已经使用 OpenAI SDK,优先保留它。若准备从其他厂商的 SDK 改用 OpenAI SDK,则应把消息结构和响应解析的调整视为另一项工作,不能只修改地址就结束。
§ 第三步:分离地址、密钥与模型配置
请先创建一个 Vana API 账户,为测试环境准备独立密钥。将新入口、新密钥和模型标识放入部署配置,不要覆盖生产环境的旧配置。密钥应保存在服务端的环境变量或密钥管理服务中,避免写进源代码;OpenAI 官方 Python SDK 文档也建议通过环境配置读取密钥。([developers.openai.com](https://developers.openai.com/api/reference/python?utm_source=openai))
以 Python 为例,可以通过客户端的 base_url 参数或 OPENAI_BASE_URL 环境变量指定基础地址,再通过 api_key 参数传入对应密钥。选择一种配置来源即可,避免环境变量与初始化参数分别指向不同服务。([developers.openai.com](https://developers.openai.com/api/reference/python?utm_source=openai))
模型名称与请求标识也要分开处理。例如,选择 Gemini 3.1 Pro 后,应复制服务提供的准确请求标识,不要自行根据展示名称拼写。该模型在 Vana API 的公开模型列表中列出。([vanaapi.com](https://vanaapi.com/))
§ 第四步:先跑通最小请求
在测试分支中,只修改客户端配置与模型标识。发送一句简短提示,关闭流式输出,暂不添加工具、图片或可选采样参数。确认请求成功后,检查业务代码是否仍能读取到文本,而不只是检查状态码。
- 核对地址:确认使用加密连接,且版本路径没有遗漏或重复。
- 核对鉴权:确认新密钥只发送到新入口,日志中不出现完整密钥。
- 核对接口:确认当前调用的方法属于接入方明确支持的接口。
- 核对结果:记录文本、结束原因、用量字段和请求耗时。
将这次成功请求保存为可重复执行的冒烟测试,后续每增加一项功能,都先确认基础链路仍然正常。
§ 第五步:逐项恢复业务能力
按照第一步的清单,依次恢复多轮对话、流式输出和工具调用。每轮只增加一个变量。测试流式场景时,检查增量文本拼接、正常结束和中途断开;测试工具调用时,检查参数解析、工具结果回传,以及工具执行失败后的处理。
兼容性应以实际验收为准。不要只比较回答措辞,而应检查结构化结果能否解析、工具参数是否完整、必填字段是否缺失。涉及外部操作的工具,先使用无副作用的测试替身,避免重复发送消息或重复写入数据。
同时检查重试设置。OpenAI Python SDK 会自动重试部分连接和服务错误,并允许通过 max_retries 调整次数。若应用外层也有重试,应统一重试预算,避免多层重试拉长响应时间。([developers.openai.com](https://developers.openai.com/api/reference/python?utm_source=openai))
§ 第六步:小流量切换并保留回滚
验收通过后,先切换少量请求,观察成功率、首段响应时间、完整响应时间与实际费用。沿用相同测试输入进行比较,同时记录协议、模型标识和配置版本,便于定位差异。
保留旧客户端配置,并设置明确的回滚条件,例如错误率持续升高或关键输出无法解析。不要默认把失败请求自动转发给另一家服务;先确认数据处理要求允许这样做。待观察期结束,再移除旧配置与不再需要的依赖。
迁移完成的标志不是收到一次成功响应,而是业务验收项全部通过、异常可以定位、流量能够回滚。将端点配置与业务逻辑分离,下一次调整入口时,就能沿用这套步骤,而不必重新改写整个应用。