轻松入门 Spring AI 调用阿里通义千问(Alibaba Tongyi Qianwen)实战
(2026年1月 · 两种主流方式对比 + 最实用代码模板)
目前(2026年初)接入阿里通义千问主要有两种主流路径,推荐顺序如下:
| 排名 | 接入方式 | 优点 | 缺点/限制 | 推荐场景 | 难度 |
|---|---|---|---|---|---|
| 1 | OpenAI兼容接口(最推荐) | 配置极简、代码复用率最高、生态最全 | 需联网、依赖阿里API Key | 快速开发、生产环境、混合模型 | ★☆☆ |
| 2 | Spring AI Alibaba 官方starter | 原生支持阿里生态、多模态/Agent更强、可观测性好 | 依赖更多阿里系starter、学习曲线稍高 | 深度集成阿里云、Agent/多智能体 | ★★★ |
方式一:OpenAI兼容模式(99%场景首选,超级简单)
通义千问从2024年起就提供了非常完善的 OpenAI 兼容接口,所以直接用 spring-ai-openai-spring-boot-starter 就能无缝接入。
1. 依赖(只需这个)
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-openai-spring-boot-starter</artifactId>
</dependency>
2. application.yml 最简配置(2026主流模型推荐)
spring:
ai:
openai:
base-url: https://dashscope.aliyuncs.com/compatible-mode/v1 # 国内推荐
# base-url: https://dashscope-intl.aliyuncs.com/compatible-mode/v1 # 国际/海外用这个
api-key: sk-你的阿里云DashScope API Key # 从阿里云控制台获取
chat:
options:
# 2026年初最常用组合(性价比/能力排序)
model: qwen-max-latest # 最强旗舰(推荐)
# model: qwen-plus-latest # 性价比之王
# model: qwen-turbo-latest # 最快最便宜
# model: qwen-vl-max-latest # 多模态(图文理解)- 需支持vision的chat client
temperature: 0.7
max-tokens: 8192
3. 通用代码模板(几乎和OpenAI/DeepSeek一模一样)
@RestController
@RequestMapping("/ali")
@RequiredArgsConstructor
public class AliQwenController {
private final ChatClient chatClient;
// 1. 普通聊天
@GetMapping("/chat")
public String chat(@RequestParam String msg) {
return chatClient.prompt()
.user(msg)
.call()
.content();
}
// 2. 流式输出(前端打字机效果)
@GetMapping(value = "/stream", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
public Flux<String> stream(@RequestParam String msg) {
return chatClient.prompt()
.user(msg)
.stream()
.content();
}
// 3. 带记忆 + 系统角色(最实用写法)
private final ChatMemory memory = new MessageWindowChatMemory(12);
@GetMapping("/memory")
public String memoryChat(
@RequestParam String sessionId,
@RequestParam String message) {
return chatClient.prompt()
.system("""
你是一位非常专业、幽默、喜欢用生活比喻解释复杂问题的「资深解决方案架构师」
用中文回答,结构清晰,尽量使用 markdown 格式
""")
.user(message)
.advisors(MessageChatMemoryAdvisor.builder()
.chatMemory(memory)
.sessionId(sessionId)
.build())
.call()
.content();
}
}
方式二:使用 Spring AI Alibaba 官方(适合深度集成阿里生态)
如果需要多模态、Agent、Graph工作流、可观测性(ARMS)等阿里专属增强功能,建议用官方 spring-ai-alibaba 系列starter。
依赖示例(选择你需要的模块)
<!-- 核心 dashscope 支持 -->
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
<artifactId>spring-ai-alibaba-starter-dashscope</artifactId>
<version>1.0.x 或最新GA</version> <!-- 2025下半年起1.0 GA 很稳定 -->
</dependency>
<!-- 如果要做Agent/Graph工作流 -->
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
<artifactId>spring-ai-alibaba-starter-graph</artifactId>
</dependency>
配置示例(部分差异)
spring:
cloud:
ai:
dashscope:
api-key: sk-你的key
chat:
model: qwen-max-latest
代码层面与上面类似,但会多出一些阿里专属的 ChatModel、Graph 等高级抽象。
2026年通义千问主流模型速查(性价比推荐)
| 模型名称 | 能力定位 | 速度 | 价格 | 推荐场景 |
|---|---|---|---|---|
| qwen-max-latest | 最强旗舰(推理/代码/中文) | ★★ | ★★★ | 生产主力 |
| qwen-plus-latest | 性价比王者 | ★★★ | ★★★★ | 日常/中大型项目 |
| qwen-turbo-latest | 最快、最便宜 | ★★★★★ | ★★★★★ | 高并发、简单问答 |
| qwen-vl-max-latest | 多模态(图文理解最强) | ★★ | ★★★ | 看图说话、OCR、文档理解 |
一句话总结当前最舒服的入门组合:
Spring Boot 3.3+ / Spring AI 1.0+
+ spring-ai-openai-starter
+ 通义千问 OpenAI兼容接口
+ qwen-max-latest / qwen-plus-latest
+ ChatClient流式 + Memory + 系统提示
这样写出来的代码跟接入DeepSeek、硅基流动几乎一模一样,切换成本极低。
需要我帮你扩展某个具体场景吗?
例如:
- 通义千问多模态(图片理解)
- 函数调用(Tool Calling)
- 简单Agent/Graph工作流
- RAG + 阿里向量引擎
直接告诉我你的下一步想玩的方向~ 😄