Spring AI Alibaba-ChatClient
一、ChatClient是什么二、ChatModel与ChatClient的区别ChatModel:对话模型(ChatModel)是底层接口直接与具体大语言模型交互提供call()和stream()方法适合简单大模型交互场景。ChatClient:ChatClient是高级封装基于ChatModel构建适合快速构建标准化复杂AI服务支持同步和流式交互集成多种高级功能。三、编码依赖?xml version1.0encodingUTF-8?project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdcom.ai/groupIdartifactIdSpringAI/artifactIdversion1.0-SNAPSHOT/version/parentartifactIdSSA-03ChatClientModel/artifactIdpropertiesmaven.compiler.source17/maven.compiler.sourcemaven.compiler.target17/maven.compiler.targetproject.build.sourceEncodingUTF-8/project.build.sourceEncoding/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdcom.alibaba.cloud.ai/groupIdartifactIdspring-ai-alibaba-starter-dashscope/artifactIdversion1.1.2.1/version/dependency/dependencies/project配置文件server.port9096server.servlet.encoding.enabledtrueserver.servlet.encoding.forcetrueserver.servlet.encoding.charsetUTF-8spring.ai.dashscope.api-key${qianwen}Controllerpackagecom.ai.controller;importjakarta.annotation.Resource;importorg.springframework.ai.chat.client.ChatClient;importorg.springframework.ai.chat.model.ChatModel;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RequestParam;importorg.springframework.web.bind.annotation.RestController;importreactor.core.publisher.Flux;RestControllerpublicclassChatClientV2Controller{// 可共存ResourceChatModelchatModel;ResourceChatClientchatClient;RequestMapping(/chat/normal)publicStringsay(RequestParam(valuemsg,defaultValue你是谁)Stringmsg){returnchatModel.call(msg);}RequestMapping(/chatClient/v2)publicStringchatClient(RequestParam(valuemsg,defaultValue分析今日金价)Stringmsg){returnchatClient.prompt().user(msg).call().content();}}总结