当前位置: 首页 > news >正文

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: com.example
  • Artifact: spring-ai-demo
  • Java: 17

依赖:

  • Spring Web

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

在这里插入图片描述

第2步:添加依赖

pom.xml<dependencies> 部分添加:

<dependency><groupId>com.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>com.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>com.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/com/example/spring_ai_demo/ 目录下创建 AiController.java

package com.example.spring_ai_demo;import com.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 #阿里云百炼

http://www.dtcms.com/a/560831.html

相关文章:

  • 临潼城市建设局网站外资公司注册
  • 1.基础--数据库相关概念
  • 使用DTS迁移工具迁移oracle到DM
  • langchain agent的短期记忆
  • 使用DrissionPage和自动化技术实现得物鞋子信息爬取
  • 做网站的是干嘛的为网站添加统计
  • 网站设计的建设目的做网站推销手表
  • [LitCTF 2023]Vim yyds
  • LNMP环境部署 KodBox私有云盘
  • 解决windows docker开发thinkphp6启动慢的问题
  • Rust编译参数与优化控制
  • springboot后端的接口headers
  • day04(11.2)——leetcode面试经典150
  • mysql常识和jdbc工具类的进化以及连接池思想
  • 七.Docker网络
  • 怎么做免费视频网站吗网站建设哪儿好
  • 推荐优质wordpress外贸网站主题
  • TDengine 数学函数 ASCII 用户手册
  • @Builder注解导致mybatis类型匹配错误 Cannot determine value type from string
  • AI模型开发 | 从零部署Deepseek OCR模型,零门槛开发PDF文档解析工具
  • Linux INPUT 子系统实验
  • 1000套实习报告模板大合集+多行业多专业实习总结实践报告素材
  • 百度网站快速优化国内flask做的网站
  • Spring AI--Prompt、多轮对话实现方案
  • 网页模板免费下载网站广州页面制作公司
  • Java:继承与多态
  • 10. 从0到上线:.NET 8 + ML.NET LTR 智能类目匹配实战--Web API 接口与前端集成:部署与生产运维:稳定性、可观测与成本
  • 网站开发招标网网站免费注册会员怎么做
  • linux系统中网络编程的实现
  • Vue-github 用户搜索案例