Memory is a class that manages conversation history, session summaries, and long-term user memories for AI agents. It provides comprehensive memory management capabilities including adding new memories, searching memories, and deleting memories.

Parameters

ParameterTypeDescriptionDefault
modelOptional[Model]Model used for memories and summariesNone
memory_managerOptional[MemoryManager]Manager for memory operationsNone
summarizerOptional[SessionSummarizer]Summarizer for generating session summariesNone
dbOptional[MemoryDb]Database for storing memoriesNone
debug_modeboolWhether to enable debug loggingFalse

Key Methods

User Memory Management

MethodDescriptionParametersReturns
get_user_memoriesRetrieves all memories for a useruser_id: strList[UserMemory]
get_user_memoryGets a specific memoryuser_id: str, memory_id: strUserMemory
add_user_memoryAdds a new memory and gets the memory idmemory: UserMemory, user_id: Optional[str] = Nonestr
replace_user_memoryUpdates an existing memory and gets the memory idmemory_id: str, memory: UserMemory, user_id: Optional[str] = Nonestr
delete_user_memoryDeletes a memoryuser_id: str, memory_id: strNone
create_user_memoriesCreates memories from one or more messagesmessage: Optional[str] = None, messages: Optional[List[Message]] = None, user_id: Optional[str] = Nonestr
acreate_user_memoriesCreates memories from one or more messages (Async)message: Optional[str] = None, messages: Optional[List[Message]] = None, user_id: Optional[str] = Nonestr
search_user_memoriesSearches user memories using specified retrieval methodquery: Optional[str] = None, limit: Optional[int] = None, retrieval_method: Optional[Literal["last_n", "first_n", "semantic"]] = None, user_id: Optional[str] = NoneList[UserMemory]

Session Summary Management

MethodDescriptionParameters
get_session_summariesRetrieves all session summaries for a useruser_id: str
get_session_summaryGets a specific session summaryuser_id: str, session_id: str
create_session_summaryCreates a summary for a session from the stored session runssession_id: str, user_id: Optional[str] = None
acreate_session_summaryCreates a summary for a session from the stored session runs (Async)session_id: str, user_id: Optional[str] = None
delete_session_summaryDeletes a session summaryuser_id: str, session_id: str

UserMemory

ParameterTypeDescriptionDefault
memorystrThe actual memory contentRequired
topicsOptional[List[str]]Topics or categories of the memoryNone
inputOptional[str]Original input that generated the memoryNone
last_updatedOptional[datetime]When the memory was last updatedNone
memory_idOptional[str]Unique identifier for the memoryNone

SessionSummary

ParameterTypeDescriptionDefault
summarystrConcise summary of the sessionRequired
topicsOptional[List[str]]Topics discussed in the sessionNone
last_updatedOptional[datetime]When the summary was last updatedNone

Memory Manager

ParameterTypeDescriptionDefault
modelOptional[Model]Model used for managing memoriesNone
system_messageOptional[str]Custom system prompt for the memory managerNone
additional_instructionsOptional[str]Additional instructions added to the end of the system messageNone

Session Summarizer

ParameterTypeDescriptionDefault
modelOptional[Model]Model used for summarizing sessionsNone
system_messageOptional[str]Custom system prompt for the summarizerNone
additional_instructionsOptional[str]Additional instructions added to the end of the system messageNone