Spring AI 1.0 GA 正式发布!Spring AI Alibaba 正式版也马上来了!
北京时间 2025 年 5 月 20 日,Spring AI 官方团队宣布 1.0 GA 版本正式发布。在过去的近一年时间,Spring AI Alibaba 一直与 Spring AI 社区有深度沟通与合作,期间发布了多个 Milestone 版本,并在此基础上构建了以 agent、multi-agent、企业级生态(如阿里云百炼集成、可观测集成、分布式MCP、Nacos、Higress)、通用智能体(如JManus、DeepResearch)等为特色的框架与解决方案。
在 Spring AI 1.0 GA 版本开发期间,Spring AI Alibaba 就在积极的参与讨论、贡献与适配,目前 Spring AI Alibaba 1.0 GA 版本相关开发工作也已经基本就绪,支持从聊天机器人、工作流到多智能体的 AI 应用开发,预计将于本周内正式发布。
在 Spring AI Alibaba 1.0 GA 版本发布之前,接下来,我们先一起来看一下 Spring AI 1.0 GA 版本都包含哪些新功能。
两件有意思的事情
第一件事,是 Spring AI 官方发布了全新 LOGO:

第二件事,Spring AI 官方目前并没有将 1.0.0 的二进制包推送到 Maven 中央仓库,而是选择继续推送到 Spring 自己维护的 Maven 库。因此,1.0.0 版本的开发者目前还是需要在项目中增加以下仓库配置,以便在 Maven Central 中找到依赖包。
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-bom</artifactId>
<version>1.0.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
开启 Spring AI 1.0 GA 之旅
接下来,让我们来了解一下 Spring AI 1.0 GA 功能集。
Spring AI 的核心是ChatClient,这是一种可移植且易于使用的 API,是与 AI 模型交互的主要接口。
Spring AI 的 ChatClient 支持调用20 个AI 模型,包括 Anthropic、OpenAI、Ollama 等。它支持多模态输入和输出(前提是底层模型能支持)以及结构化响应 —— 通常以 JSON 格式呈现,以便于在应用程序中处理输出。
有关 AI 模型功能集的详细比较,请访问官方参考文档中的ChatModel Comparison
提示(Prompt)
创建正确的 Prompt(即传递给模型的内容)是一项重要技能。有几种模式可以充分利用 AI 模型,从而获得最佳结果。 您可以参考 Prompt示例 学习如何在 Spring AI 中编写正确的 Prompt。
模型增强(The Augmented LLM)
然而,现实世界中 AI 应用程序对大模型的需求,超越了与无状态人工智能模型 API 的简单请求/响应交互。
要构建高效的 AI 应用程序,一系列支持功能至关重要。模型增强 的概念(如下图所示)正是为此而生,它为基础模型添加了数据检索(RAG)、对话记忆(Memory)和工具调用(Tool)等功能。这些功能允许您将自己的数据和外部 API 直接引入模型的推理过程。

在 Spring AI 中实现此模式的关键是 Advisor。
顾问(Advisors)
Spring AI ChatClient 的一个关键特性是 Advisor API。这是一个拦截器链设计模式,允许你通过注入检索数据(Retrieval Context)和对话历史(Chat Memory)来修改传入的 Prompt。
现在让我们深入了解 AI 应用开发中模型增强模式的每个组成部分。
检索(Retrieval)
在 AI 应用程序中检索数据的核心是数据库,而矢量数据库是最常见的数据库。Spring AI 提供了一个可移植的矢量存储抽象,支持从 Azure Cosmos DB 到 Weaviate 的20 种不同的矢量数据库。
使用这些数据库的一个常见挑战是,每个数据库都有自己独特的元数据过滤查询语言。Spring AI 使用一种可移植的过滤器表达式语言解决了这个问题,该语言使用熟悉的类似 SQL 的语法。如果您达到了这种抽象的极限,可以回退到原生查询。
Spring AI 包含一个轻量级、可配置的ETL(提取、转换、加载)框架,可简化将数据导入向量存储的过程。它通过可插拔组件支持各种输入源DocumentReader,包括本地文件系统、网页、GitHub 存储库、AWS S3、Azure Blob 存储、Google Cloud Storage、Kafka、MongoDB和兼容 JDBC 的数据库。这让您可以轻松地将几乎任何地方的内容引入 RAG 管道,并内置了对分块、元数据丰富和嵌入生成的支持。
Spring AI 还支持检索增强生成 (RAG) 模式,该模式使 AI 模型能够根据您传入的数据生成响应。您可以先使用简单的方法QuestionAnswerAdvisor 将相关上下文注入提示中,也可以使用 扩展至更复杂、更模块化的 RAG 管道,以满足您的应用需求RetrievalAugmentationAdvisor。
记忆(ChatMemory)
对话历史记录是创建 AI 聊天应用程序的重要组成部分。Spring AI 通过ChatMemory接口支持这一点,该接口管理消息的存储和检索。该MessageWindowChatMemory实现在滑动窗口中维护最后 N 条消息,并随着对话的进展进行自我更新。它委托给一个ChatMemoryRepository,我们目前为 JDBC、Cassandra 和 Neo4j 提供存储库实现,并且正在开发更多版本。
另一种方法是使用VectorStoreChatMemoryAdvisor。它不仅仅记住最新消息,还使用向量搜索从过去的对话中检索语义最相似的消息。
工具(Tool)
Spring AI 可以轻松通过工具扩展模型的功能——自定义函数,让 AI 检索外部信息或执行实际操作。工具调用**(也称为函数调用gpt-4)由 OpenAI 于 2023 年 6 月首次广泛引入,并在和模型中发布了函数调用功能gpt-3.5-turbo。
工具可以获取当前天气、查询数据库或返回最新新闻,帮助模型解答训练数据以外的问题。它们还可以触发工作流、发送电子邮件或更新系统,从而将模型转变为应用程序中的活跃参与者。定义工具很简单:使用@Tool注解来声明方法,使用 动态注册 Bean @Bean,或以编程方式创建它们以实现完全控制。
评估(Evaluation)
创建 AI 应用程序充满乐趣,但如何知道它是否有效呢?遗憾的是,它并不像编写传统的单元测试或集成测试并查看测试结果那样简单。我们需要根据一系列标准评估 AI 模型的响应。例如,答案是否与提出的问题相关?它是否产生了幻觉?答案是否基于提供的事实?
