From 4a54643c1193dfdccaf9a4462f554946dc5cdd00 Mon Sep 17 00:00:00 2001 From: Christian Tzolov Date: Thu, 8 May 2025 09:15:43 +0200 Subject: [PATCH] fix: Refactored chat memory implementation to use MessageWindowChatMemory Signed-off-by: Christian Tzolov --- .../ai/openai/samples/helloworld/ReflectionAgent.java | 6 +++--- .../springframework/ai/mcp/samples/sqlite/Application.java | 4 ++-- .../springframework/ai/mcp/samples/brave/Application.java | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/agents/reflection/src/main/java/org/springframework/ai/openai/samples/helloworld/ReflectionAgent.java b/agents/reflection/src/main/java/org/springframework/ai/openai/samples/helloworld/ReflectionAgent.java index a28526d..0dadb44 100644 --- a/agents/reflection/src/main/java/org/springframework/ai/openai/samples/helloworld/ReflectionAgent.java +++ b/agents/reflection/src/main/java/org/springframework/ai/openai/samples/helloworld/ReflectionAgent.java @@ -17,7 +17,7 @@ package org.springframework.ai.openai.samples.helloworld; import org.springframework.ai.chat.client.ChatClient; import org.springframework.ai.chat.client.advisor.MessageChatMemoryAdvisor; -import org.springframework.ai.chat.memory.InMemoryChatMemory; +import org.springframework.ai.chat.memory.MessageWindowChatMemory; import org.springframework.ai.chat.model.ChatModel; import org.springframework.stereotype.Component; @@ -36,7 +36,7 @@ public class ReflectionAgent { Your task is to Generate the best content possible for the user's request. If the user provides critique, respond with a revised version of your previous attempt. """) - .defaultAdvisors(new MessageChatMemoryAdvisor(new InMemoryChatMemory())) + .defaultAdvisors(new MessageChatMemoryAdvisor(MessageWindowChatMemory.builder().build())) .build(); this.critiqueChatClient = ChatClient.builder(chatModel) @@ -45,7 +45,7 @@ public class ReflectionAgent { If the user content has something wrong or something to be improved, output a list of recommendations and critiques. If the user content is ok and there's nothing to change, output this: """) - .defaultAdvisors(new MessageChatMemoryAdvisor(new InMemoryChatMemory())) + .defaultAdvisors(new MessageChatMemoryAdvisor(MessageWindowChatMemory.builder().build())) .build(); } diff --git a/model-context-protocol/sqlite/chatbot/src/main/java/org/springframework/ai/mcp/samples/sqlite/Application.java b/model-context-protocol/sqlite/chatbot/src/main/java/org/springframework/ai/mcp/samples/sqlite/Application.java index c7ad932..2a8e945 100644 --- a/model-context-protocol/sqlite/chatbot/src/main/java/org/springframework/ai/mcp/samples/sqlite/Application.java +++ b/model-context-protocol/sqlite/chatbot/src/main/java/org/springframework/ai/mcp/samples/sqlite/Application.java @@ -12,7 +12,7 @@ import io.modelcontextprotocol.client.transport.StdioClientTransport; import org.springframework.ai.chat.client.ChatClient; import org.springframework.ai.chat.client.advisor.MessageChatMemoryAdvisor; -import org.springframework.ai.chat.memory.InMemoryChatMemory; +import org.springframework.ai.chat.memory.MessageWindowChatMemory; import org.springframework.ai.mcp.SyncMcpToolCallbackProvider; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; @@ -35,7 +35,7 @@ public class Application { var chatClient = chatClientBuilder .defaultToolCallbacks(new SyncMcpToolCallbackProvider(mcpClients)) - .defaultAdvisors(new MessageChatMemoryAdvisor(new InMemoryChatMemory())) + .defaultAdvisors(new MessageChatMemoryAdvisor(MessageWindowChatMemory.builder().build())) .build(); var scanner = new Scanner(System.in); diff --git a/model-context-protocol/web-search/brave-chatbot/src/main/java/org/springframework/ai/mcp/samples/brave/Application.java b/model-context-protocol/web-search/brave-chatbot/src/main/java/org/springframework/ai/mcp/samples/brave/Application.java index 709871f..63aae72 100644 --- a/model-context-protocol/web-search/brave-chatbot/src/main/java/org/springframework/ai/mcp/samples/brave/Application.java +++ b/model-context-protocol/web-search/brave-chatbot/src/main/java/org/springframework/ai/mcp/samples/brave/Application.java @@ -7,7 +7,7 @@ import io.modelcontextprotocol.client.McpSyncClient; import org.springframework.ai.chat.client.ChatClient; import org.springframework.ai.chat.client.advisor.MessageChatMemoryAdvisor; -import org.springframework.ai.chat.memory.InMemoryChatMemory; +import org.springframework.ai.chat.memory.MessageWindowChatMemory; import org.springframework.ai.mcp.SyncMcpToolCallbackProvider; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; @@ -29,7 +29,7 @@ public class Application { var chatClient = chatClientBuilder .defaultSystem("You are useful assistant and can perform web searches Brave's search API to reply to your questions.") .defaultToolCallbacks(new SyncMcpToolCallbackProvider(mcpSyncClients)) - .defaultAdvisors(new MessageChatMemoryAdvisor(new InMemoryChatMemory())) + .defaultAdvisors(new MessageChatMemoryAdvisor(MessageWindowChatMemory.builder().build())) .build(); // Start the chat loop