Spring AI 初体验:Java 后端也能轻松接大模型
2026-06-15 · 后端开发
作为一个 Java 后端开发者,第一次上手 Spring AI,记录从依赖引入到跑通一个简单对话接口的全过程。
标签:Spring AI、Java、大模型、ChatGPT、Spring Boot
为什么选 Spring AI
我是一个 Java 后端,Spring Boot 是我的吃饭家伙。之前想接大模型,我要么写裸的 HTTP 请求,要么找各种第三方 SDK,体验都不怎么好。
后来发现 Spring 官方出了一个叫 Spring AI 的项目,它把调用大模型这件事做得像调用 JDBC 一样自然。这对我来说简直是刚需。

快速上手
1. 引入依赖
先在 pom.xml 里加上 Spring AI 的依赖。我以 OpenAI 为例:
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-openai-spring-boot-starter</artifactId>
<version>1.0.0-M5</version>
</dependency>
注意版本号会变,最好去官方文档看一下最新的。
2. 配置 API Key
在 application.yml 里加两行配置就完事了:
spring:
ai:
openai:
api-key: ${OPENAI_API_KEY}
chat:
options:
model: gpt-4o
temperature: 0.7
3. 写一个最简单的接口
@RestController
@RequestMapping("/api/ai")
public class SimpleChatController {
private final ChatModel chatModel;
public SimpleChatController(ChatModel chatModel) {
this.chatModel = chatModel;
}
@GetMapping("/chat")
public String chat(@RequestParam String prompt) {
return chatModel.call(prompt);
}
}
启动项目,请求一下,就能拿到大模型的回复。真的就这么简单。
再复杂一点:结构化输出
如果想要大模型返回 JSON,并且你想直接反序列化成 Java 对象,Spring AI 也支持:
public record Recipe(
String name,
List<String> ingredients,
List<String> steps,
Integer cookingTimeMinutes
) {}
RAG 的支持
Spring AI 内置了向量存储的抽象(VectorStore),支持 Pinecone、Chroma、Redis 等。你可以把文档灌进去,然后在对话时自动检索相关内容,再交给大模型生成回答。
核心流程大概是:把文档切块 → 用 EmbeddingModel 转向量 → 存 VectorStore → 查询时先检索最相关的几块 → 拼进 Prompt → 发给大模型。
我的感受
- 对 Java 开发者太友好了:熟悉的 Bean、熟悉的配置,学习成本很低
- 多模型切换方便:换个 starter 就能从 OpenAI 切到 Anthropic、Google Vertex、本地 Ollama
- 生态还在成长:相比于 Python 的 LangChain,功能还没那么全,但够用了
写在最后
作为一个 Java 后端,Spring AI 让我感觉我不用转行也能做 AI 应用。大模型对我来说不再是一个遥不可及的东西,而是一个可以像调用数据库一样调用的工具。