Class MessageWindowChatMemory

java.lang.Object
org.springframework.ai.chat.memory.MessageWindowChatMemory
All Implemented Interfaces:
ChatMemory

@Deprecated(since="2.1.0", forRemoval=true) public final class MessageWindowChatMemory extends Object implements ChatMemory
Deprecated, for removal: This API element is subject to removal in a future version.
since 2.1.0, for removal in 3.0.0, in favor of session memory, org.springframework.ai.session.SessionService in spring-ai-session; a turn-aware window is EventFilter.lastN, and compaction replaces eviction
A chat memory implementation that maintains a message window of a specified size, ensuring that the total number of messages does not exceed the specified limit. When the number of messages exceeds the maximum size, older messages are evicted.

Messages of type SystemMessage are treated specially: if a new SystemMessage is added, all previous SystemMessage instances are removed from the memory. Also, if the total number of messages exceeds the limit, the SystemMessage messages are preserved while evicting other types of messages.

Since:
1.0.0
Author:
Thomas Vitale, Ilayaperumal Gopinathan
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static final class 
    Deprecated, for removal: This API element is subject to removal in a future version.
     
  • Field Summary

    Fields inherited from interface org.springframework.ai.chat.memory.ChatMemory

    CONVERSATION_ID
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    add(String conversationId, List<Message> messages)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Save the specified messages in the chat memory for the specified conversation.
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    void
    clear(String conversationId)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Clear the chat memory for the specified conversation.
    get(String conversationId)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Get the messages in the chat memory for the specified conversation.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.springframework.ai.chat.memory.ChatMemory

    add
  • Method Details

    • add

      public void add(String conversationId, List<Message> messages)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: ChatMemory
      Save the specified messages in the chat memory for the specified conversation.
      Specified by:
      add in interface ChatMemory
    • get

      public List<Message> get(String conversationId)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: ChatMemory
      Get the messages in the chat memory for the specified conversation.
      Specified by:
      get in interface ChatMemory
    • clear

      public void clear(String conversationId)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: ChatMemory
      Clear the chat memory for the specified conversation.
      Specified by:
      clear in interface ChatMemory
    • builder

      public static MessageWindowChatMemory.Builder builder()
      Deprecated, for removal: This API element is subject to removal in a future version.