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 {@Beanpublic ChatClient chatClient(DashScopeChatModel dashScopeChatModel){return ChatClient.builder(dashScopeChatModel).build();}
}
4.2.使用
@RestController
@RequestMapping("/ai")
public class ChatClientController {@Resourceprivate ChatClient chatClient;@GetMapping("/bailian/chat/call")public String call(@RequestParam(value = "message") String message) {return chatClient.prompt(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(message).stream().content();}
}