news 2026/4/3 6:02:37

激动人心!Spring AI 2.x 发布!史诗级加强!

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
激动人心!Spring AI 2.x 发布!史诗级加强!

目录

    • 版本概览与重大变更
      • **革命性的技术栈升级**
    • 📦 环境要求与项目配置
      • 环境要求
      • 依赖配置
      • 基础配置 (`application.yml`)
    • ✨ 核心新特性与升级详解
      • 1. Redis 史诗级增强:成为AI应用核心存储
      • 2. 模型生态全面爆发
      • 3. 企业级特性与基础设施
    • 💻 核心API使用示例 (适配2.x)
      • 1. 使用增强的 ChatClient
      • 2. 使用Redis Chat Memory
      • 3. 向量存储与检索 (以Redis为例)
    • 🛠️ 迁移指南与重要提示
    • 📚 资源与后续学习

版本概览与重大变更

Spring AI 2.0.0-M1 是 2.x 系列的开篇版本,带来了底层架构、模型生态和核心组件的全面升级。最重要的变化是基座升级,本版本强制要求以下环境:

  • Java 21:最低开发环境要求。
  • Spring Boot 4.0 GA:基于新一代框架构建。
  • Spring Framework 7.0:全面拥抱 Jakarta EE 11。

这意味着你可以直接享受虚拟线程、AOT编译等新特性,但迁移前需重点评估升级成本。

革命性的技术栈升级

Spring AI 2.0.0-M1 不仅仅是功能更新,更是技术范式的全面演进。基于 Spring Boot 4.0 + Spring Framework 7.0 的全新架构,标志着Java AI开发正式进入虚拟线程与AOT编译的新时代。

本次里程碑版本基于Spring Boot 4.0 GASpring Framework 7.0构建,以Jakarta EE 11为基石,并强制要求 Java 21作为最低开发环境。

整体来看,Spring AI 2.0.0-M1 一共合入了67 项改动,包括:

  • 25 项功能增强:围绕 AI 原生开发体验做了大幅扩展;

  • 32 项文档更新:对新手更友好,踩坑前多看一眼能省不少时间;

  • 7 个稳定性修复 + 3 个安全依赖升级:把基础打得更稳。

📦 环境要求与项目配置

环境要求

  • JDK 21或更高版本 (强制要求)
  • Spring Boot 4.0 GA或更高版本
  • Maven 3.6+ 或 Gradle 7.x

依赖配置

Maven
<dependencyManagement>中引入 BOM:

<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-bom</artifactId><version>2.0.0-M1</version><type>pom</type><scope>import</scope></dependency>

然后添加具体模块依赖,例如 OpenAI:

<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-openai-spring-boot-starter</artifactId></dependency>

Gradle

dependencies { implementation platform('org.springframework.ai:spring-ai-bom:2.0.0-M1') implementation 'org.springframework.ai:spring-ai-openai-spring-boot-starter' }

基础配置 (application.yml)

spring:ai:openai:api-key:${OPENAI_API_KEY}# 本次更新:默认集成了官方Java SDK,默认聊天模型已更新chat:options:model:gpt-5-mini# 默认模型已更新为前沿版本temperature:0.7

✨ 核心新特性与升级详解

1. Redis 史诗级增强:成为AI应用核心存储

Redis 在本版本中获得重大升级,集成了聊天记忆增强的向量存储能力,可作为构建生产级AI应用的首选存储方案。

  • 新增 Redis Chat Memory
    提供了基于Redis的、支持持久化的聊天记忆组件,支持跨会话保留上下文。

    <dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-redis-store</artifactId><version>2.0.0-M1</version></dependency>

    特性包括:持久化记忆、文本搜索、范围查询,并可精细调优HNSW索引参数(M,efConstruction,efRuntime) 以平衡召回率与时延。

  • Redis Vector Store 升级
    向量存储能力同步增强,同样支持文本搜索、范围查询和HNSW参数配置,无需额外部署专门的向量数据库。

2. 模型生态全面爆发

  • Anthropic Claude 深度集成

    • 支持Claude 4.5 Opus / Haiku等最新模型。
    • 引入Citations API:可在回答中精确标注来源文档片段,极大增强RAG和问答场景的可信度。
    • 集成Files API:模型可直接生成代码、报告等可下载文件。
    • 工具调用新增Auto/Any/Tool/None四种精细控制模式。
  • OpenAI 官方SDK集成
    现在直接集成OpenAI 官方 Java SDK,稳定性和兼容性更佳,默认聊天模型更新为gpt-5-mini

  • Google Gemini 思考深度可调
    GenAI SDK升级至 1.30.0,为Gemini模型补全了ThinkingConfig/ThinkingLevel配置,允许开发者控制模型推理深度,在质量与速度间取得平衡。

3. 企业级特性与基础设施

  • Azure Cosmos DB Chat Memory:新增对应的 Spring Boot Starter,方便Azure生态用户存储聊天记录。
  • Model Context Protocol (MCP) 增强:优化了客户端自动配置,引入了可选的处理器注册表,改善了对复杂Bean类型的支持。
  • GemFire 向量存储安全加固:现在支持用户名/密码认证,满足企业合规要求。

💻 核心API使用示例 (适配2.x)

1. 使用增强的 ChatClient

ChatClient仍是核心接口,其构建和使用方式更加灵活。

importorg.springframework.ai.chat.client.ChatClient;importorg.springframework.stereotype.Service;@ServicepublicclassEnhancedChatService{privatefinalChatClientchatClient;// 推荐通过Builder注入publicEnhancedChatService(ChatClient.BuilderchatClientBuilder){this.chatClient=chatClientBuilder.build();}publicStringchat(StringuserMessage){returnchatClient.prompt().user(userMessage)// 可方便地接入各类Advisor(如函数调用、上下文检索等)// .advisors(...).call().content();}// 流式响应publicFlux<String>streamChat(StringuserMessage){returnchatClient.prompt().user(userMessage).stream().content();}}

2. 使用Redis Chat Memory

配置并利用Redis实现持久化、可搜索的聊天记忆。

# application.yml 配置示例spring:data:redis:host:localhostport:6379ai:memory:store:redis# 指定使用redis存储记忆

在代码中,记忆管理通常由框架自动与ChatClient集成,无需手动处理。

3. 向量存储与检索 (以Redis为例)

importorg.springframework.ai.vectorstore.VectorStore;importorg.springframework.ai.document.Document;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Service;importjava.util.List;@ServicepublicclassDocumentSearchService{@AutowiredprivateVectorStorevectorStore;// 添加文档到向量库publicvoidaddDocument(Stringcontent,Map<String,Object>metadata){Documentdoc=newDocument(content,metadata);vectorStore.add(List.of(doc));}// 相似性搜索(现在支持文本搜索和范围查询)publicList<Document>searchSimilar(Stringquery){returnvectorStore.similaritySearch(query);}}

🛠️ 迁移指南与重要提示

  1. 强制升级:从 Spring AI 1.x 迁移必须同时升级JDK 21Spring Boot 4Spring Framework 7。这是一个组合升级,需全面测试。
  2. 包与配置变化:部分API和配置属性可能已调整,建议参照官方2.0文档。OpenAI等模块的Starter artifactId可能包含-spring-boot-starter后缀。
  3. 拥抱新特性:积极评估并采用Redis Chat Memory向量存储来简化架构,利用Claude Citations API等增强应用能力。
  4. 测试策略:由于是里程碑版本 (M1),API在后续RC或GA版中仍有变动的可能,建议在生产环境采用前进行充分验证。

📚 资源与后续学习

  • 官方文档:优先查阅 Spring AI 2.0 Reference Documentation,这是最准确的信息源。
  • 官方示例:关注 spring-ai-samples 仓库,获取2.x的示例代码。
  • 问题反馈:开发过程中遇到的问题,可以在 GitHub Issues 进行搜索或反馈。

总而言之,Spring AI 2.0.0-M1 是一次面向未来的重大升级,通过强制采用最新技术栈和引入强大的新功能(特别是围绕Redis和各大模型),为构建下一代Java AI应用奠定了坚实的基础。开始迁移时,请务必规划好技术栈的整体升级路径。

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

运营述职 PPT 工具横评:效率与呈现谁更优

每到季度末&#xff0c;做运营述职 PPT 就成了运营人的噩梦。好不容易搞定了基础的数据整理&#xff0c;又要担心写不出吸引人的内容&#xff0c;熬夜熬到两眼发黑&#xff0c;内容框架还是一团乱麻。好不容易把内容凑齐了&#xff0c;又得在排版设计上绞尽脑汁&#xff0c;颜色…

作者头像 李华
网站建设 2026/3/28 4:43:36

基于微信小程序的新冠疫情防控信息管理系统毕设源码+文档+讲解视频

前言 本课题聚焦新冠疫情防控场景下信息管理的高效化需求&#xff0c;针对传统防控信息收集滞后、数据分散、交互不便等痛点&#xff0c;设计开发基于微信小程序的新冠疫情防控信息管理系统。系统以微信小程序为前端载体&#xff0c;结合Node.jsExpress后端框架与MongoDB数据库…

作者头像 李华
网站建设 2026/3/28 15:37:00

使用OpenGL绘制卡通效果的圣诞树

使用OpenGL绘制卡通效果的圣诞树引言1. 加载3D圣诞树模型1.1 模型准备1.2 使用Assimp库加载模型2. 使用OpenGL绘制圣诞树2.1 初始化OpenGL2.2 设置着色器3. 添加卡通效果3.1 卡通着色原理3.2 实现卡通着色3.3 添加轮廓线4. 增强圣诞气氛4.1 装饰品4.2 闪烁灯光4.3 雪花粒子系统…

作者头像 李华
网站建设 2026/4/2 15:22:54

算法讲解15:栈

栈&#xff1a;先进后出公式&#xff1a;卡特兰数&#xff1a;n个不同的元素按照某个顺序入栈&#xff0c;对应的合法的出栈顺序有几个&#xff1f;公式如下&#xff1a;C n__2n______n1题目&#xff1a;给出两个序列pushed和poped两个序列&#xff0c;其取值从1到n(n ≤ 10000…

作者头像 李华
网站建设 2026/3/30 11:41:02

Java计算机毕设之基于Springboot+Vue动漫推荐平台管理系统基于协同过滤算法的动漫推荐系统(完整前后端代码+说明文档+LW,调试定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/3/31 19:53:08

[驱动之路(九)——UART(串口)子系统]学习总结,万字长篇,一文彻底搞懂UART(串口)子系统(含串口数据收发流程解析)

一、UART是什么&#xff1f;UART&#xff08;通用异步收发传输器&#xff09;是一种异步串行通信接口&#xff0c;常用于嵌入式系统和计算机之间传输数据。 它结构简单、稳定可靠&#xff0c;是嵌入式开发中最重要的调试和外接模块的接口之一。串口的主要用途&#xff1a;打印调…

作者头像 李华