002-SpringBoot整合AI(Alibaba)
SpringBoot整合AI
- 一、引入依赖
- 二、配置application.yml
- 三、获取 api-key
- 四、编写 controller
- 五、起服务调用
一、引入依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.1</version>
</parent>
<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-M3.1</version>
</dependency>
</dependencies>
这里有两个事项需要注意:
- Spring AI Alibaba 基于 Spring Boot 3.x 开发,所以JDK 版本要求为 17 及以上。
- spring-ai 相关依赖包还没有发布到中央仓库,本地 Maven 仓库要添加以下配置。
<repositories>
<repository>
<id>spring-milestones</id>
<name>SpringMilestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
二、配置application.yml
server:
port: 8081
spring:
application:
name: spring-ai-alibaba-chat
ai:
dashscope:
api-key: sk-xxx
三、获取 api-key
配置中的api-key是阿里云百炼大模型平台的凭证,AI的实现最终会调用该模型
获取 api-key:https://help.aliyun.com/zh/model-studio/developer-reference/get-api-key?spm=a2c4g.11186623.0.i6
四、编写 controller
@RestController
@RequestMapping("/ai")
public class AIChatController {
private final ChatClient chatClient;
public AIChatController(ChatClient.Builder builder) {
this.chatClient = builder
.build();
}
@GetMapping("/chat")
public String chat(@RequestParam(value = "message", defaultValue = "Tell me a joke") String message) {
return this.chatClient.prompt()
.user(message)
.call()
.content();
}
}
五、起服务调用
通过浏览器访问 localhost:8080/ai/chat?message= 进行对话