文章目录
- 前言
- 效果展示
- 实现步骤
-
- 创建一个 SpringBoot 项目
- 编写与大模型交互的 Controller
- 编写通过页面进行对话的 html
- 需要了解的基本知识
- 实现有记忆的对话
- 总结
前言
Spring
官方自从发布了 Spring AI
,AI 界
的门槛儿算是被彻底踹飞了!为什么?因为这就意味着整天只会 CRUD
的 Javaer 们
也能开发AI应用了,而且简单到让你怀疑人生。那么本文就基于 Spring AI Alibaba
开发一个简单的 AI 对话应用
。
效果展示
实现步骤
基于 Spring AI Alibaba
实现这样一个AI对话
非常简单,只需要几行代码就可以完成。可以跟着下面的步骤操作:
创建一个 SpringBoot 项目
Spring AI Alibaba
提供了 SpringBoot starter
。所以,第一步就是创建一个SpringBoot项目
引入依赖以及配置。
pom.xml文件
添加spring-ai-alibaba-starter
依赖
<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>
application.yml
添加
server:
port: 8080
spring:
application:
name: spring-ai-alibaba-chat
ai:
dashscope:
api-key: xxxx
配置中的api-key
是阿里云百炼大模型平台的凭证,AI
的实现最终会调用该模型。
api-key
申请
这里有两个事项需要注意:
Spring AI Alibaba
基于Spring Boot 3.x
开发,所以JDK 版本
要求为 17 及以上。spring-ai
相关依赖包还没有发布到中央仓库,本地 Maven 仓库
要添加以下配置。
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
编写与大模型交互的 Controller
项目创建成功之后,只需要写一个Controller
就可以实现与AI对话
,代码如下:
@RestController
@RequestMapping("/ai")
public class AIChatController {
private final ChatClient chatClient;
public AIChatController(ChatClient.Builder builder) {
this.chatClient = builder
.build();
}
@GetMapping("/chat")
public String chat(String message) {
return this.chatClient.prompt