📖 本章预览
本章为预览版本,展示部分核心内容。完整内容包含详细源码解析、实战代码和面试要点,加入知识星球即可解锁全部章节。
第2章 十分钟用 Spring AI 跑通第一个 AI 应用
2.1 Spring AI 项目定位与架构总览
2.1.1 Spring AI 在 Spring 生态中的位置
Spring 生态全景:
┌─────────────────────────────────────────────┐
│ 应用层 │
│ Spring Boot App (你的业务代码) │
├─────────────────────────────────────────────┤
│ AI 能力层(Spring AI) │
│ ChatModel │ EmbeddingModel │ VectorStore │
│ RAG │ Function Calling│ Agent │
├─────────────────────────────────────────────┤
│ Spring Boot 基础设施 │
│ 自动装配 │ 配置管理 │ 依赖注入 │ AOP │
├─────────────────────────────────────────────┤
│ 模型提供商 │
│ OpenAI │ DashScope │ Ollama │ DeepSeek │
└─────────────────────────────────────────────┘
核心设计理念:
- 可移植性:一套代码对接所有模型,切换只改配置
- Spring 原生:遵循 Spring Boot 的自动装配和配置约定
- 模块化:按需引入,不用 RAG 就不引 VectorStore 依赖
2.1.2 核心模块一览
| 模块 | 作用 | 核心接口 |
|---|---|---|
| Chat | 对话生成 | ChatModel, StreamingChatModel |
| Embedding | 文本向量化 | EmbeddingModel |
| Image | 图像生成 | ImageModel |
| Audio | 语音处理 | SpeechModel, TranscriptionModel |
| VectorStore | 向量存储与检索 | VectorStore |
| Document | 文档加载与处理 | DocumentReader, DocumentTransformer |
| Advisor | 请求/响应拦截 | Advisor |
2.2 环境搭建
2.2.1 前置条件
- JDK 17+(Spring Boot 3.x 最低要求)
- Maven 3.8+ 或 Gradle 8+
- 一个模型 API Key(推荐先用通义千问,注册即送免费额度)
2.2.2 创建项目
使用 Spring Initializr 或手动创建 Maven 项目:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.4.1</version>
</parent>
<groupId>com.example</groupId>
<artifactId>spring-ai-demo</artifactId>
<version>1.0.0</version>
<properties>
<java.version>17</java.version>
<spring-ai.version>1.0.0</spring-ai.version>
</properties>
<dependencies>
<!-- Spring Boot Web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Spring AI + 通义千问 -->
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
<artifactId>spring-ai-alibaba-starter</artifactId>
<version>${spring-ai.version}</version>
</dependency>
</dependencies>
<!-- Spring AI BOM -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-bom</artifactId>
<version>${spring-ai.version}</version>
🔒 解锁完整内容
本章剩余内容需要解锁后查看
以上仅为本章部分预览内容,完整内容包含更多深度源码解析、实战代码和面试要点。
加入知识星球你将获得:
- ✅ 全部 26 章完整内容 + 持续更新
- ✅ 配套源码 + 实战项目
- ✅ 一对一答疑 + 面试辅导
- ✅ 简历优化 + 内推机会
📚 本章完整目录
以下为本章完整目录结构,加入知识星球即可解锁全部内容。