在 Spring Boot 项目中使用 Spring AI 接入本地已经部署好的 Ollama + Qwen3-72B 模型。
🧩 一、准备工作
✅ 前提条件:
- Ollama 已安装并运行在本地(默认端口
11434
) - Qwen3-72B 已通过 Ollama 安装或加载
- Java 环境(JDK 17+)
- Maven 或 Gradle 构建工具
- Spring Boot 项目基础环境
📦 二、添加依赖
Spring AI 是一个正在快速发展的项目,目前需要使用其最新快照版本或者官方发布版本。
如果使用 Maven,在 pom.xml
中添加如下依赖:
<dependencies>
<!-- Spring AI BOM -->
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-bom</artifactId>
<version>1.0.0-M8</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- Spring AI Starter Ollama -->
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-model-ollama</artifactId>
<version>1.0.0-M8</version>
</dependency>
<!-- web-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>3.4.5</version>
</dependency>
</dependencies>
⚠️ 注意:如果使用的是较旧的 Spring Boot 版本,请确保与 Spring AI 的兼容性。建议使用 Spring Boot 3.x + JDK 17+
🛠️ 三、配置 Ollama 客户端
在 application.properties
或 application.yml
中添加配置:
# 配置 Ollama 服务地址
spring.ai.ollama.base-url=http://localhost:11434
🧠 四、编写代码调用 Qwen3-72B
创建一个简单的 Service 来调用模型:
示例:Qwen3Service.java
import org.springframework.ai.model.Model;
import org.springframework.ai.ollama.OllamaChatModel;
import org.springframework.ai.prompt.Prompt;
import org.springframework.ai.prompt.messages.UserMessage;
import org.springframework.stereotype.Service;
@Service
public class Qwen3Service {
@Autowired
private OllamaChatModel ollamaChatModel;
@Override
public Flux<String> stream(ChatDTO chatDTO) {
if (chatDTO.model() == null) {
throw new IllegalArgumentException("model不能为空");
}
String model = chatDTO.model();
ChatOptions options = OllamaOptions.builder()
.model(model)
.build();
String contents = chatDTO.message();
Prompt prompt = Prompt.builder()
.chatOptions(options)
.content(contents)
.build();
return ollamaChatModel.stream(prompt)
.map((response) -> response.getResult() != null && response.getResult().getOutput() != null && response.getResult().getOutput().getText() != null ? response.getResult().getOutput().getText() : "");
}
}
🧪 五、测试调用
创建一个 Controller 测试接口:
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/api/ai")
public class Qwen3Controller {
private final Qwen3Service qwen3Service;
public Qwen3Controller(Qwen3Service qwen3Service) {
this.qwen3Service = qwen3Service;
}
@RequestMapping(value = "/chat")
public Flux<String> chat(@Valid @RequestBody ChatDTO chatDTO) {
return qwen3Service.stream(chatDTO);
}
}
启动 Spring Boot 应用后访问:
http://localhost:8080/api/ai/chat
📊 六、完整流程图
Spring Boot App → Spring AI → Ollama API → Qwen3-72B 模型 → 返回结果
📝 补充说明
-
Ollama 模型需提前加载,在终端执行过:
ollama run qwen3
-
如果你使用的是 GPU 加速版本,确保 Ollama 使用了 CUDA 支持的模型格式(如 GGUF + CUDA)
-
Spring AI 目前还在演进中,建议关注 Spring AI GitHub
✅ 总结
步骤 | 内容 |
---|---|
1 | 添加 Spring AI 和 Ollama 依赖 |
2 | 配置 Ollama 服务地址 |
3 | 编写 Service 调用模型 |
4 | 编写 Controller 提供 REST 接口 |
5 | 浏览器或 Postman 测试接口 |