Spring AI
Spring 官方推出的 AI 工程应用框架,深度融入 Spring 生态,为 Java 开发者提供统一的大模型集成接口,支持提示词管理、模型对接、RAG、Agent 等 AI 能力,采用提供商无关的统一 API 设计。
核心事实
时间轴 (近 90 天)
Spring AI 2.0 最大的更新在于对 Agent 生态的构建,使开发者不再需要叠加阿里巴巴 Agent 框架做大量改造。
Java开发者可通过Spring AI的VectorStore抽象或LangChain4j的EmbeddingStore接口操作向量数据库,无需深入底层细节。
Java中可通过Spring AI的@Tool注解或LangChain4j的ToolSpecification定义工具,模型返回调用请求后由框架执行并回传结果。
LangChain 有 LangChain4j,LangGraph 有 LangGraph4j,Spring AI 也有对应的 Graph 模块
学习路线分为三个阶段:第一个月打基础(大模型原理、提示词工程、function calling、Spring AI等);第二个月主攻核心能力(ReAct、工具调用、记忆机制、RAG,开发商用级项目);最后进阶拔高(多Agent协作、任务拆解、工作流编排)。
讲师认为Java在AI应用开发中位置尴尬:Spring AI、LangChain4j等框架更新滞后,很多公司Java层逐渐退化为BFF中间层,底层调用Python脚本。
Spring AI 的 Ollama Starter 本质上是把 Ollama 的 REST 接口封装成 Spring 的自动配置 Bean。
Spring AI 通过 @Tool 注解和 @ToolParam 注解简化函数调用(Function Calling)的实现。
在 Spring AI 中,使用包装类型(如 Integer)能正确表达 null 语义,避免模型缺省字段时被强制赋零值。
Spring AI 默认会对结构化输出进行重试与格式修复。
还有 38 条时间轴事件
全部知识事实 (20)
Spring官方推出了Spring AI框架,用于AI集成,与Spring Boot生态无缝衔接
80%已验证Spring AI支持OpenAI、Anthropic、Ollama等多种模型提供商,提供统一的API抽象层
80%已验证Spring AI 通过定义统一的 ChatModel、EmbeddingModel 等核心抽象接口,让上层业务代码与具体模型实现解耦
80%已验证Spring AI Alibaba是阿里巴巴基于Spring AI扩展的框架,支持智能体开发
80%已验证Agent开发框架包括LangChain生态里的LangChain、LangGraph、DeepAgents,以及面向Java开发者的Spring AI、Spring AI Alibaba
75%已验证Spring AI由VMware(现Broadcom)旗下的Spring团队于2023年启动
75%已验证Spring AI团队创建了Java版的MCP SDK,并在此基础上封装了Spring特性
70%已验证Spring AI提供了标准化的FunctionCallback接口用于Tool Calling实现
70%已验证Spring AI提供统一的VectorStore接口抽象,开发者切换不同向量数据库时无需修改业务逻辑代码
70%已验证豆包、DeepSeek对话产品以及Cursor这类AI编程工具本质上都是Agent的应用
65%已验证MCP 通过 tools/list 方法实现运行时动态工具发现,无需硬编码接口,相较于传统 REST API 集成是核心优势
65%已验证Spring AI的流式聊天通过响应式编程Reactor的Flux类型实现
65%已验证ChatClient是Spring AI提供的比ChatModel封装更完善的高级对话客户端,是实际开发中更推荐使用的入口
65%已验证使用 Spring AI 要求 JDK 版本为 17 及以上
65%已验证Spring AI的结构化输出功能可以将大模型返回内容自动封装成Java对象,支持JSON格式映射到POJO
65%已验证Spring AI的设计哲学直接借鉴了LangChain的模块化思路
65%已验证阿里巴巴Agent Framework完全兼容Spring AI,并提供基于Graph的Workflow流程编排能力和内置预制Agent
65%待验证Spring AI要求Spring Boot 3.x版本,低于此版本会报错
90%待验证Spring AI内置了对PGVector、Milvus、Chroma等向量存储的支持
85%待验证Spring AI中Tool的注册方式主要有两种:动态绑定(运行时根据请求动态加载工具)和静态绑定(编译期确定、随Bean初始化注册)
85%