type
status
date
slug
summary
tags
category
icon
password
文章目录
- 快速上手
- * 快速体验示例
- 示例开发指南
- 总结
快速上手
- * *
Spring AI Alibaba 已经完全适配了阿里云通用模型,接下来,我们将学习如何使用 spring ai alibaba
开发一个基于通用模型服务的智能聊天应用。
快速体验示例
- 下载项目 运行以下命令下载源码,进入 helloworld 示例目录:
终端窗口
git clone --depth=1 https://github.com/alibaba/spring-ai-alibaba.git
cd spring-ai-alibaba/spring-ai-alibaba-examples/helloworld-example
- 运行项目 首先,需要获取一个合法的 API-KEY 并设置 `AI_DASHSCOPE_API_KEY` 环境变量,可跳转 [阿里云百炼平台](https://help.aliyun.com/zh/model-studio/developer-reference/get-api-key) 了解如何获取 API-KEY。

设置永久性环境变量:

验证是否成功:
echo %DASHSCOPE_API_KEY%

终端窗口
$env:AI_DASHSCOPE_API_KEY = "DASHSCOPE_API_KEY"
启动示例应用:

访问 `http://localhost:8080/ai/chat?input=你好`,向通用模型提问并得到回答。

示例开发指南
以上示例本质上就是一个普通的 Spring Boot 应用,我们来通过源码解析看一下具体的开发流程。
- 添加依赖
首先,需要在项目中添加 `spring-ai-alibaba-starter` 依赖,它将通过 Spring Boot
自动装配机制初始化与阿里云通用大模型通信的 `ChatClient`、`ChatModel` 相关实例。
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
<artifactId>spring-ai-alibaba-starter</artifactId>
<version>1.0.0-m2</version>
</dependency>
- 注入 ChatClient
接下来,在普通 Controller Bean 中注入 `ChatClient` 实例,这样你的 Bean 就具备与 AI 大模型智能对话的能力了。
@RestController
public class ChatController {
private final ChatClient chatClient;
public ChatController(ChatClient.Builder builder) {
this.chatClient = builder.build();
}
@GetMapping("/chat")
public String chat(String input) {
return this.chatClient.prompt()
.user(input)
.call()
.content();
}
}
以上示例中,ChatClient 调用大模型使用的是默认参数,Spring AI Alibaba 还支持通过 `DashScopeChatOptions`
调整与模型对话时的参数,`DashScopeChatOptions` 支持两种不同维度的配置方式:
- 全局默认值,即 `ChatClient` 实例初始化参数
可以在 `application.yaml` 文件中指定 `spring.ai.dashscope.chat.options.*` 或调用构造函数
`ChatClient.Builder.defaultOptions(options)`、`DashScopeChatModel(api,
options)` 完成配置初始化。
- 每次 Prompt 调用前动态指定
ChatResponse response = chatModel.call(
new Prompt(
"Generate the names of 5 famous pirates.",
DashScopeChatOptions.builder()
.withModel("qwen-plus")
.withTemperature(0.4)
.build()
));
关于 `DashScopeChatOptions` 配置项的详细说明,请查看参考手册。
总结
spring-ai-alibaba 为 Java 开发者提供了一套开箱即用的开发 AI 应用的工具,帮助开发者快速构建智能应用。
- 作者:Maynor
- 链接:https://maynor1024.live/article/2dd1f390-6aa9-8197-90cc-d04ab9470ecf
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
