Spring AI + DeepSeek 大模型应用开发实战笔记(2026年最新实践总结)
目前(2026年初)Spring AI 集成国产最强推理模型DeepSeek(尤其是DeepSeek-R1与DeepSeek-V3)已经非常成熟,主要有以下几种主流打法,按推荐度排序:
| 排名 | 接入方式 | 优点 | 缺点/限制 | 推荐场景 | 难度 |
|---|---|---|---|---|---|
| 1 | OpenAI兼容接口(最推荐) | 配置最简单、切换模型方便、生态最全 | 需要联网,费用(但非常便宜) | 生产环境、企业项目 | ★☆☆☆☆ |
| 2 | Ollama本地部署 | 完全免费、私有化、无网络依赖 | 硬件要求高、响应速度慢(尤其是大模型) | 开发测试、内网、隐私要求极高 | ★★★☆☆ |
| 3 | 阿里云百炼/硅基流动中转 | 高可用、限速宽松、可选很多模型 | 多了一层转发、偶尔延迟 | 预算充足、追求稳定 | ★★☆☆☆ |
| 4 | Spring AI 官方DeepSeek starter(快照版) | 原生支持、最优雅 | 目前还是快照版,不够稳定 | 尝鲜党、追求最新特性 | ★★☆☆☆ |
方式一:最常用、最推荐 - OpenAI兼容模式(硅基流动/DeepSeek官方/阿里百炼)
目前绝大多数生产项目都在用这种方式
spring:ai:openai:# 下面三选一(强烈推荐硅基流动,新用户有超多免费token)# 1. 硅基流动(最推荐,性价比最高)base-url:https://api.siliconflow.cn/v1api-key:sk-xxxxxxxxxxxxxxxxxxxxxxxx# 2000w免费token# 2. DeepSeek官方# base-url: https://api.deepseek.com# api-key: sk-xxxxxxxxxxxxxxxxxxxxxxxxchat:options:# 目前最强组合(2026年1月主流选择)model:deepseek-ai/DeepSeek-R1# 最强推理(类o1)# model: deepseek-ai/DeepSeek-V3 # 最强通用/性价比之王# model: deepseek-ai/DeepSeek-R1-Distill-Qwen-32B # 蒸馏版,速度更快temperature:0.6max-tokens:8192top-p:0.95最常用代码模板(ChatClient流式写法)
@RestController@RequestMapping("/ai")@RequiredArgsConstructorpublicclassAiController{privatefinalChatClientchatClient;// Spring AI 自动注入// 普通调用@GetMapping("/chat")publicStringsimpleChat(@RequestParamStringmsg){returnchatClient.prompt().user(msg).call().content();}// 流式返回(前端打字机效果,必用!)@GetMapping(value="/stream",produces=MediaType.TEXT_EVENT_STREAM_VALUE)publicFlux<String>streamChat(@RequestParamStringmsg){returnchatClient.prompt().user(msg).stream().content();}// 带历史记忆(最实用)@GetMapping("/memory")publicStringchatWithMemory(@RequestParamStringsessionId,@RequestParamStringmsg){returnchatClient.prompt().system("你是一位精通Spring Boot和AI的高级架构师,用结构化markdown回答").user(msg).advisors(MessageChatMemoryAdvisor.builder().chatMemory(newInMemoryChatMemory()).build()).call().content();}}方式二:本地私有化(Ollama + DeepSeek-R1)——适合内网/演示/毕设
步骤概览(2026最新流程)
- 安装 Ollama(官网一键安装)
- 拉取模型(显存够就直接上7B,显存少就用1.5B蒸馏版)
ollama run deepseek-r1:1.5b# 极轻量,1.5B蒸馏版,推理速度快# 或ollama run deepseek-r1:7b# 强推理,推荐16G+显存- Spring Boot 配置(只需改下面几行)
spring:ai:ollama:base-url:http://localhost:11434# 本机默认chat:options:model:deepseek-r1:1.5b# 必须与ollama pull的tag一致R1模型最大亮点:原生思维链(可以看到完整思考过程)
// 让R1把思考过程完整返回(效果非常震撼)Stringprompt=""" 请用最严谨的逻辑,一步一步思考并解决这个问题: 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工具调用、结构化输出…)给出更详细的代码模板吗?
直接告诉我你的需求方向~ 😄