Skip to content

Memory API

This module manages conversational history buffers.

Base Memory

maticlib.memory.base.BaseMemory

Bases: ABC

token_count abstractmethod property

token_count

Estimate of the tokens currently held in memory.

add_message abstractmethod

add_message(message)

Add a single message to memory.

Source code in maticlib/memory/base.py
@abstractmethod
def add_message(self, message: BaseMessage) -> None:
    """Add a single message to memory."""
    pass

add_messages abstractmethod

add_messages(messages)

Add multiple messages to memory.

Source code in maticlib/memory/base.py
@abstractmethod
def add_messages(self, messages: List[BaseMessage]) -> None:
    """Add multiple messages to memory."""
    pass

clear abstractmethod

clear()

Clear the memory.

Source code in maticlib/memory/base.py
@abstractmethod
def clear(self) -> None:
    """Clear the memory."""
    pass

get_messages abstractmethod

get_messages()

Retrieve the current memory context.

Source code in maticlib/memory/base.py
@abstractmethod
def get_messages(self) -> List[BaseMessage]:
    """Retrieve the current memory context."""
    pass

Conversation Buffer Memory

maticlib.memory.buffer.ConversationBufferMemory

ConversationBufferMemory(return_messages=True)

Bases: BaseMemory

Stores all conversation messages in a sequential buffer.

Initializes ConversationBufferMemory.

Parameters:

Name Type Description Default
return_messages bool

If True, returns the full list of BaseMessage objects.

True
Source code in maticlib/memory/buffer.py
def __init__(self, return_messages: bool = True):
    """
    Initializes ConversationBufferMemory.

    Args:
        return_messages: If True, returns the full list of BaseMessage objects.
    """
    self.messages: List[BaseMessage] = []
    self.return_messages = return_messages

Window Buffer Memory

maticlib.memory.buffer.WindowBufferMemory

WindowBufferMemory(k=10, return_messages=True)

Bases: ConversationBufferMemory

Keeps only the most recent k messages (sliding window).

Initializes WindowBufferMemory.

Parameters:

Name Type Description Default
k int

Maximum number of recent messages to retain. Default is 10.

10
return_messages bool

If True, returns BaseMessage objects.

True
Source code in maticlib/memory/buffer.py
def __init__(self, k: int = 10, return_messages: bool = True):
    """
    Initializes WindowBufferMemory.

    Args:
        k: Maximum number of recent messages to retain. Default is 10.
        return_messages: If True, returns BaseMessage objects.
    """
    super().__init__(return_messages)
    self.k = k