Spring AI 1.0.0 M7里程碑:拆分模块、更好用、更灵活
Spring AI 1.0.0 M7发布 下一个版本就是正式GA版本,所以这个版本必须得了解,不然正式版本发布,我们可能会迷茫
Spring AI的最新版本1.0.0 M7已经发布了,这是正式版前的最后一个里程碑版本。如果你正在或打算用Spring做AI应用,这篇文章绝对值得一看。我们来聊聊这次更新带来了哪些实用的变化和新功能,如下是我自己的分析和理解。
1. 拆分模块:按需引入,不再全都要
以前的Spring AI就像一个大型全家桶,想用一个功能却要引入一大堆不需要的东西。现在,M7版本把整个项目拆分成了多个独立模块,你只需引入真正需要的部分。
比如说:
- 只用OpenAI?只引入OpenAI的模块就行
- 只需要向量搜索?只引入向量存储相关模块
- 不需要持久化记忆?那就不用引入数据库模块
这样做的好处显而易见:
- 应用包更小,启动更快
- 依赖冲突更少
- 代码更清晰,不被不相关的API干扰
2. 命名更规范,查找更容易
如果你用过Spring AI,可能会被那些长长的、不一致的包名弄得头疼。现在,所有启动器的命名都变得规范了:
旧版:
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-openai-spring-boot-starter</artifactId>
</dependency>
新版:
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-model-openai</artifactId>
</dependency>
不仅如此,很多核心类的包路径也更合理了,IDE会自动帮你处理这些变化,所以升级时基本不用担心。
3. 更多AI模型支持,功能更丰富
这次更新支持了更多流行的AI模型,让你有更多选择:
- Claude 3.7 Sonnet:Anthropic最新的模型,现在是默认选项
- Gemini Pro 1.5:Google的大模型也加入了
- Mistral:支持审核功能,可以检测有害内容
- Ollama:本地模型也能用上了,包括新的LLAMA3_2_3B
尤其值得一提的是,OpenAI相关的功能也有很多更新,比如多模态支持、函数调用改进等。
4. 本地运行AI模型不再是难事
这个更新中最实用的功能之一是对Docker Model Runner的支持。这意味着什么?你可以在本地电脑上运行AI模型,不需要把数据发送到外部服务!
配置超简单:
spring.ai.openai.api-key=ignored
spring.ai.openai.base-url=http://localhost:12434/engines
spring.ai.openai.chat.options.model=ai/gemma3
这对于:
- 处理敏感数据的应用
- 没有稳定网络连接的环境
- 想降低API使用成本的团队
来说简直是福音!
5. 向量数据库选择更多样
如果你在做类似文档问答、搜索增强等功能,会用到向量数据库。这次更新支持了更多流行的选项:
- MongoDB Atlas:如果你已经用MongoDB,这是个好选择
- Elastic Search:全文搜索和向量搜索完美结合
- Apache Cassandra:适合大规模分布式场景
- Couchbase:另一个流行的NoSQL选择
不仅如此,聊天历史的存储也有了更多选择,包括JDBC、Neo4j等实现,让你能根据项目现状选择最合适的技术。
6. 通信协议升级,更稳定更灵活
M7版本集成了最新的MCP 0.9.0,这是AI模型通信的协议实现。虽然听起来很技术,但实际上这意味着:
- 同时处理多个用户请求会更稳定
- 工具调用(让AI使用外部工具)更可靠
- 支持更多Web框架,包括WebFlux和传统MVC
对于构建生产级AI应用,这些改进非常关键。
7. 开发体验全面提升
除了上面提到的大改动,还有很多小改进让开发更舒心:
- 多模态支持:现在可以轻松处理AI生成的图像
- HTML解析:新增JSoup支持,轻松提取网页内容
- 原生镜像支持:构建GraalVM原生镜像更顺畅
- 测试支持:TestContainer让你在测试中轻松使用向量数据库
8. 如何升级?其实没那么难
看到这么多变化,你可能担心升级会很麻烦。其实不会!
- 如果你使用Spring,大部分变化会自动处理
- 可以使用AI工具(如Claude Code)帮助自动更新依赖
- IDE会自动处理大多数包路径变更
最重要的是查看官方的升级指南,特别是如果你直接使用了低级API或MCP相关代码。
9. 总结:值得升级的一个版本
Spring AI 1.0.0 M7真的带来了很多实用的改进:模块化让你的应用更轻量,新的模型支持让你有更多选择,本地模型运行让你不再依赖外部服务。
虽然有一些破坏性变更,但升级带来的好处远大于付出的成本。而且,随着正式版即将到来,现在升级是个明智的选择,让你提前适应新的API和架构。
无论你是在构建简单的聊天机器人,还是复杂的文档问答系统,Spring AI都在变得更好用、更强大。所以,架构的变更,带来的风险越高,bug可能也有不少,目前我还没有具体使用,或许这是一次最大的变更了