随着人工智能(AI)技术的迅速发展,越来越多的开发者开始关注如何在自己的应用中集成 AI 功能。Spring 框架作为一种流行的 Java 开发框架,提供了强大的支持来构建现代应用程序。本文将为你介绍如何快速上手 Spring AI,帮助你在项目中轻松集成 AI 功能。
什么是 Spring AI?
Spring AI 是 Spring 生态系统中的一个新模块,旨在简化在 Java 应用程序中集成人工智能和机器学习功能。它提供了一系列工具和接口,帮助开发者利用现有的机器学习模型和服务,快速构建智能应用。
准备工作
在开始之前,请确保你已经安装了以下环境:
- Java Development Kit (JDK): 推荐使用 JDK 17 或更高版本。
- Maven: 用于项目管理和构建。
- IDE: 你可以使用 IntelliJ IDEA、Eclipse 或其他你喜欢的 IDE。
创建 Spring Boot 项目
- 创建项目: 使用 Spring Initializr 创建一个新的 Spring Boot 项目。选择以下依赖项:
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
<artifactId>spring-ai-alibaba-starter</artifactId>
<version>1.0.0-M5.1</version>
</dependency>
- 配置密钥
需要获取一个合法的 API-KEY 并设置 AI_DASHSCOPE_API_KEY 环境变量,可跳转 阿里云百炼平台 了解如何获取 API-KEY
dashscope:
api-key: xxx-xxx
chat:
options:
model: qwen-max
- 注入 ChatClient
接下来,在普通 Controller Bean 中注入 ChatClient 实例,这样你的 Bean 就具备与 AI 大模型智能对话的能力了。
// AI模型基座,可以切换不同的AI厂商模型
// 阿里灵积
private final ChatModel chatModel;/**
* 非流式问答
*
* @param prompt 用户提问
* @return org.springframework.ai.chat.model.ChatResponse
*/
@GetMapping("chat")
public String chat(@RequestParam String prompt) {
ChatClient chatClient = ChatClient.create(chatModel);
return chatClient.prompt()
// 输入单条提示词
.user(prompt)
// call代表非流式问答,返回的结果可以是ChatResponse,也可以是Entity(转成java类型),也可以是字符串直接提取回答结果。
.call()
.content();
}
- 调用接口提问
通过postman提问如下: