题目
ChatModel 与 ChatClient 分别承担什么职责,业务代码应如何选择调用入口?
答案
ChatModel 是较底层的模型调用抽象,接收 Prompt 并返回模型响应,具体实现适配不同供应商。它适合需要直接控制模型请求、响应和底层集成的代码。 ChatClient 在模型调用之上提供流式构建 API,方便组织提示词、默认配置、Advisors 和输出转换。业务开发通常从 ChatClient 进入,减少重复组装代码。 例如已注入并配置好的 ChatClient 可以这样调用: ```java String answer = chatClient.prompt() .system("根据提供的订单信息回答,不确定的内容先说明。") .user(userText) .call() .content(); ``` 框架的使用入口不决定业务权限。订单查询和退款校验仍由工具与服务实现。项目应固定 Spring AI 版本,按该版本确认自动配置、观测和工具执行方式,避免混用不同版本示例。 参考:[Spring AI ChatClient](https://docs.spring.io/spring-ai/reference/api/chatclient.html)。