Spring AI 极简入门:15分钟集成AI到SpringBoot应用

Spring AI 极简入门:15分钟集成AI到SpringBoot应用

Spring AI 极简入门:15分钟集成AI到Spring应用

零基础也能学会!基于 Spring AI Alibaba,用最简单的方式让Spring应用具备AI能力

什么是 Spring AI?

Spring AI 是一个让Java开发者轻松集成AI能力的框架。简单来说,它帮你处理了与AI服务通信的复杂细节,让你用几行代码就能调用大模型。

核心概念(简单理解):

  • ChatClient:与AI对话的工具
  • Prompt:你给AI的指令
  • ChatResponse:AI返回的答案

环境准备

必需环境

  • JDK 17+
  • Maven 3.6+

获取阿里云API密钥

  1. 注册阿里云账号
  2. 开通百炼平台服务
  3. 获取API Key

15分钟快速开始

第1步:创建项目

访问 start.spring.io 快速创建项目:

配置选项:

  • Project: Maven
  • Language: Java
  • Spring Boot: 3.5.7
  • Group: ***.example
  • Artifact: spring-ai-demo
  • Java: 17

依赖:

  • Spring Web

点击"Generate"下载项目压缩包

第2步:添加依赖

pom.xml<dependencies> 部分添加:

<dependency>
    <groupId>***.alibaba.cloud.ai</groupId>
    <artifactId>spring-ai-alibaba-starter</artifactId>
    <version>1.0.0-M5.1</version>
</dependency>

<project> 标签内添加仓库配置:

<repositories>
    <repository>
        <id>spring-milestones</id>
        <url>https://repo.spring.io/milestone</url>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
</repositories>

全部依赖如下,以供参考:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>3.5.7</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>***.example</groupId>
	<artifactId>spring-ai-demo</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>spring-ai-demo</name>
	<description>Demo project for Spring Boot AI</description>
	<url/>
	<licenses>
		<license/>
	</licenses>
	<developers>
		<developer/>
	</developers>
	<scm>
		<connection/>
		<developerConnection/>
		<tag/>
		<url/>
	</scm>
	<properties>
		<java.version>17</java.version>
	</properties>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>***.alibaba.cloud.ai</groupId>
			<artifactId>spring-ai-alibaba-starter</artifactId>
			<version>1.0.0-M5.1</version>
		</dependency>
	</dependencies>

	<repositories>
		<repository>
			<id>spring-milestones</id>
			<url>https://repo.spring.io/milestone</url>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</repository>
	</repositories>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

</project>

第3步:配置API密钥

  • 这里的API_KEY是上面获取的阿里云百炼的key

设置环境变量:

Windows:(自己在环境变量配置即可)

set AI_DASHSCOPE_API_KEY=你的API_KEY

Mac/Linux:

export AI_DASHSCOPE_API_KEY=你的API_KEY

或者在 application.yml 中配置:

spring:
  ai:
    dashscope:
      api-key: ${AI_DASHSCOPE_API_KEY}

第4步:编写AI对话接口

src/main/java/***/example/spring_ai_demo/ 目录下创建 AiController.java

package ***.example.spring_ai_demo;

import ***.alibaba.cloud.ai.dashscope.chat.DashScopeChatOptions;
import org.springframework.ai.chat.client.ChatClient;
import org.springframework.ai.chat.client.advisor.MessageChatMemoryAdvisor;
import org.springframework.ai.chat.client.advisor.SimpleLoggerAdvisor;
import org.springframework.ai.chat.memory.InMemoryChatMemory;
import org.springframework.web.bind.annotation.*;

@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)
                // 实现 Chat Memory 的 Advisor
                // 在使用 Chat Memory 时,需要指定对话 ID,以便 Spring AI 处理上下文。
                .defaultAdvisors(
                        new MessageChatMemoryAdvisor(new InMemoryChatMemory())
                )
                // 实现 Logger 的 Advisor
                .defaultAdvisors(
                        new SimpleLoggerAdvisor()
                )
                // 设置 ChatClient 中 ChatModel 的 Options 参数
                .defaultOptions(
                        DashScopeChatOptions.builder()
                                .withTopP(0.7)
                                .build()
                )
                .build();
    }

    @GetMapping("/simple/chat")
    public String simpleChat(String query) {
        return dashScopeChatClient.prompt(query).call().content();
    }
}

第5步:启动测试

  1. 启动项目,和正常springboot项目启动方式是一样的:

  2. 看到以下日志表示启动成功:

Started SpringAiDemoApplication in 1.988 seconds (process running for 2.266)
  1. 访问接口:

(因为通过大模型思考得到结果,所以接口返回可能慢一些,耐心等待)

http://localhost:8080/helloworld/simple/chat?query=你好,介绍一下Spring

浏览器访问:

apifox访问:

🎉 恭喜!你的第一个AI应用已经运行起来了!

测试你的应用

基础对话测试

http://localhost:8080/helloworld/simple/chat?query=用Java写一个Hello World程序

技术问题测试

http://localhost:8080/helloworld/simple/chat?query=解释一下Spring Boot的自动配置原理

遇到问题怎么办?

常见问题解决

❌ 问题1:依赖下载失败
✅ 解决:检查是否添加了Spring仓库配置

❌ 问题2:API密钥错误
✅ 解决:确认环境变量名是 AI_DASHSCOPE_API_KEY

❌ 问题3:JDK版本错误
✅ 解决:用 java -version 检查,确保是JDK 17+

快速检查清单

  • start.spring.io 项目创建成功
  • pom.xml 依赖和仓库配置正确
  • 环境变量已设置
  • 代码复制无误
  • 应用启动成功(看到Started日志)

下一步学什么?

成功运行基础版本后,你可以尝试:

  1. 给AI设定角色 - 让AI成为编程助手、翻译专家等
  2. 处理复杂对话 - 实现多轮对话记忆
  3. 文件处理 - 让AI读取和分析文档
  4. 其他AI服务 - 尝试OpenAI、Azure等

总结

通过这个极简教程,你已经学会了:

  • ✅ 使用start.spring.io快速创建项目
  • ✅ 添加Spring AI依赖
  • ✅ 配置API密钥
  • ✅ 创建AI对话接口
  • ✅ 测试应用

Spring AI让AI集成变得异常简单,现在你可以在任何Spring项目中快速添加AI能力了!


相关链接

  • Spring Initializr
  • 阿里云百炼平台

标签: #SpringAI #入门教程 #JavaAI #SpringBoot #阿里云百炼

转载请说明出处内容投诉
CSS教程网 » Spring AI 极简入门:15分钟集成AI到SpringBoot应用

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买