全网最火!2025最新 Spring AI 零基础保姆级教程:从本地 Llama 到 OpenAI 极简实战
摘要:SpringAI让Java开发者轻松集成AI功能,支持OpenAI、Ollama等模型。文章介绍了SpringAI的优势(统一抽象、原生集成)、环境准备(JDK17+、SpringBoot3.2+),并演示了3分钟搭建AI对话系统的步骤:添加依赖、配置模型、编写Controller。还展示了如何切换至OpenAI,并展望了RAG、FunctionCalling等进阶功能。SpringAI为J
今天我们不聊虚的,直接手把手带你玩转 Spring AI。
以前我们开发 AI 应用总觉得 Python 是唯一选择,但现在,Spring AI 的出现彻底改写了游戏规则。它让 Java 开发者能像调用普通 Service 一样,优雅地集成 OpenAI、Ollama、甚至本地的大模型。
一、 为什么选 Spring AI?
-
统一抽象:换个模型只需改一行配置,代码不用动。
-
原生集成:完美契合 Spring Boot 生态(自动装配、流式输出、函数调用)。
-
本地+云端双修:既能白嫖本地的 Ollama (Llama 3/DeepSeek),也能对接 OpenAI/Claude。
二、 核心环境准备
-
JDK 17+(Spring AI 的强制要求)。
-
Spring Boot 3.2+。
-
Ollama(如果你想在本地免费跑模型,请去 ollama.com 下载并运行
ollama run llama3.1)。
三、 实战:3分钟搭建 AI 对话系统
1. 引入依赖 (pom.xml)
我们需要添加 Spring AI 的仓库和 Starter。
<dependencies>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-ollama-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots><enabled>false</enabled></snapshots>
</repository>
</repositories>
2. 核心配置 (application.yml)
只需几行,告诉 Spring 连哪个模型。
spring:
ai:
ollama:
base-url: http://localhost:11434
chat:
options:
model: llama3.1 # 或者 deepseek-r1
temperature: 0.7 # 随机性,越大越有创意
3. 编写 Controller 代码
这是最爽的地方——ChatClient 就像 RestTemplate 一样简单。
@RestController
public class AiController {
private final ChatClient chatClient;
// 使用 Builder 模式构建,方便后续添加 Memory (记忆) 或 Tools (工具)
public AiController(ChatClient.Builder builder) {
this.chatClient = builder.build();
}
/**
* 普通对话:输入问题,直接返回答案
*/
@GetMapping("/chat")
public String chat(@RequestParam String message) {
return chatClient.prompt()
.user(message)
.call()
.content();
}
/**
* 流式对话 (SSE):像 ChatGPT 一样一个字一个字蹦出来
*/
@GetMapping(value = "/stream", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
public Flux<String> streamChat(@RequestParam String message) {
return chatClient.prompt()
.user(message)
.stream()
.content();
}
}
四、 进阶:如何集成 OpenAI?
如果你有 API Key,只需把依赖换成 spring-ai-openai-spring-boot-starter,然后在配置文件中设置:
spring:
ai:
openai:
api-key: ${OPENAI_API_KEY}
chat:
options:
model: gpt-4o
代码一行都不用改! 这就是 Spring AI 抽象层的强大之处。
五、 总结与展望
通过上面的代码,你已经实现了一个高性能的 AI 接口。Spring AI 还能做更多:
-
RAG (检索增强生成):读取你的 PDF、数据库,让 AI 回答私有知识。
-
Function Calling:让 AI 自动调用你的 Java 方法(比如查天气、查库存)。
-
Multimodal:图片识别、音频转文字。
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)