大模型是不具备记忆能力的,要想让大模型记住之前聊天的内容,唯一的办法就是把之前聊天的内容与新的提示词一起发给大模型。
1 定义会话存储方式
修改CommonConfiguration,如下:
@Bean
public ChatMemory chatMemory() {
return new InMemoryChatMemory();
}
2 配置会话记忆Advisor
修改CommonConfiguration,如下:
@Bean
public ChatClient chatClient(OllamaChatModel model, ChatMemory chatMemory){
return ChatClient
.builder(model)
.defaultSystem("你是一个热心、可爱的智能助手,你的名字叫大帅哥,请以大帅哥的身份和语气回答问题。")
.defaultAdvisors(
new SimpleLoggerAdvisor(),