Skip to main content

memory.base

Base class for memory backends.

BaseMemoryBackend Objects

class BaseMemoryBackend(ABC)

Abstract memory backend.

Memory backends provide persistent context for agents across conversations. They support adding memories, searching them, and auto-capturing conversation context.

add

@abstractmethod
async def add(messages: list[dict],
metadata: dict[str, Any] | None = None) -> None

Add messages to memory.

Parameters

messages : list[dict] Conversation messages ({"role": ..., "content": ...}). metadata : dict | None Optional metadata (topic, tools used, outcome, etc.).

@abstractmethod
async def search(query: str, limit: int = 10) -> list[dict[str, Any]]

Search memory for relevant entries.

Parameters

query : str Search query text. limit : int Maximum number of results to return.

Returns

list[dict] Matching memory entries with content and score keys.

get_relevant_context

async def get_relevant_context(query: str, max_tokens: int = 2000) -> str

Get relevant memory context for system prompt injection.

Parameters

query : str The current user message or task description. max_tokens : int Approximate maximum tokens for the returned context.

Returns

str Formatted memory context for injection into the system prompt.

close

async def close() -> None

Close the memory backend and release resources.