# 如何不改应用代码切换 LLM 模型？

> 保持 SDK 与网关 Base URL 稳定，把 canonical 模型 ID 放在环境或部署配置中。只要两个模型支持相同路由且评测验证了必要行为，就能在不发布代码的情况下提升或回滚 ID。

_最后复核 2026-08-15 · [编辑复核](https://keeprouter.com/editorial-policy#editorial-team)_

## 配置模式

```text
LLM_BASE_URL=https://keeprouter.com/v1
LLM_MODEL=approved-canonical-id
KEEPROUTER_KEY=sk-kr-...
```

用这些值构造一次客户端，不要把模型 ID 分散在提示词、UI 组件和重试分支中。为 primary、candidate 与 rollback 维护一份经过审查的映射。

## 前提是路由兼容

两个 ID 都必须能通过代码所用操作调用。Chat Completions、Responses、Messages、向量和图像生成是不同路由契约。检查模型页并测试准确请求形态，包括流式、工具、图像 block、推理字段和结构化输出。

## 提升检查清单

- 用同一代表性负载和通过标准运行。
- 比较工具与流行为，而不仅是纯文本。
- 设置最大输出，并按实测用量计算费用。
- 修改配置 ID 前更新 Key 白名单。
- 分阶段修改、监控失败和任务结果，再扩大范围。
- 保留旧 ID 与配置作为已测试回滚。

## 不应悄悄发生什么

不要 fallback 到未经评估的模型、把 Key 扩展到整个目录，或在没有产品决策时接受更高成本上限。若供应商在稳定 ID 背后滚动更新版本，即使配置没变也应持续监控质量。

## 不改代码的切换仍是一次发布

配置变化也会改变用户可见输出和消费。应把提升当作有负责人、日期、证据、可观测与回滚的发布，而不是随手修改环境变量。

使用[什么是 LLM 路由](/zh/answers/what-is-llm-routing)记录资格与回退策略，并在提升时查看[实时模型目录](/models)，不要把模型可用性复制进静态配置说明。

## 常见问题

### 只改模型 ID 总是够吗？

不够。只有新模型支持同一路由并通过应用行为测试时才够。

### 回滚配置应放在哪里？

把旧的批准 ID 与 Key 策略保留在经过审查的配置中，并测试启用流程。

### 网关应自动选择任意 fallback 吗？

只应使用应用明确批准且可观测的 fallback。

### 稳定模型 ID 的行为会变化吗？

会。厂商可能更新稳定可调用 ID 背后的滚动版本，因此需要持续评估。

## 参考的一手资料

1. [KeepRouter model catalog](https://keeprouter.com/models)
2. [KeepRouter OpenAPI](https://keeprouter.com/api/openapi.json)

## 继续阅读

- [模型路由](https://keeprouter.com/zh/features/model-routing.md)
- [OpenAI 兼容 API 迁移清单](https://keeprouter.com/zh/blog/openai-compatible-api-migration-checklist.md)
- [工程团队](https://keeprouter.com/zh/built-for/engineering-teams.md)
- [models](https://keeprouter.com/models.md)

## 用线上产品验证答案

查看实时模型目录，创建限定 free 模型的 Key，并检查生成的请求证据。

[创建免费 Key](https://keeprouter.com/login?returnTo=%2Fconsole%2Fkeys%3Fmodel%3Dfree) · [实时模型与价格](https://keeprouter.com/models.md)
