《Spring Boot 3:高级与架构设计》第 6 章 Spring 拥抱 AI Spring AI 项目 阅读笔记
6.2 Spring AI 项目
如今 AI 高速发展,Spring Framework 作为传统的企业级应用开发框架正面临新的挑战。
随着 LLM 的广泛应用,开发者亟需一种能够无缝对接 AI,同时能够保持 Spring 家族生态的解决方案,于是 Spring AI 项目应运而生。
Spring AI 项目的出现为 Spring 家族生态填补了与 AI 整合的空缺,它提供了标准化的 AI 集成方式,使得开发者可以简单地将应用与 LLM 联系起来,通过调用 Spring AI 的 API 即可完成与 LLM 的交互。
6.2.1 起源与发展
6.1.1 节已经介绍过 LLM 的发展历程,从 2020 年 GPT-3 模型发布开始,部分先行体验的 Java 开发者就已经尝试在项目中接入 GPT-3,
此时 Spring 生态中还没有可以直接用于对接 LLM 的框架,也就是出现了技术断层和真空期。
这段时间,企业想要集成 LLM,需要编写大量工程代码来完成 Spring 与 LLM 的交互,导致大量重复 “造轮子” 的现象。
2022 年 ChatGPT 的爆发促使 Spring 团队开始孵化用于对接 LLM 的项目 “Project Babbage”。
最初,团队的目标只是构建一个类似于 Spring Data 的抽象层,通过抽象层+底层实现完成 ChatGPT 和其他模型的统一访问规范。
2023 年 3 月,该项目正式更名为 Spring AI 并在 GitHub 上开源,与之合作的有开源大模型托管平台 Hugging Face、OpenAI 适配器的支持者Microsoft 等。
经过两年多的迭代,Spring AI 目前已经具备多轮对话、图像语音交互、混合模态流水线等丰富功能,成为 Java 项目整合 AI 能力的不二之选。Spring AI 的演进历史再一次印证了“框架即抽象”的理念,通过持续抽象 AI 的复杂性,使 Java 开发者能够聚焦业务价值创新而不是与 LLM 的对接细节。Spring AI 的发展轨迹映射了从实验性技术到生产级组件的完整路径,为传统框架拥抱 AI 浪潮提供了参考。
6.2.2 核心功能
从功能上看,Spring AI 并不是用于训练和微调 LLM 的掌控者,更像是一个面对多种 LLM 游刃有余的调用者。
换言之,Spring AI 是一个集大成者的 LLM 调用客户端。Spring AI 主要提供了以下的核心功能。
(1)接入多种 AI 大模型的提供商,例如 OpenAI、Microsoft、Google、Ollama 等,并具备多轮对话、嵌入式、文生图、语音转文字、内容审查等功能。
(2)支持使用同步阻塞式响应和流式响应两种 LLM 响应方式。
(3)响应结构化输出,可以在 LLM 支持的前提下让输出的结果映射为 POJO。
(4)支持使用主流的向量数据库,如 Apache Cassandra、Azure Vector Search、Neo4J、Redis,甚至也支持关系型数据库,如 Oracle、PostgreSQL 等。
(5)可接入 Actuator 实现可观测性,这有助于运维和调试工作的展开。
(6)支持 ETL 管道处理和检索增强生成(RAG)。4
(7)支持整合 SpringSecurity,实现模型访问权限控制。
6.2.3 与传统 AI 集成的对比
早在 Spring AI 发布之前,市面上就已经出现基于 Java 实现的 LLM 对接框架,诸如 LangChain4j、Jlama 等。
我们以相对流行的 LangChain4j 为例,看看它与 Spring AI 的相同和不同之处。
从本质上看,Spring AI 是一个调用客户端,而 LangChain4j 具备本地模型训练和推理能力——二者的设计初衷不同,因此二者的核心定位也不同。
Spring AI更倾向于整合尽可能多的 AI 提供商,讲究的是大而全;
LangChain4j 则着眼于机器学习和深度学习,更偏向于深而专。
简言之,Spring AI 采用类似 Spring Data 的统一调用模式封装,是 AI 能力的使用者;
LangChain4j 则更像是算法工具箱,是 AI 能力的生产者。
从项目整合上看,Spring AI 脱胎于 Spring 团队,因此天然地具备整合 Spring Framework 和 Spring Boot 的能力,只需要少量声明式配置,即可完成与 LLM 的对接和调用,入门的门槛非常低;
LangChain4j 则需要开发者掌握一定的数学知识,而且在整合项目时还要编写大量 “胶水代码”,这会带来大量的前期准备工作。
从生产级应用和生态整合上看,Spring AI 可以很好地对接关系型数据库和向量数据库,而且可以集成 Spring Boot Actuator 以实现监控指标采集和查看,这极大地方便了运维工作的展开;
而 LangChain4j 的应用就不太乐观,因为它只是一个工具型框架,本身没有周边的集成能力,因此在生产级特性方面显得捉襟见肘。
当然,正如本节开头所说,LangChain4j 志不在此,它在设计之初就是深而专的工具箱,能把这一专业领域的能力做强做精就足够了。
作为开发者,我们在进行技术选型时也要正确看待不同类型的框架,合理选择匹配项目的框架才是恰当之举。
Spring AI 与 LangChain4j 的多维度对比如表 6-2 所示。
| 维度 | Spring AI | LangChain4j |
|---|---|---|
| 开发主体 | Spring 官方团队 | 社区开源(Dmytro Liubarskyi 发起),Red Hat、微软等企业支持 |
| 定位 | Spring 生态的 AI 能力拓展,把 AI 纳入 Spring Boot/Cloud 统一治理域 | JVM 上独立的 LLM 应用开发工具箱,框架无关(Spring、Quarkus、Helidon、纯 Java SE 均可) |
| 设计哲学 | 约定优于配置、自动装配、依赖注入,“配置 + Bean” | 组合优于继承、显式优于隐式,builder 构造 + 注解驱动 |
| 抽象层级 | ChatModel(底层)+ ChatClient(高层流式 API)+ Advisors 拦截链 | ChatModel + AiServices 声明式层(接口 + 注解),另有中低层组件 |
| 版本节奏 | spring-ai-bom 2.0.0(2026-06) | langchain4j-bom 1.19.0(2026-08) |
转载自 CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/Rockandrollman/article/details/168313019




