简介
本文介绍Spring Ai Alibaba快速入门的实战:对话。
申请API-KEY
需要先获取一个兼容 OpenAI 的平台的 ApiKey,推荐使用阿里的百炼平台,因为:
- 模型众多
- 还没有繁琐的申请与开通流程,注册账号、认证之后就可以直接使用
登录阿里百炼控制台,新用户可以免费领100W免费token,有效期90天。
注册
地址:https://bailian.console.aliyun.com/
创建:

结果

选择模型

本处选择千问max。点进去后,就可以复制模型编码:

创建SpringBoot项目
Spring AI对技术栈版本有要求,要求如下:
- Java 17+。(本文用JDK21)
- Spring Boot 3.x 或 Spring Boot 2.7+。(本文用3.5.7)
- Maven3.6.3+。(本文用Idea自带的3.8.1)
依赖
关键依赖:
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-model-openai</artifactId>
</dependency>
整个pom.xml
此内容 登录 后可见!
配置
application.yml
此内容 登录 后可见!
代码
测试接口
此内容 登录 后可见!
配置文件
此内容 登录 后可见!
测试
测试1:直接输出
访问:http://localhost:8080/doc.html
可以发现:1秒钟后,整个输出一次性返回。

后台输出:
2025-12-06T22:12:06.116+08:00 DEBUG 4316 --- [1_chat] [nio-8080-exec-1] o.s.a.c.c.advisor.SimpleLoggerAdvisor : request: ChatClientRequest[prompt=Prompt{messages=[SystemMessage{textContent='你是一个博学的智能聊天助手,请根据用户提问回答!', messageType=SYSTEM, metadata={messageType=SYSTEM}}, UserMessage{content='介绍下自己吧', metadata={messageType=USER}, messageType=USER}], modelOptions=OpenAiChatOptions: {"streamUsage":false,"model":"qwen-max","temperature":0.8,"top_p":0.7}}, context={}]
2025-12-06T22:12:09.483+08:00 DEBUG 4316 --- [1_chat] [nio-8080-exec-1] o.s.a.c.c.advisor.SimpleLoggerAdvisor : response: {
"result" : {
"output" : {
"messageType" : "ASSISTANT",
"metadata" : {
"role" : "ASSISTANT",
"messageType" : "ASSISTANT",
"refusal" : "",
"finishReason" : "STOP",
"annotations" : [ { } ],
"index" : 0,
"id" : "chatcmpl-b188605f-559e-4fc6-82b8-3550b340276d"
},
"toolCalls" : [ ],
"media" : [ ],
"text" : "你好,我是通义千问,由阿里云开发的AI助手。我被设计用来回答各种问题、提供信息、进行对话等。无论是科技、文化、生活常识还是其他领域的问题,我都会尽力给出准确、有用的回答。同时,我也会不断学习和进步,以更好地为你服务。希望我们能有愉快的交流!"
},
"metadata" : {
"finishReason" : "STOP",
"contentFilters" : [ ],
"empty" : true
}
},
"metadata" : {
"id" : "chatcmpl-b188605f-559e-4fc6-82b8-3550b340276d",
"model" : "qwen-max",
"rateLimit" : {
"requestsLimit" : null,
"requestsRemaining" : null,
"requestsReset" : null,
"tokensLimit" : null,
"tokensRemaining" : null,
"tokensReset" : null
},
"usage" : {
"promptTokens" : 31,
"completionTokens" : 74,
"totalTokens" : 105,
"nativeUsage" : {
"completion_tokens" : 74,
"prompt_tokens" : 31,
"total_tokens" : 105,
"prompt_tokens_details" : {
"cached_tokens" : 0
}
}
},
"promptMetadata" : [ ],
"empty" : false
},
"results" : [ {
"output" : {
"messageType" : "ASSISTANT",
"metadata" : {
"role" : "ASSISTANT",
"messageType" : "ASSISTANT",
"refusal" : "",
"finishReason" : "STOP",
"annotations" : [ { } ],
"index" : 0,
"id" : "chatcmpl-b188605f-559e-4fc6-82b8-3550b340276d"
},
"toolCalls" : [ ],
"media" : [ ],
"text" : "你好,我是通义千问,由阿里云开发的AI助手。我被设计用来回答各种问题、提供信息、进行对话等。无论是科技、文化、生活常识还是其他领域的问题,我都会尽力给出准确、有用的回答。同时,我也会不断学习和进步,以更好地为你服务。希望我们能有愉快的交流!"
},
"metadata" : {
"finishReason" : "STOP",
"contentFilters" : [ ],
"empty" : true
}
} ]
}
测试2:流式输出
流式输出需要客户端支持,而swagger和doc.html不支持,本处使用apifox。
有人说需要设置请求头:Content-Type设置为text/event-stream。本处我测试,是不需要的。
开始对话(可以发现:是流式输出的,持续输出文字,每次输出几个字,结束后会断开连接。)


测试3:记忆功能(默认无记忆)
测一下,看有没有记忆功能。


可以发现,默认没有上下文记忆功能!
功能优化:上下文记忆
见: Spring AI–快速入门2:上下文记忆+会话隔离 – 自学精灵
源码下载
本文所有源码:
此内容 登录 后可见!

请先 !