spring ai alibaba ChatModel ChatClient调用多种模型配置
·
环境信息:
jdk java21
spring-ai-alibaba 版本为1.0.0.2
spring-ai 版本为 1.0.0
spring-boot 版本为 3.5.7
import com.alibaba.cloud.ai.dashscope.api.DashScopeApi;
import com.alibaba.cloud.ai.dashscope.chat.DashScopeChatModel;
import com.alibaba.cloud.ai.dashscope.chat.DashScopeChatOptions;
import org.springframework.ai.chat.client.ChatClient;
import org.springframework.ai.chat.model.ChatModel;
import org.springframework.ai.chat.prompt.ChatOptions;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class SaaLLMConfig {
@Value("${spring.ai.dashscope.api-key}")
private String apiKey;
// 模型名称常量定义,一套系统多模型共存
private final String DEEPSEEK_MODEL = "deepseek-v3";
private final String QWEN_MODEL = "qwen3-max";
@Bean("deepSeek")
public ChatModel deepSeek() {
return DashScopeChatModel.builder().dashScopeApi(DashScopeApi.builder()
.apiKey(apiKey)
.build())
.defaultOptions(DashScopeChatOptions.builder()
.withModel(DEEPSEEK_MODEL)
.withMaxToken(2048)
.build()).build();
}
@Bean("qwen")
public ChatModel qwen() {
return DashScopeChatModel.builder().dashScopeApi(DashScopeApi.builder().apiKey(apiKey).build()).defaultOptions(DashScopeChatOptions.builder().withModel(QWEN_MODEL).build()).build();
}
@Bean(name = "deepSeekChatClient")
public ChatClient deepSeekChatClient(@Qualifier("deepSeek") ChatModel deepSeek) {
return ChatClient.builder(deepSeek).defaultOptions(ChatOptions.builder().model(DEEPSEEK_MODEL).build()).build();
}
@Bean(name = "qwenChatClient")
public ChatClient quenchatClient(@Qualifier("qwen") ChatModel qwen) {
return ChatClient.builder(qwen).defaultOptions(ChatOptions.builder().model(QWEN_MODEL).build()).build();
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)