package com.ard.agent.config; import org.springframework.ai.chat.client.ChatClient; import org.springframework.ai.chat.client.advisor.MessageChatMemoryAdvisor; import org.springframework.ai.chat.client.advisor.SimpleLoggerAdvisor; import org.springframework.ai.chat.memory.ChatMemory; import org.springframework.ai.chat.model.ChatModel; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; /** * 配置类:基于自动注入的 ChatModel 构建 ChatClient */ @Configuration public class SaaLLMConfig { /** * 创建一个命名的 ChatClient(基于 dashScopeChatModel) * 名称为 "dashScopeChatClient" */ //@Primary @Bean("dashScopeChatClient") public ChatClient dashScopeChatClient(@Qualifier("dashScopeChatModel") ChatModel dashScopeChatModel, ChatMemory chatMemory) { return ChatClient.builder(dashScopeChatModel) .defaultAdvisors(MessageChatMemoryAdvisor.builder(chatMemory).build()) .build(); } /** * 创建一个命名的 ChatClient(基于 dashScopeChatModel) * 名称为 "dashScopeChatClient" */ @Primary @Bean("ollamaChatClient") public ChatClient ollamaChatClient(@Qualifier("ollamaChatModel") ChatModel ollamaChatModel, ChatMemory chatMemory) { return ChatClient .builder(ollamaChatModel) .defaultAdvisors( MessageChatMemoryAdvisor.builder(chatMemory).build(), SimpleLoggerAdvisor.builder().build()) .build(); } }