Spring AI 概览
约 489 字大约 2 分钟
布欧-Lewyon
2026-05-15
什么是 Spring AI
Spring AI 是 Spring 生态中用于 AI 应用开发的框架,它为与大语言模型(LLM)、向量数据库和 Embedding 模型的交互提供了统一的抽象层。类似 Spring Data 对数据库访问的抽象,Spring AI 抽象了 AI 服务的接入。
架构概览
核心模块
| 模块 | Starter | 用途 |
|---|---|---|
| OpenAI | spring-ai-openai-spring-boot-starter | 接入 OpenAI GPT 系列 |
| Ollama | spring-ai-ollama-spring-boot-starter | 接入本地 Ollama 模型 |
| Azure OpenAI | spring-ai-azure-openai-spring-boot-starter | 接入 Azure OpenAI |
| Anthropic | spring-ai-anthropic-spring-boot-starter | 接入 Claude |
| PGVector | spring-ai-pgvector-store-spring-boot-starter | PostgreSQL 向量存储 |
| Redis | spring-ai-redis-store-spring-boot-starter | Redis 向量存储 |
核心接口
ChatClient
// 基本调用
ChatClient chatClient;
String response = chatClient.call("Hello");
// 带 Prompt 的调用
Prompt prompt = new Prompt(new SystemMessage("You are a helpful assistant"));
String response = chatClient.call(prompt).getResult().getOutput().getContent();StreamingChatClient
Flux<String> stream = streamingChatClient.stream("Tell me a story");
stream.subscribe(System.out::println);EmbeddingClient
float[] embedding = embeddingClient.embed("Spring AI is awesome");版本与依赖管理
Spring AI 使用独立的 BOM 管理版本:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-bom</artifactId>
<version>1.0.0-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>还需要添加 Spring Milestones 仓库:
<repositories>
<repository>
<id>spring-milestones</id>
<url>https://repo.spring.io/milestone</url>
</repository>
</repositories>小结
- Spring AI 抽象了 LLM、Embedding、向量数据库的接入,提供统一的编程模型。
- 核心接口:
ChatClient(对话)、StreamingChatClient(流式)、EmbeddingClient(向量化)、VectorStore(向量 DB)。 - 通过 Starter 按需接入模型提供商(OpenAI / Ollama / Azure 等)。
- 使用 Spring AI BOM 管理依赖版本。
上一节:LLM 与 AI 基础概念 下一节:环境准备
