SpringAl 基本概念

📅 2026/8/4 4:15:23 👁️ 阅读次数 📝 编程学习
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= 自动检索并拼 Prompt
  • ChatClient= 调用大模型生成答案

这就是企业 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 集成。