本文只讲最基础的模型接入:配置依赖 → 配置密钥 → 调用接口,三步跑通同步、流式、带记忆、自定义参数四种对话方式。
完整代码 Demo 见资源包,可自行下载。
一、配置 POM 文件
1. 指定框架版本号
<properties> <java.version>17</java.version> <spring-ai.version>1.1.0</spring-ai.version> <spring-ai-alibaba.version>1.1.0.0</spring-ai-alibaba.version> <spring-ai-alibaba-extensions.version>1.1.2.1</spring-ai-alibaba-extensions.version> </properties>2. 依赖管理(引入 BOM)
通过 BOM 统一管理版本,后续引入具体依赖时无需再写版本号,避免版本冲突。
<dependencyManagement> <dependencies> <!-- Spring AI 官方 BOM --> <dependency> <groupId>org.springframework.ai</groupId> <artifactId>spring-ai-bom</artifactId> <version>${spring-ai.version}</version> <type>pom</type> <scope>import</scope> </dependency> <!-- Spring AI Alibaba BOM --> <dependency> <groupId>com.alibaba.cloud.ai</groupId> <artifactId>spring-ai-alibaba-bom</artifactId> <version>${spring-ai-alibaba.version}</version> <type>pom</type> <scope>import</scope> </dependency> <!-- Spring AI Alibaba 扩展 BOM --> <dependency> <groupId>com.alibaba.cloud.ai</groupId> <artifactId>spring-ai-alibaba-extensions-bom</artifactId> <version>${spring-ai-alibaba-extensions.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>3. 引入具体依赖
<dependencies> <!-- Web 依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- Spring AI Alibaba DashScope 依赖 --> <dependency> <groupId>com.alibaba.cloud.ai</groupId> <artifactId>spring-ai-alibaba-starter-dashscope</artifactId> </dependency> <!-- 测试依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies>二、配置 YML 文件
server: port: 18080 spring: application: name: spring-ai-alibaba-demo ai: dashscope: api-key: ${AI_DASHSCOPE_API_KEY:} # 从环境变量读取,避免硬编码 chat: options: model: qwen-plus # 默认使用 qwen-plus 模型提示:
api-key建议通过环境变量AI_DASHSCOPE_API_KEY注入,不要直接写死在配置文件里。获取密钥:大模型服务平台百炼控制台 → 创建 / 查看 API Key。
三、调用接口
项目启动后,服务端口为18080,资源包中已包含对应 jar 包,可直接访问以下接口:
| 功能 | 接口地址 |
|---|---|
| 同步对话 | http://localhost:18080/helloworld/simple/chat?query=你好 |
| 流式对话 | http://localhost:18080/helloworld/stream/chat?query=你好 |
| 带会话记忆 | http://localhost:18080/helloworld/advisor/chat/123?query=我叫小明 |
| 自定义参数 | http://localhost:18080/helloworld/advisor/newChat?query=你好&temperature=0.8&topP=0.7 |
同步对话:一次性返回完整结果。
流式对话:逐字返回,体验更接近 ChatGPT。
带会话记忆:路径中的
123为会话 ID,同一 ID 可记住上下文。自定义参数:可动态调整
temperature(随机性)、topP(采样范围)等模型参数。