deepseek-chat / deepseek-reasoner 报 404 了?7 月 24 日别名已经下线
数据截至 2026-07,模型标识与接口以 DeepSeek 官方文档 api-docs.deepseek.com 为准。
如果你的服务从 7 月 24 日下午开始突然报模型不存在,先别查网络也别查密钥——deepseek-chat 和 deepseek-reasoner 这两个名字已经彻底下线了。 官方给的时间点是 2026 年 7 月 24 日 15:59 UTC,之后这两个字符串不再解析,没有过渡别名,也没有软跳转。
这篇讲三件事:换成什么、有个容易踩的映射坑、以及怎么把项目里散落的旧名字一次排查干净。
一、先搞清楚它们本来就不是模型
很多人以为 deepseek-chat 是一个模型、deepseek-reasoner 是另一个模型。其实这两个从来都是路由标签,不是具体模型:
deepseek-chat指向当代模型的非思考模式deepseek-reasoner指向同一个模型的思考模式
DeepSeek 在 2026 年 4 月 24 日发布 V4(Flash 和 Pro 两档),给了 90 天迁移窗口,窗口期内这两个别名指向的是 deepseek-v4-flash 的非思考模式和思考模式。7 月 24 日窗口关闭,兼容层被移除。
理解这一点很重要,因为它直接决定了下面那个坑。
二、换成什么:只剩两个显式标识
现在能被解析的只有:
deepseek-v4-flashdeepseek-v4-pro
这里是最容易踩的坑:deepseek-reasoner 过去映射的是 Flash,不是 Pro。
所以如果你想当然地把 deepseek-reasoner 直接换成 deepseek-v4-pro,你改的不只是一个名字——成本和延迟画像都变了,Pro 比 Flash 贵也慢。反过来,如果你之前就是冲着 reasoner 的思维链质量去的,直接换成 Flash 又可能感觉效果掉了。
正确的做法是分两步:
- 先换成
deepseek-v4-flash并开启思考模式,这才是行为等价的迁移,先保证线上不出事。 - 换完之后跑一遍你自己的评测样本。如果确实感觉推理质量下降,再单独把这部分调用升到
deepseek-v4-pro(同样开思考),而不是一刀切全升。
一刀切升 Pro 最典型的后果是月底账单翻倍,而效果提升可能并不在你真正在意的那些任务上。
三、把旧名字一次排查干净
模型名这种字符串最烦的地方是它会藏在你想不到的地方。按这个顺序查一遍:
1. 代码里的硬编码。 全仓搜一遍,注意别只搜引号包起来的:
grep -rn "deepseek-chat\|deepseek-reasoner" . \
--exclude-dir=node_modules --exclude-dir=.git
2. 环境变量和配置文件。 .env、.env.production、K8s 的 ConfigMap、Docker Compose、CI 的 secrets——这些地方的模型名不会被代码搜索扫到,但线上跑的是它们。
3. SDK 默认值。 有些封装库把 deepseek-chat 写成了默认模型,你的代码里根本没出现过这个字符串,但请求发出去就是它。升级一下依赖,或者显式传模型名把默认值盖掉。
4. Claude Code / Cline 这类工具的配置。 如果你把 DeepSeek 接进了编码 Agent,配置文件里的模型 ID 同样要改。这里还有个额外的坑:DeepSeek 的 Anthropic 格式接口文档提到,不被支持的模型名可能会被自动映射到 deepseek-v4-flash——也就是说你的 Claude Code 可能不报错,但悄悄一直在用 Flash,而你以为自己在用 Pro。
5. 用官方接口验一遍,别信抄来的片段。 上线前在预发环境调一次 GET /models,拿到当前真实可用的标识列表再对照。这比翻博客靠谱得多——网上大量教程还停在旧名字上。
四、按客户端分别说改哪里
不同的接入方式,模型名藏的位置不一样。挑你在用的那几条看:
OpenAI SDK 直调。 最简单,改 model 参数:
resp = client.chat.completions.create(
model="deepseek-v4-flash", # 原来是 deepseek-chat
messages=[...],
)
如果原来用的是 deepseek-reasoner,除了改名字,还要确认思考模式是怎么开的——过去是靠模型名隐含的,现在要显式指定,具体参数以官方文档为准。
LangChain / LlamaIndex 这类框架。 模型名通常在初始化时传,但要小心两处:一是框架自己可能有默认值,二是某些封装会把模型名写在 YAML 或 JSON 配置里而不是代码里。搜代码搜不到的时候,去翻配置目录。
Cline / Roo 这类编码 Agent。 在设置面板的 Model ID 一栏改。完整的接入流程可以对照DeepSeek API 怎么接入和在 Cursor 里接入 DeepSeek这两篇,把模型名那一栏换掉即可,其余步骤不变。这里顺带提醒一个和本次下线无关但经常一起踩的坑:这类工具选 OpenAI Compatible 供应商时,Base URL 填 https://api.deepseek.com 就行,不要再往后加 /v1 或 /v1/chat/completions,客户端会自己拼路径,多加了反而连不上。
Claude Code 走 Anthropic 兼容格式。 这条最需要留意,因为它可能不报错。前面提到过,不被支持的模型名会被自动映射到 deepseek-v4-flash。也就是说你的配置里还写着旧名字,程序照常跑,你却以为自己在用 Pro。排查方法是看响应里返回的实际模型标识,别只看自己配了什么。
网关 / 中转服务。 如果你走的是聚合平台,模型名的映射在平台那一侧,你改自己的代码可能没用。这种情况要去平台控制台确认它现在把 deepseek-chat 映射到了哪里,或者干脆改成显式的 v4 标识透传。
五、改之前留个回滚预案
这次是硬下线,没有回滚余地——旧名字不会再回来。但你自己的改动需要预案:
- 先在预发环境改,跑一遍主要业务路径,特别是那些依赖长思维链的任务。
- 灰度而不是全量。先切一小部分流量到
deepseek-v4-flash,观察响应质量和延迟,没问题再全量。 - 把模型名做成可热改的配置,而不是硬编码。这样万一 Flash 在你的场景下确实不行,切到 Pro 不需要重新发版。
- 给模型不存在这类错误加一条独立告警。这次很多团队是靠用户反馈才发现服务挂了,而不是靠监控。模型标识失效属于配置类故障,和限流、超时不是一回事,值得单独拉一条告警出来,下次有类似变更时你能在几分钟内知道,而不是几小时。
六、顺手说一下没发生的那件事
当时和这次下线一起被公告的还有一个高峰时段加价,很多人为此紧张了一阵。实际情况是:别名下线按期执行了,但那个高峰加价没有上线。
所以如果你看到有文章把”7 月 24 日之后 DeepSeek 涨价”当既成事实来讲,那是把两件事混在一起了。定价还是以官方价格页当前版本为准。
五、给未来减少一次同样的麻烦
这次事故的根因不是 DeepSeek 突然改了什么——90 天迁移窗口和变更日志都给了。真正的问题是别名让人产生了”这个名字会一直有效”的错觉。
两条实际可做的:
- 模型名统一收到一处配置,别散在十几个文件里。下次再有变更,改一个地方就完事。
- 别用别名,用显式版本标识。别名的好处是自动跟随新版本,坏处正是这次——你不知道它哪天会停,也不知道它现在到底指向谁。对生产服务来说,可预测比自动更新更重要。
小结
deepseek-chat 和 deepseek-reasoner 在 2026-07-24 15:59 UTC 后不再解析,换成 deepseek-v4-flash 或 deepseek-v4-pro。行为等价的迁移是 reasoner → v4-flash 开思考模式,不是 → v4-pro,别顺手升级把账单搞翻倍。改完记得把 env、CI、SDK 默认值和 Agent 配置一起扫一遍,最后用 GET /models 验一次。
Sources: