一:如何实现和大模型实现多轮对话
1:通讯工具
ChatModel和大模型进行通讯的基础工具
定位与层级(最核心区别)
- ChatModel :是 Spring AI 中底层、基础的接口,直接对接具体的 AI 模型服务商(如 OpenAI、Azure OpenAI、百度文心一言等),负责处理最原始的 AI 模型调用逻辑(请求构建、网络通信、响应解析)。它是 "模型驱动" 的,更贴近底层实现。
- ChatClient :是基于
ChatModel封装的高层、易用的客户端,是 "用户驱动" 的,专为开发者提供简洁、流畅的 API 调用体验,内置了提示词模板、对话记忆、拦截器(Advisors)等常用能力,无需开发者手动处理底层细节。
简单来说:ChatClient = ChatModel + 通用能力封装(模板、记忆、拦截器等)
2:各类拦截器
这类 Advisor 是日常开发中使用频率最高的,用于自动维护多轮对话上下文,无需手动拼接消息。
MessageChatMemoryAdvisor、PromptChatMemoryAdvisor、QuestionAnswerAdvisor(RAG检索增强)
3:ChetMemory记忆上下文
MessageWindowChatMemory将上下文件记忆到内存中:ChatMemoryRepository这个是真实用于存储的。
