首先创建springboot+maven的项目
引入依赖\
java
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.4.5</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>org.example</groupId>
<artifactId>ai_demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>ai_demo</name>
<description>ai_demo</description>
<properties>
<java.version>17</java.version>
</properties>
<dependencyManagement>
<dependencies>
<!-- 1. 先 Alibaba -->
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
<artifactId>spring-ai-alibaba-bom</artifactId>
<version>1.0.0.2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- 2. 再 Spring AI -->
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-bom</artifactId>
<version>1.0.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
<artifactId>spring-ai-alibaba-starter-dashscope</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- <dependency>-->
<!-- <groupId>org.springframework.ai</groupId>-->
<!-- <artifactId>spring-ai-starter-model-ollama</artifactId>-->
<!-- </dependency>-->
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
注意:对于spring-ai版本由于 spring-ai (**1.0.0-M6 之前)**相关依赖包还没有发布到中央仓库,如出现 spring-ai-core 等相关依赖解析问题,请在您项目的 pom.xml 依赖中加入如下仓库配置。
java
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
其中我也踩了不少的坑
1. Starter 包名重大变更(最核心报错原因)
Spring AI Alibaba 1.0.0.2 版本彻底废弃旧启动器:
- 旧(已失效):
spring-ai-alibaba-starter - 新(唯一可用):
spring-ai-alibaba-starter-dashscope
旧包名在新版本仓库完全不存在 ,会直接报: version is missing、依赖爆红、编译失败,即使引入 BOM 也无效。
2. BOM 导入顺序错误,导致版本管理失效
很多人双 BOM 都引了依旧报错,本质是顺序颠倒:
- ❌ 错误顺序:先 Spring AI BOM、后 Alibaba BOM(版本覆盖错乱)
- ✅ 正确顺序:先 Spring AI Alibaba BOM,再 Spring AI BOM
阿里 AI BOM 需要优先锁定适配版本,顺序反了会出现版本不匹配、依赖无法托管、莫名冲突。
本地部署:
加入Ollama依赖
java
<dependency>-->
<groupId>org.springframework.ai</groupId>-->
<artifactId>spring-ai-starter-model-ollama</artifactId>-->
</dependency>-->
配置所需配置项
java
spring.application.name=ai_demo
server.port=8080
spring.ai.ollama.base-url=http://localhost:11434
spring.ai.ollama.chat.model=deepseek-r1:1.5b
那么如果要连接阿里云百炼平台:
加入依赖
java
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
<artifactId>spring-ai-alibaba-starter-dashscope</artifactId>
</dependency>
配置配置项
其中的api-key需要你自己从阿里云百炼平台去申请
java
spring.ai.dashscope.api-key=
spring.ai.dashscope.chat.options.model=qwen-max
Controller
java
package org.example.ai_demo.controller;
import org.springframework.ai.chat.client.ChatClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/ai")
public class ChatController {
private final ChatClient chatClient;
public ChatController(ChatClient.Builder chatClient) {
this.chatClient = chatClient.build();
}
@RequestMapping("/chat")
public String chat(@RequestParam(value = "message") String message){
return this.chatClient.prompt()
.user(message)
.call()
.content();
}
}
跑一下看看
