重要提醒

DeepSeek官方已经明确:

deepseek-chat
deepseek-reasoner

将在北京时间 2026年7月24日23:59 停止服务。

截至2026年7月17日,距离停止服务只剩一周。仍在生产环境使用旧模型名的项目,应立即检查配置、代码、数据库、Prompt平台和网关路由。

新模型名为:

deepseek-v4-flash
deepseek-v4-pro

一、旧模型名当前到底指向什么

在兼容期内:

deepseek-chat
→ deepseek-v4-flash非思考模式

deepseek-reasoner
→ deepseek-v4-flash思考模式

旧模型名虽然暂时还能调用,但已经只是兼容别名。7月24日之后,这两个名称会不可访问。


二、应该迁移到Flash还是Pro

deepseek-v4-flash

适合:

  • 智能客服;
  • 普通聊天;
  • 摘要;
  • 信息抽取;
  • 查询改写;
  • RAG回答;
  • 批量任务;
  • 高并发接口。

deepseek-v4-pro

适合:

  • 复杂推理;
  • 高难度代码;
  • 多步骤Agent;
  • 专业报告;
  • 复杂数据分析;
  • 对准确率要求更高的任务。

不要简单把所有旧模型统一替换成Pro。正确策略是:

高并发普通任务 → Flash
复杂高价值任务 → Pro

三、最小迁移修改

原配置:

spring:
  ai:
    deepseek:
      chat:
        model: deepseek-chat

改为:

spring:
  ai:
    deepseek:
      chat:
        model: deepseek-v4-flash

旧推理模型:

model: deepseek-reasoner

不能机械认为必须改成Pro。应根据任务决定:

model: deepseek-v4-flash

或:

model: deepseek-v4-pro

思考模式与模型档位是两个维度,应按照官方当前API配置方式单独管理。


四、全局搜索旧模型名

Linux/macOS:

grep -R "deepseek-chat" .
grep -R "deepseek-reasoner" .

Git:

git grep "deepseek-chat"
git grep "deepseek-reasoner"

PowerShell:

Get-ChildItem -Recurse -File |
  Select-String "deepseek-chat|deepseek-reasoner"

重点检查:

  • application.yml
  • .env
  • Docker Compose;
  • Kubernetes ConfigMap;
  • Helm values;
  • Nacos、Apollo等配置中心;
  • 数据库模型配置表;
  • Prompt管理平台;
  • 模型网关;
  • 定时任务;
  • 测试脚本;
  • CI/CD变量;
  • 前端模型列表。

五、不要把模型名写死在业务代码中

错误:

String model = "deepseek-chat";

推荐:

ai:
  routing:
    default-model: deepseek-v4-flash
    reasoning-model: deepseek-v4-pro

配置对象:

@ConfigurationProperties(prefix = "ai.routing")
public record AiRoutingProperties(
        String defaultModel,
        String reasoningModel
) {
}

业务层只表达任务类型:

modelRouter.chat(TaskType.NORMAL, prompt);

由路由层决定具体模型名称。


六、迁移前必须做回归测试

1. 普通问答

检查:

  • 回答长度;
  • 指令遵循;
  • 中文表达;
  • 敏感内容处理。

2. JSON结构化输出

检查:

  • 是否返回合法JSON;
  • 字段是否缺失;
  • 枚举值是否正确;
  • 数字和日期格式;
  • 是否夹带Markdown代码块。

3. Tool Calling

检查:

  • 工具选择;
  • 参数完整性;
  • 参数类型;
  • 多工具调用顺序;
  • 是否重复调用。

4. RAG

检查:

  • 是否引用检索内容;
  • 是否忽略无关文档;
  • 是否生成不存在的事实;
  • 引用编号是否正确。

5. 流式输出

检查:

  • 首Token延迟;
  • Chunk格式;
  • 中断处理;
  • 网关兼容;
  • 错误事件。

七、灰度发布方案

推荐:

阶段1:测试环境验证
阶段2:1%内部流量
阶段3:10%普通用户
阶段4:50%流量
阶段5:100%切换
阶段6:保留短期回滚配置

观察:

  • HTTP错误率;
  • 模型错误码;
  • 平均延迟;
  • 首Token延迟;
  • 输入输出Token;
  • 工具调用成功率;
  • 用户负反馈;
  • 单次任务成本。

旧名称停止服务后无法依赖旧别名回滚,真正的回滚方案应是备用模型、备用厂商、本地模型、缓存答案或人工流程。


八、Spring AI项目迁移

spring:
  ai:
    model:
      chat: deepseek
    deepseek:
      api-key: ${DEEPSEEK_API_KEY}
      chat:
        model: deepseek-v4-flash

依赖:

    org.springframework.ai
    spring-ai-starter-model-deepseek

单次请求使用Pro:

chatClient.prompt()
        .user(prompt)
        .options(
                DeepSeekChatOptions.builder()
                        .model("deepseek-v4-pro")
                        .build()
        )
        .call()
        .content();

九、迁移检查清单

□ 搜索全部旧模型名
□ 修改本地配置
□ 修改测试环境配置
□ 修改生产配置中心
□ 检查数据库模型表
□ 检查模型网关路由
□ 检查Prompt平台
□ 检查定时任务
□ 检查Docker与Kubernetes
□ 完成普通问答测试
□ 完成JSON输出测试
□ 完成Tool Calling测试
□ 完成RAG测试
□ 完成流式接口测试
□ 统计延迟和Token变化
□ 灰度发布
□ 设置备用模型
□ 在7月24日前完成全量切换

总结

这次迁移的核心不是简单替换字符串,而是检查企业AI系统是否具备:

  • 模型配置集中管理;
  • 任务级模型路由;
  • 自动化回归测试;
  • 灰度发布;
  • 备用模型;
  • 成本和质量监控。

仍在使用旧模型名的项目,应在 2026年7月24日23:59前 完成切换。