跳到主要内容
📖 本章预览

本章为预览版本,展示部分核心内容。完整内容包含详细源码解析、实战代码和面试要点,加入知识星球即可解锁全部章节。

第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 章完整内容 + 持续更新
  • ✅ 配套源码 + 实战项目
  • ✅ 一对一答疑 + 面试辅导
  • ✅ 简历优化 + 内推机会

📚 本章完整目录

以下为本章完整目录结构,加入知识星球即可解锁全部内容。

2.2.3 配置文件

2.3 第一个 Spring AI 应用

2.3.1 最简对话接口

2.3.2 使用 ChatClient(推荐方式)

2.3.3 带参数控制的调用

2.4 Spring AI vs LangChain4j 对比

2.5 Spring AI Alibaba 增强生态