spring-ai在未来将会是主流,快速demo体验一下。
环境配置:
jdk | 21 |
springboot | 3.5.3 |
spring-ai-alibaba maven |
1.0.0-M5.1 3.6.3 |
springai最低要求jdk版本为17,我这里使用21(现在估计大家大部分还用的1.8,建议大家下载两套jdk)。
同时使用21推荐的springboot版本3.5.3。
切记maven使用3.6.3及以上,不然spring版本不兼容会报错。
maven配置:
spring-ai-alibaba只有阿里官方仓库有,引入maven镜像:
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
引入依赖:
<properties>
<java.version>21</java.version>
<spring-ai-alibaba.version>1.0.0-M5.1</spring-ai-alibaba.version>
<spring-boot.version>3.5.3</spring-boot.version>
</properties>
<dependencies>
<!-- Spring AI Alibaba -->
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
<artifactId>spring-ai-alibaba-starter</artifactId>
<version>${spring-ai-alibaba.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<version>${spring-boot.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>${spring-boot.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
获取api-key:
进入阿里百炼平台,注册同时创建api-key。
大模型服务平台百炼_企业级大模型开发平台_百炼AI应用构建-阿里云
配置yaml:
spring:
ai:
dashscope:
api-key: 填入你的百炼上创建的apikey
编写demo代码:
这里直接使用用官网给demo代码。
@RestController
@RequestMapping("/helloworld")
public class HelloworldController {
private static final String DEFAULT_PROMPT = "你是一个博学的智能聊天助手,请根据用户提问回答!";
private final ChatClient dashScopeChatClient;
public HelloworldController(ChatClient.Builder chatClientBuilder) {
this.dashScopeChatClient = chatClientBuilder
.defaultSystem(DEFAULT_PROMPT)
// 实现 Logger 的 Advisor
.defaultAdvisors(
new SimpleLoggerAdvisor()
)
// 设置 ChatClient 中 ChatModel 的 Options 参数
.defaultOptions(
DashScopeChatOptions.builder()
.withTopP(0.7)
.build()
)
.build();
}
/**
* ChatClient 简单调用
*/
@GetMapping("/simple/chat")
public String simpleChat(@RequestParam(value = "query", defaultValue = "你好,很高兴认识你,能简单介绍一下自己吗?")String query) {
System.out.println(123);
return dashScopeChatClient.prompt(query).call().content();
}
}
启动服务。让cursor根据上面controller代码生成一下简单的前端(注意调用端口对应哦):
很好,那么我们就完成了这次的简单的上手体验。
不得不吐槽csdn这个编辑器真难用,为啥不优化优化,做成文档那种编辑方式,改个表格都费劲。