在spring ai的官方文档中,没有可以直接调用国内大模型的使用文档。自己在集成的过程中遇上了一些问题,记录一下。
一、架构前提条件
Spring AI 支持 Spring Boot 3.4.x 版本。
Spring Boot 3.4.x 版本需要使用java 17及以上版本
二、依赖注入
1、spring AI 支持好多大模型,但是国内的这些我没找到对应的依赖,意外得知可以使用openai的依赖
xml
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-model-openai</artifactId>
</dependency>
2、Spring AI 物料清单(BOM)声明了指定版本所有依赖的推荐版本。此为纯 BOM 版本,仅包含依赖管理,不涉及插件声明或 Spring/Spring Boot 的直接引用。你可使用 Spring Boot Parent POM 或 Spring Boot 的 BOM(spring-boot-dependencies)来管理 Spring Boot 版本。
添加 BOM 到项目:
xml
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-bom</artifactId>
<version>${spring-ai.version}</version>
<type>pom</type>
<scope>import</scope> <!-- BOM必须用import scope -->
</dependency>
</dependencies>
</dependencyManagement>
三、开启大模型
在大模型网站上选好喜欢的大模型,一定要记得开启
1、这里以豆包为例

2、点击选好的模型,即可得到模型名称,一定要点进去获取,可以点击的蓝字并不是模型的id

3、点进去就可以看到模型id

4、点击接入文档
4.1 这个就是在下文说到的url

4.2 Api Key

四、添加配置文件
其中base-url和completions-path拼成完整的可以调用的url
ini
# 大模型核心配置
spring.ai.openai.api-key=你的aip-key
spring.ai.openai.base-url=https://ark.cn-beijing.volces.com
# 大模型参数配置
spring.ai.openai.chat.options.model=你的模型
spring.ai.openai.chat.completions-path=/api/v3/chat/completions
五、然后就可以调用了,很方便
scss
// 注入统一的 ChatClientprivate final ChatClient chatClient;
public DouBaoChatController(ChatClient.Builder chatClientBuilder) {
this.chatClient = chatClientBuilder.build();
}
@GetMapping("/ai")
String generation(String userInput) {
return this.chatClient.prompt()
.user(userInput)
.call()
.content();
}