SpringAl 基本概念
1. Chat Model(聊天模型)
SpringAl 把不同厂商的大模型统一成一个接口。
OpenAL Gpt
Anthropic Claude
Google Gemini
DeepSeek
通义千问
Ollama本地模型
以前java:
OpenAI API
Claude API
DeepSeek API
现在:
ChatModel
统一调用:
String result = chatClient
.prompt()
.user("介绍一下Spring AI")
.call()
.content();
2. ChatClient(最核心概念)
如果学习 Spring AI,第一个重点就是:
ChatClient
它类似:
- Spring MVC 的 Controller
- WebClient 的调用方式
作用:
负责和大模型聊天
官方把ChatClient定义为一个流式API,用来构造Prompt并调用Al Model。
@Autowired
ChatClient chatClient;
String answer = chatClient
.prompt()
.user("什么是MCP?")
.call()
.content();
用户问题
|
ChatClient
|
Prompt
|
Chat Model
|
GPT/Claude/DeepSeek
|
回答
3. Prompt(提示词)
Prompt 就是给 AI 的输入。
你是一名Java专家
请解释Spring AI
Spring AI 中:
Prompt包含:
- System Message
- User Message
- Assistant Message
.prompt()
.system("你是一名Java专家")
.user("解释Spring AI")
对应:
System:
你是一名Java专家
User:
解释Spring AI
4. Advisor(顾问链)
这是 Spring AI 很重要的设计。
可以理解为:
在调用大模型前后插入一些处理逻辑。
类似 Spring MVC:
Controller
↓
Interceptor
↓
Service
Spring AI:
ChatClient
↓
Advisor
↓
LLM
① Memory Advisor
保存聊天历史:
用户:
你好
AI:
你好
用户:
刚才说什么?
AI:
...
需要记住上下文。
加入 RAG:
用户问题
↓
搜索公司资料
↓
把资料放入Prompt
↓
LLM回答
Spring AI 使用 Advisor 可以组合 RAG 流程。
5. Embedding(向量化)
这是 RAG 基础。
普通文字:
Spring Boot 是Java框架
[0.123,
0.523,
0.912,
...]
成为向量。
6. Vector Store(向量数据库)
存储 embedding。
例如:
PDF文件
↓
切片
↓
Embedding
↓
Vector DB
常见:
- pgvector
- Milvus
- Elasticsearch
- Pinecone
- Chroma
Spring AI 提供统一 Vector Store API。
7. RAG(检索增强生成)
这是企业最常用能力。
全称:
Retrieval Augmented Generation
流程:
用户问题
|
v
Embedding
|
v
向量数据库搜索
|
v
找到相关资料
|
v
拼接Prompt
|
v
LLM生成答案
RAG 不是让 GPT 学会你的资料,而是在回答问题时,临时把相关资料找出来塞给 GPT。
Spring AI 中:
VectorStore= 公司知识库EmbeddingModel= 把问题变成可搜索的向量QuestionAnswerAdvisor= 自动检索并拼 PromptChatClient= 调用大模型生成答案
这就是企业 AI 客服、知识库助手最核心的一套架构。
8. Tool Calling(工具调用)
也叫 Function Calling。
核心:
让 AI 调用你的 Java 方法。
例如:
用户:
查询张三订单
AI:
调用:
orderService.query("张三")
流程:
用户
↓
LLM判断需要工具
↓
调用Java方法
↓
返回结果
↓
LLM生成回答
Spring AI 支持把方法作为 Tool 提供给模型。
例如:
@Tool
public Order queryOrder(String id){
}
9. Agent(智能体)
Agent = LLM + Tool + Memory + Planning
普通 Chat
问
|
答
普通 GPT / Chat和agent对比?
我要买明天上海到北京的火车票。
GPT:
你可以打开12306,输入出发地、目的地,选择日期,然后支付。
它做的是:
用户
|
v
GPT
|
v
文字回答
它只有:
✅ 理解你的问题
✅ 提供建议
✅ 生成文字
但是没有:
❌ 查询实时余票
❌ 登录12306
❌ 创建订单
❌ 支付
像一个“助理”。
你:帮我买明天上海到北京的火车票。
先理解目标:
目标:
买一张上海→北京的车票
然后:
步骤1:
查询明天有哪些车次
步骤2:
查询余票
步骤3:
选择合适车次
步骤4:
创建订单
步骤5:
等待付款
然后调用工具:
例如:
工具1:查票
@Tool
searchTrain(
"上海",
"北京",
"2026-08-04"
)
返回:
G10
08:00 上海虹桥
12:30 北京南
二等座 ¥662
工具2:下订单
@Tool
createOrder(
trainId
)
返回:
订单号:123456
最后:
8Agent:
已找到 G10 次列车:
上海虹桥 08:00 出发,北京南 12:30 到达,二等座 662 元。
是否确认购买?
10. MCP(Model Context Protocol)
你最近问过 MCP,这里结合 Spring AI。
MCP 是:
让 AI 标准化连接外部工具和数据。
以前:
GPT
|
每个系统写一个API
|
ERP
数据库
文件
现在:
AI
|
MCP协议
|
MCP Server
|
各种系统
Spring AI 已经支持 MCP 集成。
