Spring AI + Ollama + Qwen3.5,快速搭建一个ai应用
·
零成本,不联网,一台普通办公本就能跑。
你需要准备
-
JDK 17+
-
8GB 以上内存
-
4G以上显卡(虽然ollama可以用cpu,但是token吞吐太慢了)
第一步:装 Ollama,拉模型
ollama.com 下载安装,然后:
ollama pull qwen3.5:0.8b
500MB,几分钟下完。验证一下:
ollama run qwen3.5:0.8b
>>> 你好
能回你,继续。如果出现错误参考我上一篇文章
第二步:版本别搞错(我一开始就搞错版本了,总是包找不到)
|
Spring Boot |
Spring AI |
|---|---|
|
3.4.x |
1.0.x |
| 3.5.x | 1.1.x |
|
4.0.x |
2.0.x |
本文用 Spring Boot 3.4.4 + Spring AI 1.0.8。
第三步:贴代码
pom.xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.4.4</version>
</parent>
<properties>
<java.version>17</java.version>
<spring-ai.version>1.0.8</spring-ai.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-bom</artifactId>
<version>${spring-ai.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-ollama-spring-boot-starter</artifactId>
</dependency>
</dependencies>
application.yml
spring:
ai:
ollama:
base-url: http://localhost:11434 #默认端口
chat:
model: qwen3.5:0.8b
options:
temperature: 0.7
AiConfig.java
@Configuration
public class AiConfig {
@Bean
public ChatClient chatClient(ChatClient.Builder builder) {
return builder
.defaultSystem("用简洁中文回答。") //指令
.build();
}
}
ChatController.java
@RestController
public class ChatController {
private final ChatClient chatClient;
public ChatController(ChatClient chatClient) {
this.chatClient = chatClient;
}
@GetMapping("/chat")
public String chat(@RequestParam String msg) {
return chatClient.prompt().user(msg).call().content();
}
}
业务代码就一行。
StreamController.java(流式)
@RestController
public class StreamController {
private final ChatClient chatClient;
public StreamController(ChatClient chatClient) {
this.chatClient = chatClient;
}
@GetMapping(value = "/chat/stream",
produces = MediaType.TEXT_EVENT_STREAM_VALUE)
public Flux<String> stream(@RequestParam String msg) {
return chatClient.prompt().user(msg).stream().content();
}
}
第四步:跑起来
mvn spring-boot:run
日志看到这行就对了:
Ollama chat model initialized with model: qwen3.5:0.8b
第五步:测试
# 对话
curl "http://localhost:8080/chat?msg=用Java写个冒泡排序"
# 翻译
curl "http://localhost:8080/chat?msg=把'今天天气真好'翻译成英文"
# 流式(浏览器打开看逐字输出)
http://localhost:8080/chat/stream?msg=写一首五言绝句
踩坑速查
|
报错 |
解决 |
|---|---|
Connection refused: 11434 |
Ollama 没启动 |
model not found |
ollama pull qwen3.5:0.8b |
NoClassDefFoundError |
版本没对上,回第二步查表 |
|
响应慢 |
正常,CPU 推理 0.8B 就这速度 |
快来试一试把,快速搭建属于自己的AI应用
项目结构
ai-demo/
├── pom.xml
├── src/main/java/com/example/demo/
│ ├── DemoApplication.java
│ ├── config/AiConfig.java
│ └── controller/
│ ├── ChatController.java
│ └── StreamController.java
└── src/main/resources/application.yml更多推荐


所有评论(0)