目录
- 版本概览与重大变更
- **革命性的技术栈升级**
- 📦 环境要求与项目配置
- 环境要求
- 依赖配置
- 基础配置 (`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 GA和Spring 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);}}🛠️ 迁移指南与重要提示
- 强制升级:从 Spring AI 1.x 迁移必须同时升级JDK 21、Spring Boot 4和Spring Framework 7。这是一个组合升级,需全面测试。
- 包与配置变化:部分API和配置属性可能已调整,建议参照官方2.0文档。OpenAI等模块的Starter artifactId可能包含
-spring-boot-starter后缀。 - 拥抱新特性:积极评估并采用Redis Chat Memory和向量存储来简化架构,利用Claude Citations API等增强应用能力。
- 测试策略:由于是里程碑版本 (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应用奠定了坚实的基础。开始迁移时,请务必规划好技术栈的整体升级路径。