基于 Spring Boot 的大模型集成入门:Spring AI 实践
本文介绍了如何使用Spring AI快速集成大语言模型服务。主要内容包括:创建Spring Boot项目、添加Spring AI依赖、配置API密钥(以OpenAI为例)、编写简单的AI接口控制器。文章还提供了进阶技巧(系统指令、流式响应)和学习资源。通过5个步骤即可完成从项目搭建到AI调用的完整流程,适合Java/Spring开发者快速上手AI集成开发。
🌱 什么是 Spring AI?
Spring AI 是 Spring 官方推出的一个实验性项目,旨在为 Java/Spring 开发者提供统一、简洁的 API,用于集成各类大语言模型(LLM)服务(如 OpenAI、Azure OpenAI、Google Vertex AI、Hugging Face、Ollama 等)。
🛠️ 第一步:创建项目
1. 使用 Spring Initializr
访问 https://start.spring.io,配置如下:
- Project: Maven 或 Gradle
- Language: Java
- Spring Boot: 3.4.x 或更高
- Dependencies:
Spring Web- (可选)
Spring Configuration Processor
点击 Generate 下载项目并解压。
📦 第二步:添加 Spring AI 依赖
Maven(pom.xml)
<properties>
<spring-ai.version>1.0.3</spring-ai.version>
</properties>
<dependencies>
<!-- Spring AI 核心 -->
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-core</artifactId>
<version>${spring-ai.version}</version>
</dependency>
<!-- 以 OpenAI 为例 -->
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-openai-spring-boot-starter</artifactId>
<version>${spring-ai.version}</version>
</dependency>
</dependencies>
💡 如果你使用 Ollama(本地模型),请替换为:
<dependency> <groupId>org.springframework.ai</groupId> <artifactId>spring-ai-ollama-spring-boot-starter</artifactId> <version>${spring-ai.version}</version> </dependency>
🔑 第三步:配置 API 密钥
使用 OpenAI(推荐先试这个)
- 去 OpenAI 平台 申请 API Key。
- 在项目根目录创建
application.yml:
# src/main/resources/application.yml
spring:
ai:
openai:
api-key: ${OPENAI_API_KEY}
model: gpt-3.5-turbo # 可选,默认就是这个
- 设置环境变量(不要写在代码里!):
# Linux / macOS
export OPENAI_API_KEY='your-api-key-here'
# Windows (PowerShell)
$env:OPENAI_API_KEY = "your-api-key-here"
💬 第四步:编写第一个 AI 接口
创建控制器 AiController.java:
// src/main/java/com/example/demo/AiController.java
package com.example.demo;
import org.springframework.ai.chat.client.ChatClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class AiController {
private final ChatClient chatClient;
// Spring Boot 会自动注入 ChatClient.Builder
public AiController(ChatClient.Builder chatClientBuilder) {
this.chatClient = chatClientBuilder.build();
}
@GetMapping("/ai")
public String ask(@RequestParam(defaultValue = "你好") String message) {
return chatClient
.prompt()
.user(message)
.call()
.content();
}
}
▶️ 第五步:运行并测试
-
启动应用:
./mvnw spring-boot:run -
访问接口:
http://localhost:8080/ai?message=李白是谁? -
你会看到类似这样的响应:
李白(701年-762年),字太白,号青莲居士,唐代伟大的浪漫主义诗人,被后人誉为“诗仙”……
✅ 恭喜!你已经成功调用 AI 了!
🌟 进阶小技巧
1. 添加系统指令(System Prompt)
@GetMapping("/poem")
public String poem(@RequestParam String topic) {
return chatClient
.prompt()
.system("你是一个诗人,请用中文写一首关于 {topic} 的七言绝句。")
.user("主题是:{topic}")
.call()
.content();
}
2. 流式响应(SSE)
@GetMapping(value = "/stream", produces = "text/event-stream")
public Flux<String> stream(@RequestParam String message) {
return chatClient
.prompt()
.user(message)
.stream()
.map(response -> response.content() + "\n");
}
📚 学习资源
✅ 总结
| 步骤 | 内容 |
|---|---|
| 1️⃣ | 创建 Spring Boot 项目 |
| 2️⃣ | 添加 Spring AI + 模型提供商依赖 |
| 3️⃣ | 配置 API Key(通过环境变量) |
| 4️⃣ | 注入 ChatClient 并调用 .prompt().user(...).call() |
| 5️⃣ | 启动测试! |
🙌 感谢你读到这里!
🔍 技术之路没有捷径,但每一次阅读、思考和实践,都在悄悄拉近你与目标的距离。
💡 如果本文对你有帮助,不妨 👍 点赞、📌 收藏、📤 分享 给更多需要的朋友!
💬 欢迎在评论区留下你的想法、疑问或建议,我会一一回复,我们一起交流、共同成长 🌿
🔔 关注我,不错过下一篇干货!我们下期再见!✨
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)