Spring AI + DeepSeek 大模型应用开发实战笔记(2026年最新实践总结)

目前(2026年初)Spring AI 集成国产最强推理模型 DeepSeek(尤其是 DeepSeek-R1DeepSeek-V3)已经非常成熟,主要有以下几种主流打法,按推荐度排序:

排名接入方式优点缺点/限制推荐场景难度
1OpenAI兼容接口(最推荐)配置最简单、切换模型方便、生态最全需要联网,费用(但非常便宜)生产环境、企业项目★☆☆☆☆
2Ollama本地部署完全免费、私有化、无网络依赖硬件要求高、响应速度慢(尤其是大模型)开发测试、内网、隐私要求极高★★★☆☆
3阿里云百炼/硅基流动中转高可用、限速宽松、可选很多模型多了一层转发、偶尔延迟预算充足、追求稳定★★☆☆☆
4Spring AI 官方DeepSeek starter(快照版)原生支持、最优雅目前还是快照版,不够稳定尝鲜党、追求最新特性★★☆☆☆

方式一:最常用、最推荐 – OpenAI兼容模式(硅基流动/DeepSeek官方/阿里百炼)

目前绝大多数生产项目都在用这种方式

spring:
  ai:
    openai:
      # 下面三选一(强烈推荐硅基流动,新用户有超多免费token)
      # 1. 硅基流动(最推荐,性价比最高)
      base-url: https://api.siliconflow.cn/v1
      api-key: sk-xxxxxxxxxxxxxxxxxxxxxxxx   # 2000w免费token
      # 2. DeepSeek官方
      # base-url: https://api.deepseek.com
      # api-key: sk-xxxxxxxxxxxxxxxxxxxxxxxx

      chat:
        options:
          # 目前最强组合(2026年1月主流选择)
          model: deepseek-ai/DeepSeek-R1          # 最强推理(类o1)
          # model: deepseek-ai/DeepSeek-V3         # 最强通用/性价比之王
          # model: deepseek-ai/DeepSeek-R1-Distill-Qwen-32B  # 蒸馏版,速度更快

          temperature: 0.6
          max-tokens: 8192
          top-p: 0.95

最常用代码模板(ChatClient流式写法)

@RestController
@RequestMapping("/ai")
@RequiredArgsConstructor
public class AiController {

    private final ChatClient chatClient;  // Spring AI 自动注入

    // 普通调用
    @GetMapping("/chat")
    public String simpleChat(@RequestParam String msg) {
        return chatClient.prompt()
                .user(msg)
                .call()
                .content();
    }

    // 流式返回(前端打字机效果,必用!)
    @GetMapping(value = "/stream", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
    public Flux<String> streamChat(@RequestParam String msg) {
        return chatClient.prompt()
                .user(msg)
                .stream()
                .content();
    }

    // 带历史记忆(最实用)
    @GetMapping("/memory")
    public String chatWithMemory(@RequestParam String sessionId, @RequestParam String msg) {
        return chatClient.prompt()
                .system("你是一位精通Spring Boot和AI的高级架构师,用结构化markdown回答")
                .user(msg)
                .advisors(
                    MessageChatMemoryAdvisor.builder()
                        .chatMemory(new InMemoryChatMemory())
                        .build()
                )
                .call()
                .content();
    }
}

方式二:本地私有化(Ollama + DeepSeek-R1)——适合内网/演示/毕设

步骤概览(2026最新流程)

  1. 安装 Ollama(官网一键安装)
  2. 拉取模型(显存够就直接上7B,显存少就用1.5B蒸馏版)
ollama run deepseek-r1:1.5b      # 极轻量,1.5B蒸馏版,推理速度快
# 或
ollama run deepseek-r1:7b        # 强推理,推荐16G+显存
  1. Spring Boot 配置(只需改下面几行)
spring:
  ai:
    ollama:
      base-url: http://localhost:11434       # 本机默认
      chat:
        options:
          model: deepseek-r1:1.5b            # 必须与ollama pull的tag一致

R1模型最大亮点:原生思维链(可以看到完整思考过程)

// 让R1把思考过程完整返回(效果非常震撼)
String prompt = """
请用最严谨的逻辑,一步一步思考并解决这个问题:
xxx数学/算法/推理题xxx

请按照以下格式严格输出:
<thinking>
完整的思考过程(多步、自我质疑、验证)...
</thinking>

<answer>
最终答案
</answer>
""";

chatClient.prompt(prompt).call().content();

快速进阶功能对比表(生产必备)

功能实现方式难度推荐指数
流式打字机效果.stream().content()★☆☆★★★★★
会话记忆MessageChatMemoryAdvisor★★☆★★★★★
RAG(知识库问答)+ PGVector / Milvus / Elasticsearch★★★★★★★★☆
Function Calling@Tool / FunctionCallback★★★★★★★☆
Agent(智能体)AiServices.create()★★★★★★★☆☆
结构化输出BeanOutputConverter / Json模式★★★★★★★☆
多模态(图文)目前DeepSeek暂不支持,需等待V3后续★★☆☆☆

2026年一句话总结(最实用组合推荐)

生产环境首选
Spring Boot 3.3+ / Spring AI 1.0+

  • 硅基流动/DeepSeek官方 OpenAI兼容接口
  • deepseek-ai/DeepSeek-R1(复杂推理) / DeepSeek-V3(万能)
  • ChatClient流式 + MemoryAdvisor + 结构化输出

演示/学习/内网
Ollama + deepseek-r1:7b(或1.5b)

  • Spring AI Ollama starter

需要我针对某个具体场景(智能客服、RAG知识库、代码生成、Agent工具调用、结构化输出…)给出更详细的代码模板吗?
直接告诉我你的需求方向~ 😄

文章已创建 3855

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部