核心要点
Spring AI 是 Spring 官方维护的 AI 应用开发框架,面向 Java/Spring Boot,目标是让接入大模型像写普通 Spring 组件一样自然,沿用依赖注入、自动配置、Starter 等熟悉范式。
核心抽象 ChatClient 提供统一的流式/同步对话 API,配合多 Provider 适配层(OpenAI、Anthropic、Azure、Ollama、通义千问等)实现「换模型不改业务代码」的可移植性。
提供 Prompt 模板、Advisors(类中间件的调用链,可挂载记忆/RAG/日志)、Tool/Function Calling、结构化输出(直接映射到 Java 对象)、模块化 RAG 与向量库集成、可观测(Micrometer)等能力。
定位上对标 LangChain,但最大优势是与 Spring 生态无缝集成——企业现有 Java 服务、事务、安全、监控体系可直接复用,落地成本低。
标准回答
一句话定义
Spring AI 是 Spring 团队官方推出的 AI 应用开发框架,专为 Java 与 Spring Boot 生态设计。它的核心理念是把「调用大模型」变成一件和写普通 Spring 业务一样自然的事:用依赖注入拿到客户端、用 Starter 做自动配置、用注解暴露工具,企业不必为了接 AI 而切换到 Python 技术栈。
核心特性一:ChatClient 统一抽象
ChatClient 是面向开发者的主入口,提供流式与同步两种对话方式,链式 API 串起系统提示、用户消息、参数与后处理。它屏蔽了不同模型厂商的协议差异,让业务代码只面向一个稳定接口。
核心特性二:多 Provider 可移植
框架为 OpenAI、Anthropic、Azure OpenAI、Ollama、通义千问等主流模型提供了统一的 Provider 适配。切换底层模型通常只需改配置而非改代码,这对需要做多模型灰度、成本对比或合规切换的企业很关键。
核心特性三:Advisors 调用链
Advisors 是 Spring AI 的「类中间件」机制,类似 Servlet Filter,可以把对话记忆、RAG 检索增强、日志脱敏、安全审查等横切能力以可插拔方式挂到请求链路上,组合灵活、关注点分离。
核心特性四:工具调用与结构化输出
通过 @Tool 注解或 ToolCallback 注册,模型可以反向调用 Java 方法完成查库、调服务等动作;结构化输出能把模型返回直接绑定成强类型 Java 对象(如 record),省去手写 JSON 解析。
核心特性五:模块化 RAG、向量库与可观测
内置对多种向量数据库的集成、文档读取与切分管线,以及从简单到模块化的 RAG Advisor;同时基于 Micrometer 提供调用耗时、Token 用量等指标的可观测能力。
与 LangChain 的对比
二者定位相近,但 Spring AI 胜在与 Spring 生态的无缝融合——事务、安全、配置中心、监控、微服务治理都能直接复用,是 Java 团队落地大模型应用的自然选择。
常见误区
⚠️ 常见踩坑
不要把 Spring AI 当成「又一个模型 SDK」——它的价值在于工程化抽象(ChatClient、Advisors、自动配置),而非自己训练或托管模型。也不要误以为换 Provider 一定零成本:不同模型的能力、上下文长度、工具调用格式存在差异,可移植性主要解决调用层,提示词与能力适配仍需回归测试。此外,Spring AI 仍在快速演进,部分 API 在小版本间会调整,生产使用应锁定版本。
追问
追问 1:Spring AI 的 ChatClient 和 ChatModel 有什么区别?
ChatModel 是更底层的接口,直接对应某个模型 Provider 的调用,输入输出偏原始(Prompt 与 ChatResponse)。ChatClient 则是构建在其上的高层、面向开发者的流式 API,提供链式调用、默认系统提示、Advisors 挂载、结构化输出绑定等便利能力。日常业务推荐用 ChatClient,只有需要精细控制底层行为时才直接用 ChatModel。
追问 2:Spring AI 适合什么场景,相比直接调 HTTP API 优势在哪?
适合已有 Java/Spring 技术栈、希望把 AI 能力融入现有微服务的企业。相比裸调 HTTP:一是统一抽象与多 Provider 可移植,避免硬编码厂商协议;二是自动配置和依赖注入降低样板代码;三是 Advisors、RAG、工具调用、结构化输出等开箱即用,省去自己造轮子;四是天然复用 Spring 的配置、安全、监控与事务体系,工程治理成熟。
追问 3:Spring AI 是否支持本地模型和私有化部署?
支持。通过 Ollama 等 Provider 可以接入本地运行的开源模型(如 Llama、Qwen 系列),也能对接企业私有化部署的推理服务,只要其暴露兼容接口即可。这让对数据合规要求高的金融、政企场景可以在内网完成 RAG 与对话能力,同时仍享受 Spring AI 的统一抽象与生态集成。
🔗 相似问题
同一考点的不同问法,面试官可能换着问,一起刷更稳
没找到想看的面试题?把你想看的告诉我们 →
延伸学习
按主题分类的相关资源,便于系统复习