SpringAI Alibaba 简介
大约 4 分钟
Spring AI Alibaba从入门到精通
第一章:Spring AI Alibaba简介与环境搭建
1.1 什么是 Spring AI Alibaba?
Spring AI Alibaba 是基于 Spring AI 构建的一套增强与扩展:它复用 Spring AI 统一的编程模型(ChatClient、Prompt、Tools、Streaming、VectorStore 等),同时把阿里云 DashScope(通义千问/百炼)相关能力做成更贴近 Java/Spring 的实现与自动配置,让你用熟悉的 Spring Boot 方式把大模型能力接进业务系统。
1.2 你将学到什么?
完成本系列后,你将具备这些能力:
- 从 0 到 1:用 Spring Boot 快速跑通 DashScope(Qwen)对话调用
- 可上线的流式体验:基于 SSE 做 token 流式输出
- 把模型“接上业务”:函数调用(Tools)+ 参数约束 + 鉴权与审计思路
- 把知识变成可检索能力:Embedding + 向量检索 + RAG 降低幻觉
- 工程化落地:错误分层、限流重试、可观测性、性能与成本优化
1.3 环境准备
请确保满足以下要求:
- Java 17 或更高版本
- Spring Boot 3.x
- Maven 3.8+(或 Gradle 8+)
- 一个可用的 DashScope API Key
1.4 创建第一个 Spring AI Alibaba 项目
本章目标:做一个最小可运行 Demo,提供 /ai 接口,返回通义千问生成的文本。
1.4.1 使用 Spring Initializr 创建项目
访问 https://start.spring.io/ 并选择:
- Project: Maven
- Language: Java
- Spring Boot: 3.2+(或更高)
- Dependencies: Spring Web 点击这里👇🏻获取:100万QPS短链系统、复杂的商城微服务系统、智能翻译助手AI Agent、SaaS点餐系统、刷题吧小程序、商城系统、秒杀系统、AI项目、代码生成神器、苏三demo项目、智能天气播报AI Agent、智能代码审查AI Agent等 10 个项目的:项目源代码、开发教程和技术答疑
1.4.2 添加依赖(推荐:BOM + DashScope Starter)
在 pom.xml 中引入 Spring Boot 与 Spring AI Alibaba 依赖(版本号以示例为准,你可以替换为团队统一版本):
<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>
<groupId>com.example</groupId>
<artifactId>spring-ai-alibaba-demo</artifactId>
<version>1.0.0</version>
<properties>
<java.version>17</java.version>
<spring-boot.version>3.2.0</spring-boot.version>
<spring-ai-alibaba.version>1.1.2.1</spring-ai-alibaba.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
<artifactId>spring-ai-extensions-bom</artifactId>
<version>${spring-ai-alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
<artifactId>spring-ai-alibaba-starter-dashscope</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>1.4.3 配置 API Key 与默认模型
推荐通过环境变量注入 Key,避免把密钥写入仓库:
export AI_DASHSCOPE_API_KEY="你的DashScopeKey"在 application.yml 中配置(使用环境变量引用):
server:
port: 8080
spring:
ai:
dashscope:
api-key: ${AI_DASHSCOPE_API_KEY:}
chat:
options:
model: ${DASHSCOPE_CHAT_MODEL:qwen-plus}
temperature: 0.21.5 编写第一个可运行接口
创建启动类与 Controller:
package com.example.saa;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringAiAlibabaDemoApplication {
public static void main(String[] args) {
SpringApplication.run(SpringAiAlibabaDemoApplication.class, args);
}
}package com.example.saa.api;
import org.springframework.ai.chat.client.ChatClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class ChatController {
private final ChatClient chatClient;
public ChatController(ChatClient chatClient) {
this.chatClient = chatClient;
}
@GetMapping("/ai")
public String chat(@RequestParam(defaultValue = "用一句话解释什么是Spring AI Alibaba") String message) {
return chatClient.prompt()
.user(message)
.call()
.content();
}
}1.6 运行与验证
启动应用:
mvn spring-boot:run访问:
http://localhost:8080/ai?message=请用三句话介绍通义千问1.7 本章小结
你已经完成了最关键的一步:在 Spring Boot 中用 Spring AI Alibaba 接入了 DashScope(Qwen)并跑通了第一个接口。
下一章我们会把“能跑”升级到“能控”:搞清楚 ChatClient、Prompt、Options 等核心概念,建立一套可长期演进的开发模型。
