diff --git a/spring-ai-client-chat/src/main/java/org/springframework/ai/chat/client/advisor/MessageChatMemoryAdvisor.java b/spring-ai-client-chat/src/main/java/org/springframework/ai/chat/client/advisor/MessageChatMemoryAdvisor.java index 6a6862a93c7..bdb4371b540 100644 --- a/spring-ai-client-chat/src/main/java/org/springframework/ai/chat/client/advisor/MessageChatMemoryAdvisor.java +++ b/spring-ai-client-chat/src/main/java/org/springframework/ai/chat/client/advisor/MessageChatMemoryAdvisor.java @@ -35,6 +35,7 @@ * Memory is retrieved added as a collection of messages to the prompt * * @author Christian Tzolov + * @author Hyunsang Han * @since 1.0.0 */ public class MessageChatMemoryAdvisor extends AbstractChatMemoryAdvisor { @@ -79,10 +80,8 @@ public Flux adviseStream(ChatClientRequest chatClientRequest private ChatClientRequest before(ChatClientRequest chatClientRequest) { String conversationId = this.doGetConversationId(chatClientRequest.context()); - int chatMemoryRetrieveSize = this.doGetChatMemoryRetrieveSize(chatClientRequest.context()); - // 1. Retrieve the chat memory for the current conversation. - List memoryMessages = this.getChatMemoryStore().get(conversationId, chatMemoryRetrieveSize); + List memoryMessages = this.getChatMemoryStore().get(conversationId); // 2. Advise the request messages list. List processedMessages = new ArrayList<>(memoryMessages); diff --git a/spring-ai-client-chat/src/main/java/org/springframework/ai/chat/client/advisor/PromptChatMemoryAdvisor.java b/spring-ai-client-chat/src/main/java/org/springframework/ai/chat/client/advisor/PromptChatMemoryAdvisor.java index 21fec14dd4c..9561eee0719 100644 --- a/spring-ai-client-chat/src/main/java/org/springframework/ai/chat/client/advisor/PromptChatMemoryAdvisor.java +++ b/spring-ai-client-chat/src/main/java/org/springframework/ai/chat/client/advisor/PromptChatMemoryAdvisor.java @@ -42,6 +42,7 @@ * @author Christian Tzolov * @author Miloš Havránek * @author Thomas Vitale + * @author Hyunsang Han * @since 1.0.0 */ public class PromptChatMemoryAdvisor extends AbstractChatMemoryAdvisor { @@ -112,10 +113,9 @@ public Flux adviseStream(ChatClientRequest chatClientRequest private ChatClientRequest before(ChatClientRequest chatClientRequest) { String conversationId = this.doGetConversationId(chatClientRequest.context()); - int chatMemoryRetrieveSize = this.doGetChatMemoryRetrieveSize(chatClientRequest.context()); // 1. Retrieve the chat memory for the current conversation. - List memoryMessages = this.getChatMemoryStore().get(conversationId, chatMemoryRetrieveSize); + List memoryMessages = this.getChatMemoryStore().get(conversationId); // 2. Processed memory messages as a string. String memory = memoryMessages.stream() diff --git a/spring-ai-model/src/main/java/org/springframework/ai/chat/memory/ChatMemory.java b/spring-ai-model/src/main/java/org/springframework/ai/chat/memory/ChatMemory.java index 5d99b43392a..2326b639dcb 100644 --- a/spring-ai-model/src/main/java/org/springframework/ai/chat/memory/ChatMemory.java +++ b/spring-ai-model/src/main/java/org/springframework/ai/chat/memory/ChatMemory.java @@ -26,6 +26,7 @@ * * @author Christian Tzolov * @author Thomas Vitale + * @author Hyunsang Han * @since 1.0.0 */ public interface ChatMemory { @@ -49,16 +50,7 @@ default void add(String conversationId, Message message) { /** * Get the messages in the chat memory for the specified conversation. */ - default List get(String conversationId) { - Assert.hasText(conversationId, "conversationId cannot be null or empty"); - return get(conversationId, Integer.MAX_VALUE); - } - - /** - * @deprecated in favor of using {@link MessageWindowChatMemory}. - */ - @Deprecated - List get(String conversationId, int lastN); + List get(String conversationId); /** * Clear the chat memory for the specified conversation. diff --git a/spring-ai-model/src/main/java/org/springframework/ai/chat/memory/MessageWindowChatMemory.java b/spring-ai-model/src/main/java/org/springframework/ai/chat/memory/MessageWindowChatMemory.java index 0c187be01c9..8c6b2ad6a8d 100644 --- a/spring-ai-model/src/main/java/org/springframework/ai/chat/memory/MessageWindowChatMemory.java +++ b/spring-ai-model/src/main/java/org/springframework/ai/chat/memory/MessageWindowChatMemory.java @@ -37,6 +37,7 @@ * * @author Thomas Vitale * @author Ilayaperumal Gopinathan + * @author Hyunsang Han * @since 1.0.0 */ public final class MessageWindowChatMemory implements ChatMemory { @@ -71,12 +72,6 @@ public List get(String conversationId) { return this.chatMemoryRepository.findByConversationId(conversationId); } - @Override - @Deprecated // in favor of get(conversationId) - public List get(String conversationId, int lastN) { - return get(conversationId); - } - @Override public void clear(String conversationId) { Assert.hasText(conversationId, "conversationId cannot be null or empty");