目录
- 一、前言
- 二、简介
- 三、核心能力概览
- 四、理解模块架构图
- 五、模型适配能力
- 六、最小应用示例
- 七、与传统 LLM 调用相比
- 八、总结
- 九、参考
一、前言
在 AI 正以前所未有的速度“下沉”到各类系统与业务的当下,Spring 官方推出的 Spring AI 项目,为 Java 开发者构建 AI 应用提供了原生生态支持。
本篇作为《Spring AI 深度实践全指南》的第一篇,将从宏观视角带你了解:
- Spring AI 是什么?为什么出现?
- 它能做什么?解决哪些问题?
- Spring AI 的模块架构与组件全景
二、简介
Spring AI 是由 Spring 团队推出的 AI 接入与增强框架,目标是:
“为 Java 应用程序提供一致、可配置、可扩展的 AI 接入与 Agent 构建能力。”
它提供了统一的抽象,隐藏了 LLM(大语言模型)背后 API 的复杂性,同时也支持与向量数据库、工具链、Prompt 模板、内存机制、智能 Agent 构建等模块配合使用。
Spring AI 的设计理念秉承 Spring 风格:“约定优于配置”、模块化、可组合、依赖注入友好。
三、核心能力概览
模块 | 作用简述 |
---|---|
ChatClient | 与 LLM 模型交互的统一客户端 |
PromptTemplate | 构造动态 Prompt 模板 |
Tool API | 让模型调用 Java 方法(如工具、服务等) |
VectorStore | 支持向量数据库用于 RAG 检索增强 |
Memory | 提供对话历史、Agent 记忆等持久能力 |
Agent | 多工具组合 + 任务执行规划器,构建智能体 |
EmbeddingClient | 统一封装嵌入生成调用(OpenAI、HuggingFace) |
四、理解模块架构图
说明:
ChatClient
是交互的核心。PromptTemplate
实现模板填充与变量注入。ToolExecutor
实现 Tool Calling(函数调用)。Memory
管理上下文记忆。VectorStoreRetriever
连接向量数据库。
五、模型适配能力
Spring AI 支持以下主流模型:
模型服务提供商 | 支持模型示例 | 接入方式 |
---|---|---|
OpenAI | GPT-3.5 / GPT-4 / Embedding | API Key |
Azure OpenAI | 同上,接入方式不同 | endpoint + api-version |
HuggingFace | Mistral / LLaMA2 等开源模型 | token + model-id |
Ollama | 本地部署模型(通过 REST 接入) | 默认端口本地 REST 调用 |
六、最小应用示例
@SpringBootApplication
public class AiDemoApplication {public static void main(String[] args) {SpringApplication.run(AiDemoApplication.class, args);}@Beanpublic ChatClient chatClient(OpenAiChatClient openAiChatClient) {return openAiChatClient;}
}
application.yml 配置:
spring:ai:openai:api-key: sk-xxxchat:model: gpt-4
使用示例:
@Autowired ChatClient chatClient;
String result = chatClient.call("请写一首七言律诗");
七、与传统 LLM 调用相比
传统方式(如直接调用 OpenAI SDK):
- 模型 API 耦合严重,难以切换
- Prompt 拼接凌乱,管理困难
- 无法统一调用日志、内存、工具
Spring AI 提供:
- 高层封装
- 统一日志
- Prompt 管理
- 向量集成
- 工具绑定
八、总结
本篇我们从宏观视角介绍了 Spring AI 的架构、能力、适配模型与典型使用方式。是不是很不错,心动了么?请关注博主文章哦。
九、参考
Java驱动AI革命:Spring AI八篇进阶指南——从架构基础到企业级智能系统实战