news 2026/5/9 16:27:55

Spring Boot 4.0.1 集成 Spring Boot AI 全攻略

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Spring Boot 4.0.1 集成 Spring Boot AI 全攻略
引言

Spring Boot AI 是 Spring 官方推出的 AI 开发框架,简化了 Java 开发者集成大模型(如 OpenAI、Llama 3、Gemini 等)的流程;而 Spring Boot 4.0.1 作为最新稳定版,凭借原生镜像、Java 17+ 优化等特性,能让 AI 应用兼具「开发效率」与「运行性能」。本文将手把手教你在 Spring Boot 4.0.1 中集成 Spring Boot AI,覆盖「云端大模型调用」「本地模型部署」「Prompt 工程」等核心场景,所有代码均可直接复用。

1. 前置准备:环境与版本匹配

Spring Boot AI 与 Spring Boot 4.0.1 的版本兼容关键:

  • 基础环境:JDK 17+(Spring Boot 4.0.1 强制要求)、Maven 3.8.8+ / Gradle 8.0+
  • Spring Boot AI 版本:选择0.8.1(最新稳定版,完美兼容 Spring Boot 4.0.1)
  • 支持的 AI 模型:OpenAI (GPT-3.5/4o)、Azure OpenAI、Google Gemini、Ollama(本地模型,如 Llama 3、Qwen)、百度文心一言等

2. 快速集成:核心依赖配置

首先创建 Spring Boot 4.0.1 项目,在pom.xml中添加 Spring Boot AI 核心依赖(以 OpenAI 为例,其他模型仅需替换依赖):

<?xml version="1.0" encoding="UTF-8"?><projectxmlns="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>4.0.1</version><relativePath/></parent><groupId>com.example</groupId><artifactId>sb4-ai-demo</artifactId><version>0.0.1-SNAPSHOT</version><name>sb4-ai-demo</name><dependencies><!-- Spring Boot Web 依赖(提供接口测试) --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- Spring Boot AI 核心依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-ai</artifactId><version>0.8.1</version></dependency><!-- Spring Boot AI OpenAI 适配依赖(调用云端 OpenAI 模型) --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-ai-openai</artifactId><version>0.8.1</version></dependency><!-- 测试依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><source>17</source><target>17</target></configuration></plugin></plugins></build></project>

3. 核心场景实操

场景 1:调用云端 OpenAI 模型(GPT-3.5/4o)

这是最常用的场景,只需配置 API Key 即可快速调用 OpenAI 接口。

步骤 1:配置 OpenAI 密钥

application.yml中添加 OpenAI 配置(替换为你的 API Key):

spring:ai:openai:api-key:sk-xxxxxx# 你的 OpenAI API Keybase-url:https://api.openai.com/v1# 官方地址(国内需代理可修改)chat:model:gpt-3.5-turbo# 模型名称,可选 gpt-4o、gpt-4-turbo 等temperature:0.7# 随机性,0-1 之间,值越小越精准
步骤 2:编写 AI 调用代码

Spring Boot AI 提供了OpenAiChatClient封装类,可直接注入使用:

importorg.springframework.ai.openai.OpenAiChatClient;importorg.springframework.ai.openai.api.OpenAiChatResponse;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.RequestParam;importorg.springframework.web.bind.annotation.RestController;@RestControllerpublicclassOpenAIController{// 注入 OpenAI 聊天客户端(Spring Boot AI 自动配置)@AutowiredprivateOpenAiChatClientopenAiChatClient;/** * 调用 OpenAI 生成回答 * @param prompt 提问内容 * @return AI 回答 */@GetMapping("/ai/chat")publicStringchatWithOpenAI(@RequestParamStringprompt){// 极简调用:直接传入 PromptreturnopenAiChatClient.call(prompt);// 进阶调用:自定义请求参数(如指定角色、温度)/* OpenAiChatRequest request = OpenAiChatRequest.builder() .prompt(new Prompt(prompt)) .temperature(0.5) .maxTokens(1000) .build(); OpenAiChatResponse response = openAiChatClient.call(request); return response.getResult().getOutput().getContent(); */}}
步骤 3:测试接口

启动项目后,访问http://localhost:8080/ai/chat?prompt=用Java写一个Spring Boot 4.0.1的HelloWorld,即可得到 AI 生成的代码回答。

场景 2:集成本地 LLM 模型(Ollama + Llama 3)

若想避免调用云端 API(数据隐私、网络限制),可通过 Ollama 部署本地模型(如 Llama 3、Qwen),Spring Boot AI 完美适配。

步骤 1:安装 Ollama 并启动 Llama 3
  1. 下载 Ollama:https://ollama.com/download
  2. 启动 Llama 3 模型(终端执行):
# 拉取并启动 Llama 3 8B 模型ollama run llama3
  1. 验证模型启动:访问http://localhost:11434,返回Ollama API即成功。
步骤 2:配置本地模型依赖与参数
  1. 添加 Ollama 依赖到pom.xml
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-ai-ollama</artifactId><version>0.8.1</version></dependency>
  1. 修改application.yml配置:
spring:ai:ollama:base-url:http://localhost:11434# Ollama 本地地址chat:model:llama3# 本地模型名称(与Ollama启动的模型一致)temperature:0.7
步骤 3:编写本地模型调用代码

只需替换注入的客户端为OllamaChatClient,其余逻辑与云端一致:

importorg.springframework.ai.ollama.OllamaChatClient;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.RequestParam;importorg.springframework.web.bind.annotation.RestController;@RestControllerpublicclassLocalAIController{@AutowiredprivateOllamaChatClientollamaChatClient;@GetMapping("/ai/local/chat")publicStringchatWithLocalLLM(@RequestParamStringprompt){// 调用本地 Llama 3 模型returnollamaChatClient.call(prompt);}}
场景 3:Prompt 工程与模板化

Spring Boot AI 支持 Prompt 模板,避免硬编码 Prompt,提升复用性。

步骤 1:定义 Prompt 模板

resources/prompts/下创建code-generator.st文件(ST 是 Spring AI 的模板后缀):

你是一个资深的 Java 开发工程师,请根据以下要求生成规范的代码: 1. 框架:Spring Boot 4.0.1 2. 功能:{{function}} 3. 要求:{{requirements}} 4. 输出格式:仅返回代码,无多余解释
步骤 2:使用模板调用 AI
importorg.springframework.ai.prompt.Prompt;importorg.springframework.ai.prompt.PromptTemplate;importorg.springframework.ai.openai.OpenAiChatClient;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.RequestParam;importorg.springframework.web.bind.annotation.RestController;importjava.util.Map;@RestControllerpublicclassPromptTemplateController{@AutowiredprivateOpenAiChatClientopenAiChatClient;@GetMapping("/ai/code/generate")publicStringgenerateCode(@RequestParamStringfunction,@RequestParamStringrequirements){// 加载 Prompt 模板PromptTemplatepromptTemplate=newPromptTemplate("classpath:prompts/code-generator.st");// 填充模板参数Map<String,Object>params=Map.of("function",function,"requirements",requirements);Promptprompt=promptTemplate.create(params);// 调用 AI 生成代码returnopenAiChatClient.call(prompt).getResult().getOutput().getContent();}}
测试:

访问http://localhost:8080/ai/code/generate?function=用户登录接口&requirements=使用Spring Security,返回JSON格式,即可得到标准化的登录接口代码。

场景 4:结合 Spring Boot 4.0.1 原生镜像优化

Spring Boot 4.0.1 的原生镜像特性可让 AI 应用启动更快,只需添加原生镜像依赖并适配配置:

  1. 添加原生镜像依赖:
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-native</artifactId></dependency>
  1. 构建原生镜像(需安装 GraalVM):
mvn clean package-Pnative
  1. 启动原生应用:
./target/sb4-ai-demo

注意:若调用本地 Ollama 模型,原生镜像无需额外配置;若调用云端 OpenAI,需确保 GraalVM 兼容 HTTP 客户端(Spring Boot AI 已自动适配)。

4. 关键注意事项与避坑指南

  1. 版本兼容:Spring Boot AI 0.8.1 是唯一稳定兼容 Spring Boot 4.0.1 的版本,切勿使用 0.7.x 及以下版本(会出现依赖冲突)。
  2. API Key 安全:生产环境不要硬编码 API Key,可通过 Spring Boot 4.0.1 的@ConfigurationProperties或环境变量注入:
spring:ai:openai:api-key:${OPENAI_API_KEY}# 从环境变量读取
  1. 本地模型性能:Ollama 部署的本地模型(如 Llama 3 70B)对硬件要求较高(建议 16G 以上内存),可通过num_ctx参数限制上下文长度优化性能:
spring:ai:ollama:chat:options:num_ctx:2048# 限制上下文长度为2048 tokens
  1. Jakarta EE 适配:Spring Boot 4.0.1 基于 Jakarta EE 10,Spring Boot AI 已完全适配,无需修改javax.*包名(内部已替换为jakarta.*)。

三、总结

核心要点回顾
  1. 集成核心:Spring Boot 4.0.1 集成 Spring Boot AI 只需添加对应模型依赖(OpenAI/Ollama)+ 配置 API/本地模型地址,即可快速调用大模型;
  2. 核心场景:云端模型调用(极简 API)、本地模型部署(Ollama + Llama 3)、Prompt 模板化(提升复用性)、原生镜像优化(适配云原生);
  3. 避坑关键:版本匹配(Spring Boot AI 0.8.1)、API Key 安全、本地模型性能调优。

通过 Spring Boot 4.0.1 + Spring Boot AI 的组合,你可以快速构建「高性能、易维护、可扩展」的 AI 应用,无论是调用云端大模型还是部署本地模型,都能兼顾开发效率与运行性能。如果需要集成更多模型(如百度文心一言、阿里云通义千问),可在评论区留言,我会补充对应的配置示例~

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/30 21:06:44

《创业之路》-793-人是成本还是资本,不取决于这个人花多少钱,而是取决于花出去的钱,预计获取回报的时间周期,有的的当下计算在当下生产的产品中,成为了成本,有点是计算在未来的战略方向的产品中,称为资本

&#x1f331; 人是成本&#xff0c;还是资本&#xff1f;——取决于“预期回报周期”与“资源配置逻辑”“一个人值多少钱”不是问题的关键&#xff0c; 真正的问题是&#xff1a;我们把他当作短期消耗品&#xff0c;还是长期成长体&#xff1f;✅ 核心观点&#xff1a;人本身…

作者头像 李华
网站建设 2026/5/9 0:31:08

Docker部署Sonic数字人模型?一键启动超方便

Docker部署Sonic数字人模型&#xff1f;一键启动超方便 在短视频内容爆炸式增长的今天&#xff0c;一个现实问题摆在创作者面前&#xff1a;如何用最低成本、最快速度生成高质量的“真人讲解”类视频&#xff1f;请主播拍摄耗时耗力&#xff0c;外包制作价格高昂&#xff0c;而…

作者头像 李华
网站建设 2026/5/8 12:26:12

django基于Python的毕业设计选题系统的设计与实现_594ih84u

目录摘要项目技术支持论文大纲核心代码部分展示可定制开发之亮点部门介绍结论源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作摘要 该系统基于Django框架和Python语言开发&#xff0c;旨在为高校提供一个高效的毕业设计选题管理平台。系统采…

作者头像 李华
网站建设 2026/4/28 20:47:15

Sonic数字人演话剧?多角色协同仍在探索

Sonic数字人演话剧&#xff1f;多角色协同仍在探索 在虚拟主播24小时不间断带货、AI教师批量生成教学视频的今天&#xff0c;我们正站在内容生产方式变革的临界点。一个更激进的设想随之浮现&#xff1a;能否让多个数字人像真人演员一样同台对话&#xff0c;甚至演绎一整场话剧…

作者头像 李华
网站建设 2026/5/3 4:37:14

Sonic表情生成算法基于何种神经网络?Transformer+CNN混合

Sonic表情生成算法的神经网络架构解析&#xff1a;Transformer与CNN的协同之道 在虚拟数字人技术加速落地的今天&#xff0c;如何以极低成本生成高保真、自然流畅的说话视频&#xff0c;成为各大科技公司和内容平台竞相突破的关键命题。传统依赖3D建模与动作捕捉的工作流不仅成…

作者头像 李华
网站建设 2026/4/29 11:13:15

Sonic支持TensorRT加速吗?推理优化正在进行

Sonic 支持 TensorRT 加速吗&#xff1f;推理优化正在进行 在虚拟主播、AI 教育助手和短视频工厂日益普及的今天&#xff0c;如何以更低的成本生成高质量、自然流畅的说话人视频&#xff0c;已成为内容生产链路中的关键一环。Sonic —— 这款由腾讯与浙江大学联合推出的轻量级数…

作者头像 李华