> 自媒体 > (AI)人工智能 > 4. ChatClient 的初始,快速使用上手
4. ChatClient 的初始,快速使用上手
来源:墨码行者
2025-10-01 12:09:36
215
管理
C 4. ChatClient 的初始,快速使用上手

@[toc]

C ChatClient

ChatClient 基于 ChatModel 进行了封装提供了通用的 API,它适用所有的大模型,使用 ChatClient 可以让你面向 SpringAi 通用的 api 而无需面向为每一种不同的模型的 api(比如我们之前的什么 DashScopeChatModel,XXXModel,使用 ChatClient 就无效关心这里是那个大模型 ModelL )来进行编程,虽然您仍然可以使用 ChatModel 来实现某些模型更加个性化的操作(ChatModel 更偏向于底层),但 ChatClient 提供了灵活、更全面的方法来构建您的客户端选项以与模型进行交互:比如系统提示词、格式式化响应、聊天记忆 、tools 都更加易用和优雅,所以除非 ChatClient 无法实现,否则我们 优先考虑用 ChatClient 。

所以我们后续基于 ChatClient 来进行学习应用。基于 ChatModel 来学习源码,因为 ChatClient 底层依然还是 ChatModel 的封装。 #技术分享

基本使用必须通过ChatClient.Builder 来进行构造

@SpringBootTestpublic class ChatClientTest { @Test public void testChatClient(@Autowired ChatClient.Builder builder) {ChatClient chatClient = builder.build(); String content = chatClient.prompt() .user("Hello") .call() .content(); System.out.println(content); } }

这种方式会在底层自动注入1个 ChatModel ,如果你配置了多个模型依赖,会无法注入。

可以通过这种方式动态选择 ChatModel:

@SpringBootTestpublic class ChatClientTest {@Test public void testChatOptions(@Autowired DeepSeekChatModel chatModel) {ChatClient chatClient = ChatClient.builder(chatModel).build(); String content = chatClient.prompt() .user("Hello") .call() .content(); System.out.println(content); } }流式

@Test public void testChatStream() { Flux content = chatClient.prompt() .user("Hello") .stream() .content();content.toIterable().forEach(System.out::println); }C ChatClient 《多个模型动态切管理实战》

1)application.properties

# DeepSeek 配置spring.ai.deepseek.chat.api-key=你的 APIKey spring.ai.deepseek.chat.options.model=deepseek-chat# Ollama 配置,模型暂定qwen3:4b已拉取到本地spring.ai.ollama.chat.base-url=http://localhost:11434 spring.ai.ollama.chat.options.model=qwen3:4b

org.springframework.aispring-ai-starter-model-deepseekorg.springframework.aispring-ai-starter-model-ollama

定义3个 ChatClient 的 bean。也可以根据请求动态创建,看需求

@Configurationpublic class AiConfig {@Bean public ChatClient deepseekR1(DeepSeekChatProperties chatProperties) {DeepSeekApi deepSeekApi = DeepSeekApi.builder() .apiKey(System.getenv("DEEP_SEEK_KEY")) .build();DeepSeekChatModel deepSeekChatModel = DeepSeekChatModel.builder() .deepSeekApi(deepSeekApi) .defaultOptions(DeepSeekChatOptions.builder().model(DeepSeekApi.ChatModel.DEEPSEEK_REASONER).build()) .build();return ChatClient.builder(deepSeekChatModel).build(); }@Bean public ChatClient deepseekV3() {DeepSeekApi deepSeekApi = DeepSeekApi.builder() .apiKey(System.getenv("DEEP_SEEK_KEY")) .build();DeepSeekChatModel deepSeekChatModel = DeepSeekChatModel.builder() .deepSeekApi(deepSeekApi) .defaultOptions( DeepSeekChatOptions.builder() .model(DeepSeekApi.ChatModel.DEEPSEEK_CHAT) .build() ) .build();return ChatClient.builder(deepSeekChatModel).build(); }@Bean public ChatClient ollama(@Autowired OllamaApi ollamaApi, @Autowired OllamaChatProperties options) { OllamaChatModel ollamaChatModel = OllamaChatModel.builder() .ollamaApi(ollamaApi) .defaultOptions(OllamaOptions.builder().model(options.getModel()).build()) .build();return ChatClient.builder(ollamaChatModel).build(); }}

请求:

@RestControllerpublic class MultiModelsController {@Autowired private Map chatClientMap;@GetMapping("/chat") String generation(@RequestParam String message, @RequestParam String model) { ChatClient chatClient = chatClientMap.get(model); String content = chatClient.prompt().user(message).call().content(); return content; } }最后:

“在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。感谢你们,我们总会在某个时刻再次相遇。”

0
点赞
赏礼
赏钱
0
收藏
免责声明:本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本网证实,对本文以及其中全部或者 部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 凡本网注明 “来源:XXX(非本站)”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对 其真实性负责。 如因作品内容、版权和其它问题需要同本网联系的,请在一周内进行,以便我们及时处理。 QQ:617470285 邮箱:617470285@qq.com
相关文章
国产车也能卖上百万,这4款称得上真正的“国产之光”!..
随着时代的变化,中国品牌车型的出口量迅猛增长,仅2022年的出口量就达到..
一周图说:上海车展前,关于国产车你要知道这些
上海车展即将在下周(4月20-29日)开幕。中国作为全球最大和发展最快的汽..
试完2026款卡罗拉\u0026锐放,我直接退了国产车的订单
说实话,我一开始是冲着国产车去的。15万预算,配置表翻烂了,什么大屏、..
别乱选!质量可靠的十大国产车:红旗奇瑞被认可,吉利哈弗入围!..
近两年,国产车品牌通过加速布局新能源汽车市场,实现了销量方面的“弯道..
盘点国产质量巅峰的6款车,过年回家在这里选,省心10年开不坏..
之前人们对于国产车没有太高的认可度,认为国产车质量并不出色,可是如今..
2023上半年销量最好的50款SUV揭晓,国产车几乎霸...
2023年1-6月SUV全国合计445.4万辆。数据来源:乘联会。·丰田卡罗拉锐放-..
1月豪车排名:商务人士依旧不认可国产车
1月这张中大型轿车榜单,看着像“油车反扑”,其实更像一面照妖镜:谁在..
油耗低,空间大,续航长,家用一流,盘点5款20w级高品质国产车..
纵观2024年国内车市,“内卷”一词能贯穿全年。各家车企之间的价格战也是..
国产车尴尬了?国外机构评测:没有实体按键的汽车,安全性差一些..
如果大家有关注现在的汽车风向标,特别是新能源汽车,就会发现一个很明显..
关于作者
快乐的老范..(普通会员)
文章
1892
关注
0
粉丝
0
点击领取今天的签到奖励!
签到排行

成员 网址收录40418 企业收录2986 印章生成263660 电子证书1157 电子名片68 自媒体104736

0
0
分享
请选择要切换的马甲:

个人中心

每日签到

我的消息

内容搜索