外观
Spring AI
Spring 官方 AI 应用框架:把 Spring 的可移植、模块化设计原则应用到 AI 工程,连接企业数据/API 与模型。
它是做什么的
Spring AI 面向在 Spring / Spring Boot 中开发生成式 AI 应用。官方反复强调核心挑战是:Connecting your enterprise Data and APIs with AI Models。项目受 LangChain、LlamaIndex 等启发,但不是直接移植——信念是生成式 AI 应用不应只属于 Python 开发者。
能力覆盖跨厂商可移植 API(Chat、Embedding、文生图、语音转写/合成、审核等,支持同步与流式)、主流向量库与类 SQL 元数据过滤、Tools/Function Calling、对话记忆与 RAG、文档 ETL、可观测性、模型评估,以及 MCP(消费 MCP Server 或把 Spring 服务暴露给 AI 生态)。另有 ChatClient Fluent API 与 Advisors(封装常见生成式模式)。
语言生态:Java + Spring Boot(文档注明 Spring AI 2.0.x 支持 Boot 4.0.x / 4.1.x,以官方升级说明为准)。
典型场景:企业文档问答、带工具的对话服务、多模型/多向量库可替换架构。与现有 Spring 配置与观测体系自然对齐。
要点
- 抽象可替换:同一套业务代码尽量少改即可换模型或向量库;Starter / Auto Configuration 降低接入成本。
- ChatClient + Advisors:写法接近 WebClient/RestClient 习惯,便于 Spring 团队落地。
- RAG 与工具:官方简化 RAG 管道与函数调用样板;适合「问自己的文档」类用例。
- 与 LangChain4j:都能做 Java RAG/Agent。Spring AI 是 Spring 一等公民;LangChain4j 是独立 JVM 库(也有 Spring 集成)。选型看团队是否以 Spring Boot 为中心、以及是否需要 MCP/观测与现有 Spring 体系对齐。
适合谁
- 已有 Spring 体系的企业团队,希望 AI 能力与 Bean、配置、观测一致
- 要在同一抽象下切换云厂商模型与多种向量库
- 需要把内部 API 以工具或 MCP 形式交给模型调用
官方入口
- 项目页
- 参考文档
- Getting Started
- GitHub
- Spring Initializr(勾选 AI Models / Vector Stores)
建议怎么用
用 start.spring.io 选好模型与向量库 Starter,配置密钥后先跑通 ChatClient 最小对话;再按文档叠加 Advisor、RAG 与工具调用。需要标准化对外暴露或复用外部工具时再接 MCP。升级时阅读官方 Upgrade Notes,确认与 Spring Boot 主版本匹配。示例工程见 spring-ai-examples 仓库,便于对照特性用法。