场景
国内外有不少提供免费额度的大模型API,很适合个人开发者或小型项目。
阿里云 (通义/百炼)
新用户会有免费额度,适合新人入门练手。
且官方提供starter,不用使用OpenAI 兼容等方式集成。
官方 Starter 集成:
这是最省力、最无缝的方式。
Spring AI 官方团队为少数主流厂商(如 Google Gemini)提供了专门的 Starter,
你只需要在配置文件中填入 api-key,就能获得开箱即用的 *ChatModel Bean。
OpenAI 兼容模式集成:
对于其他绝大多数平台,Spring AI 也提供了非常方便的通用接入方式。
因为许多平台的 API 设计都与 OpenAI 兼容,你可以在配置文件中将 base-url 指向目标平台,
并使用 OpenAI 的客户端来调用
集成阿里百炼平台(使用Spring AI Alibaba框架),JDK 17或更高是必须的。
因为spring-ai-alibaba-starter框架本身就要求JDK 17或更高版本。
框架基础依赖:
spring-ai-alibaba-starter构建在 Spring Boot 3.x 和 Spring AI 之上,而后两者从3.0版本开始,
就将JDK 17作为最低基础版本。
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
实现
单独给某项目配置JDK17环境
全局 JDK:
1.8(环境变量 JAVA_HOME 指向它)
需求:新装 JDK17,仅给单个项目使用
下载 JDK17
这里下载解压版(推荐,最安全)
直接解压到一个目录
✅ 不要添加到系统 PATH
✅ 不要修改系统环境变量
✅ 全局 JDK8 完全不动
IDEA 中给项目单独配置 JDK17(推荐)
步骤 1:打开项目 → 项目结构
快捷键:
Ctrl + Alt + Shift + S
步骤 2:配置 Project SDK(选择 JDK17)
Project SDK → 点击 New...
选择你解压 / 安装的 JDK17 目录
Project language level 选择 17
✅ 这一步只对当前项目生效!
步骤 3:配置编译器(关键)
进入 Settings → Build → Compiler → Java Compiler
当前项目的 bytecode version 设为 17
✅ 其他项目依然使用 JDK8,完全不受影响。
获取阿里云百炼 API Key
登录 阿里云百炼控制台。
https://bailian.console.aliyun.com/
在页面右上角选择 "华北2(北京)" 地域,
然后进入 "API Key" 页面,创建一个新的 API Key 并复制保存。
注意:
记得先去阿里云完成实名认证。
平台免费额度用尽后会转为付费,如果你希望避免意外扣费,
建议在百炼控制台开启 "免费额度用完即停" 功能。
新建SpringBoot项目
添加 spring-ai-alibaba-starter 依赖,并指定 Spring Milestones 仓库
修改pom文件:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.5</version>
</parent>
<groupId>com.example</groupId>
<artifactId>spring-ai-alibaba-bailian</artifactId>
<version>1.0</version>
<properties>
<java.version>17</java.version>
<spring-ai-alibaba.version>1.0.0-M5.1</spring-ai-alibaba.version>
</properties>
<dependencies>
<!-- Spring Boot Web Starter -->
<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</artifactId>
<version>1.0.0-M5.1</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
</repository>
</repositories>
注意上面的单独配置SpringAI仓库。
yml中添加如下配置:
spring:
ai:
dashscope:
api-key: 你自己申请的apikey
chat:
options:
model: qwen-max
新建一个对话controller
package com.badao.ai.controller;
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.Builder builder) {
this.chatClient = builder.build();
}
@GetMapping("/ai/generate")
public String generate(@RequestParam(value = "message", defaultValue = "你好") String message) {
return chatClient.prompt()
.user(message)
.call()
.content();
}
}
运行测试
启动项目,测试接口
