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.).
search
@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.