最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
AI 应用开发第一步:用 Spring Boot 接入 DeepSeek
时间:2026-09-15 08:06:01 编辑:袖梨 来源:一聚教程网
对 Java 开发者而言,进入 AI 应用开发并不一定要先研究模型训练。更直接的起点,是把大模型视为一种可通过 HTTP 调用的外部能力:由 Spring Boot 组织提示词和上下文,请求 DeepSeek API,再将生成结果返回给业务端。沿着这条链路,也能逐步理解应用层最常见的几个核心概念。
AI 应用开发 Day 1:从 Spring Boot 调用 DeepSeek 开始
最近开始系统学习 AI 应用开发。
作为一个有多年 Java + React 开发经验的程序员,我并不打算走模型训练、算法研究路线,而是希望成为能够将大模型能力集成到企业系统中的 AI 应用工程师。
因此 Day 1 的目标非常明确:
跑通 Spring Boot 调用大模型 API,理解 AI 应用开发最核心的几个概念。
今日目标
实现下面这条链路:
Postman
↓
Spring Boot
↓
DeepSeek API
↓
返回模型回答
同时理解以下几个核心概念:
- LLM
- Token
- Context
- Prompt
- Structured Output
什么是 LLM?
LLM(Large Language Model,大语言模型)本质上是一个根据上下文预测下一个 Token 的模型。
它通过海量文本训练后,具备了理解和生成自然语言的能力。
对于应用开发者来说,我们更多是通过 API 调用大模型,实现:
- 智能问答
- 内容生成
- 数据分析
- 工作流自动化
而不是自己训练模型。
从工程角度理解,可以把它看成:
String answer = llm.generate(context);
什么是 Token?
Token 是模型处理文本的最小单位。
它不一定等于一个字符,也不一定等于一个单词。
例如:
你好,我是Java程序员
可能被拆分为多个 Token。
对于开发者来说,Token 主要影响:
- API 调用成本
- 上下文长度
- 响应速度
因此实际项目中需要关注:
- Prompt 是否过长
- 历史消息是否过多
- Token 是否超出模型限制
什么是 Context?
Context(上下文)是模型当前能够看到的全部信息。
通常包括:
- System Prompt
- 历史对话
- 当前用户问题
- RAG 检索结果
- Tool 调用结果
例如:
[ { "role": "system", "content": "你是Java架构师" }, { "role": "user", "content": "什么是Spring Boot" }, { "role": "assistant", "content": "Spring Boot是..." }, { "role": "user", "content": "它和Spring有什么区别" }]
这整个消息数组就是 Context。
AI 能够进行多轮对话,并不是因为它真的记住了用户,而是因为每次请求都会把相关历史消息重新发送给模型。
什么是 Prompt?
Prompt 就是给模型的指令。
例如:
你是一位资深Java架构师。
请用初学者能够理解的方式回答问题。
这就是一个 Prompt。
Prompt 会影响:
- 回答风格
- 回答长度
- 回答格式
- 回答角色
在企业项目中:
- 客服助手
- 销售助手
- ERP助手
- MES助手
本质上都是:
Prompt
+
业务数据
System Prompt 和 User Prompt 的区别
System Prompt:
你是Java架构师
用于定义模型角色和行为规则。
User Prompt:
什么是Redis?
用于表达用户当前需求。
通常情况下:
System Prompt
优先级
>
User Prompt
因此企业项目经常使用 System Prompt 固定模型身份。
例如:
- 客服助手
- 企业知识库助手
- 销售顾问助手
等等。
什么是 Structured Output?
Structured Output 指让模型按照固定的数据结构返回结果。
最常见的是 JSON。
普通回答:
上海是中国最大的经济中心...
程序难以处理。
更好的方式:
{
"city": "上海",
"population": 2480,
"level": "直辖市"
}
这样程序就可以直接解析。
在以下场景中非常常见:
- AI报表
- Agent
- Tool Calling
- 工作流系统
- 企业知识库
五个概念之间的关系
可以用下面这张图理解:
用户问题
↓
Prompt
↓
Context
↓
LLM
↓
生成Token
↓
输出结果
实战:Spring Boot 调用 DeepSeek
Day 1 的重点不是研究模型原理,而是亲手调用一次大模型接口。
项目结构:
ai-learning
├── controller
├── service
├── dto
└── config
实现接口:
POST /api/chat
请求:
{
"message":"什么是Redis"
}
服务端:
Controller
↓
Service
↓
DeepSeek API
↓
返回结果
最终成功返回:
{
"answer":"Redis是一种基于内存的高性能Key-Value数据库..."
}
至此,完成了从 Spring Boot 到大模型 API 的完整调用链路。
为什么 AI Chat 本质上是一次 HTTP API 调用?
这是今天最大的收获。
AI 应用开发中,大模型通常通过 HTTP API 的形式提供服务。
客户端将 Prompt 和 Context 组织成 messages 发送给模型。
模型根据上下文生成 Token,并返回结果。
因此从工程角度看:
AI Chat 本质上就是一次特殊的 HTTP API 调用。
与普通接口最大的区别只是:
普通接口返回业务数据。
例如:
{
"temperature": 30
}
而 AI 接口返回模型生成内容:
{
"answer":"Redis是一种基于内存的数据库..."
}
Day 1 总结
今天完成了:
- 理解 LLM
- 理解 Token
- 理解 Context
- 理解 Prompt
- 理解 Structured Output
- 获取 DeepSeek API Key
- Spring Boot 调用 DeepSeek API
- 成功返回模型回答
从今天开始,AI 对我来说不再是一个神秘的黑盒。
它首先是:
HTTP API
其次才是:
Prompt
+
Context
+
LLM
下一步计划学习:
Spring Boot
↓
SSE
↓
Streaming
↓
React Chat UI
实现类似 ChatGPT 的逐字输出效果。