支持私有化部署
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


Spring AI 1.0.0 M7 发布!很炸裂!!

发布日期:2025-04-15 16:17:27 浏览次数: 1559 作者:JavaGuide
推荐语

Spring AI 1.0.0 M7版本发布,Java开发者的AI开发新选择!

核心内容:
1. Spring AI 1.0.0 M7版本发布,下月即将发布RC1和GA版本
2. Spring AI简化Java开发者AI应用开发,提供统一API和组件抽象
3. 支持主流大模型和向量数据库,深度集成Spring生态,开箱即用

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家


今天想跟大家聊聊 Spring AI,Spring 生态被寄予厚望的 AI 开发框架。

就在前几天,Spring AI 发布了它的 1.0.0 版本的第七个里程碑(M7)下个月就是 RC1,紧接着就是 GA!,对于我们 Java 开发者来说,这绝对是个值得关注的好消息!

考虑到很多读者还不知道 Spring AI 是什么,这里先简单介绍一下。

Spring AI 介绍

简单来说,Spring AI 就是 Spring 家族为我们 Java 开发者量身打造的、用来简化 AI 应用开发的框架。

Spring AI 提供了构建常见 AI 应用的能力,例如:基于文档的问答、与文档交互的聊天。它的目标就是将数据和 API 无缝连接到 AI 模型中。




这是 Spring AI 官方对其的描述:

The Spring AI project aims to streamline the development of applications that incorporate artificial intelligence functionality without unnecessary complexity.

Spring AI 项目旨在简化集成人工智能功能的应用程序开发,避免不必要的复杂性。

Spring AI 核心想解决这几个问题:

  1. 提供抽象,屏蔽底层差异: 不管你用的是 OpenAI 的 GPT,还是谷歌的 Gemini,或者是 Anthropic 的 Claude,甚至是 Hugging Face 上的开源模型,Spring AI 都想提供一套统一的、可移植的 API 让你去调用。同样,对于向量数据库(像 Milvus、Pinecone、Redis、PGVector 等),它也提供了统一的 API 和查询方式。这意味着你的代码可以更容易地在不同的 AI 服务和数据库之间切换,不用被某个厂商锁死。
  2. 简化 AI 应用开发: 构建一个稍微复杂点的 AI 应用,比如 RAG(检索增强生成),涉及到数据加载、切分、向量化、存储、检索、调用 LLM 等一系列步骤。Spring AI 提供了像 ETL 框架、ChatClient、VectorStore 等组件和抽象,大大简化了这些流程的实现。
  3. 模型与向量数据库支持广泛: 它对接了市面上几乎所有主流的大模型提供商(聊天、文生图模型都支持)和向量数据库。选择非常丰富。
  4. 深度集成 Spring 生态: 这可是 Spring 的看家本领!提供了各种 Spring Boot Starter,让 AI 模型、向量数据库的配置和集成变得超级简单,遵循“约定大于配置”的原则,开箱即用。

项目地址:https://github.com/spring-projects/spring-ai/tags 

Spring AI 1.0.0 M7 改进

Spring AI 1.0.0 M7 号称是最后一个里程碑版本,值得关注一波,下个月就是 RC1,紧接着就是 GA!

这意味着框架的结构和核心 API 趋于稳定了。不过,也正因为如此,M7 带来了一些重要的(破坏性的)变更,主要是为了让整个框架结构更合理、更模块化。大家升级的时候需要注意一下!

下面我会对这个版本的改动做详细的解读,官方解读在这里:https://spring.io/blog/2025/04/10/spring-ai-1-0-0-m7-released 

1、包名和类路径大调整 (Breaking Change):

  • Starter 的 Artifact ID 变了! 命名规则更加规范了,比如模型相关的 Starter 从 spring-ai-{model}-spring-boot-starter 变成了 spring-ai-starter-model-{model},向量数据库的也类似。升级时 pom.xml 或 build.gradle 文件里的依赖需要修改。
  • 一些类的包路径也挪了地方,比如 Content、Media 相关类挪到了 org.springframework.ai.content 包下。不过别担心,这些重构你的 IDE(比如 IDEA)应该能自动帮你搞定。

2、核心架构大升级:从“大一统”到“模块化” (Core Architecture Improvements):

  • 这是 M7 最核心的变化!之前的 spring-ai-core 被拆分成了多个更专注的领域模块,比如:
    • spring-ai-commons: 最基础的,包含文档(Document)、文本分割器(TextSplitter)等核心模型和工具,不依赖其他 Spring AI 模块。
    • spring-ai-model: 负责 AI 能力的抽象,像 ChatModelEmbeddingModelImageModel 这些接口都在这。
    • spring-ai-vector-store: 统一的向量数据库抽象层。
    • spring-ai-client-chat: 更高层的对话式 AI API,像 ChatClient、对话记忆 (ChatMemory) 都在这里。
    • spring-ai-rag: 专门为 RAG 设计的框架。
    • spring-ai-model-chat-memory-*:持久化实现,Cassandra、Neo4j 和 JDBC 实现。
    • ......
  • 好处是啥?
    • 按需引入,应用更轻量: 你只需要引入你真正用到的模块,应用的依赖更少,部署包更小。
    • 减少依赖冲突: 模块化后,传递性依赖更少,跟其他第三方库冲突的概率也小了。
    • 关注点分离更清晰: 每个模块职责更明确。
  • 升级影响: 如果你之前用的是 Spring AI 的 Starter,那这个变化对你来说应该是透明的,因为 Starter 会自动帮你引入新的模块化依赖。但如果你是直接依赖旧的 spring-ai-core,那这次升级就需要手动调整依赖了。
  • 自动配置也模块化了: 配合核心架构的调整,自动配置类也拆分到各个模块对应的 autoconfigure 包里了,同样是为了减少不必要的依赖。
Spring AI 依赖项

3、升级到 MCP 0.9.0 (Breaking Change):

  • Spring AI 集成了最新的 Multimodal Client Protocol (MCP) 参考实现 0.9.0 版本。MCP 是 Spring AI 用于处理多模态交互(比如文本+图像)的一种协议。新版本带来了基于 Session 和 Exchange 的架构改进,更健壮、更符合规范。
  • 如果你用到了 MCP 相关的功能,升级时需要参考官方 MCP 升级说明进行代码调整,地址:https://docs.spring.io/spring-ai/reference/upgrade-notes.html#upgrading-to-1-0-0-m7 

4、模型集成更新与增强 (New and Enhanced Model Integrations):

  • Anthropic Claude: 支持了最新的 Claude 3.7 Sonnet 模型并设为默认,增加了 "thinking" 能力,API 命名向 "tool" 靠拢。
  • Mistral AI: 增加了内容审核模型、自定义 JSON 输出能力。
  • Ollama: 增加了更多模型参数和对新模型的支持(如 LLAMA3_2_3B)。
  • Azure OpenAI / OpenAI: 也有一些选项增强和问题修复。

5、重量级新特性:支持 Docker Desktop 的 Model Runner!

  • Docker Desktop 4.40 版本引入了 Model Runner 功能,可以在本地运行 AI 模型,并提供了一个与 OpenAI API 兼容的本地接口。
  • Spring AI M7 现在原生支持了这个功能!这意味着:
    • 你可以在本地(比如 M 系列芯片的 Mac)直接运行像 Gemma 这样的模型,而不需要把数据发送到云端。
    • 配置非常简单,只需要在 Spring AI 的 OpenAI 配置里把 base-url 指向本地 Model Runner 的地址(如 http://localhost:12434/engines)就行了,API Key 都可以忽略。
    • 所有 Spring AI 的功能(函数调用、流式输出等)都能无缝对接本地模型。
  • 这对于本地开发、调试、或者注重数据隐私的场景来说,简直是太方便了!

6、工具调用 (Tool/Function Calling) 和多模态能力增强:

  • 工具执行框架有改进,比如增加了 ToolExecutionEligibilityPredicate 接口。
  • 多模态方面,增强了对 Base64 编码图像的处理能力。

7、文档处理、记忆存储、向量数据库增强:

  • 增加了 JSoup HTML 文档读取器。
  • 新增了基于 JDBC 和 Neo4j 的 ChatMemory 实现。
  • 新增了 Couchbase 向量数据库支持,并对 Milvus、PgVector 等现有向量库做了增强。

8、开发者体验提升:

  • 改进了 Spring Boot 自动配置模式。
  • 增强了 AOT 和 Native Image 的支持。
  • 官方文档也做了更新,增加了 M7 的升级指南和模块架构图

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询