1.准备工作
- 开发环境:JDK17+、SpringBoot3.x+
2.引入maven依赖
<?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 http://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.2.8</version>
</parent>
<groupId>com.linging</groupId>
<artifactId>spring-ai-alibaba</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
<artifactId>spring-ai-alibaba-starter</artifactId>
<version>1.0.0-M5.1</version>
</dependency>
</dependencies>
</project>
3.application.yml
spring:
ai:
dashscope:
agent:
api-key: xxx
workspace-id: xxx
chat:
options:
model: deepseek-r1
4.调用
4.1.配置
@Configuration
public class SpringAIConfig {
@Bean
public ChatClient chatClient(DashScopeChatModel dashScopeChatModel){
return ChatClient.builder(dashScopeChatModel).build();
}
}
4.2.使用
@RestController
@RequestMapping("/ai")
public class ChatClientController {
@Resource
private ChatClient chatClient;
@GetMapping("/bailian/chat/call")
public String call(@RequestParam(value = "message") String message) {
return chatClient.prompt()
.user(message)
.call()
.content();
}
@GetMapping(value = "/bailian/chat/stream", produces = "text/html;charset=utf-8")
public Flux<String> stream(@RequestParam(value = "message") String message) {
return chatClient.prompt()
.user(message)
.stream()
.content();
}
}