evofabric.core.mem#
Base Memory#
- class evofabric.core.mem.MemBase[source]#
Basic memory interface definition, usable for open-source adaptation
- retrieval_update(self, messages: List[StateMessage], **kwargs) List[StateMessage][source]#
Retrieve memory and update context messages
- Parameters:
messages (List[StateMessage]) – Current context message sequence
kwargs – Other configuration parameters required for retrieval or update
- Returns:
updated context message sequence based on memory content
- Return type:
List[StateMessage]
- add_messages(self, messages: List[StateMessage], **kwargs) None[source]#
Write context messages into the memory vector database
- Parameters:
messages (List[StateMessage]) – Sequence of context messages to be written
kwargs – Other configuration parameters required when writing
- Returns:
None
Retrieval Memory#
- class evofabric.core.mem.RetrievalMem[source]#
Basic Retrieval Memory, used to implement RAG functionality.
- Parameters:
vectorstore (DBBase) – Vector database instance, used for storing and retrieving memory text
reranker (RerankClientBase) – Re-ranking Model Client, used for re-ranking recall results
use_rerank (Optional[bool]) – Enable reordering, default True
message_rounds (Optional[int]) – Retained dialogue turns, default 1
- async retrieval_update(self, messages: List[StateMessage], **kwargs) List[StateMessage][source]#
Retrieve memory based on context and update context messages
- Parameters:
messages (List[StateMessage]) – Current context message sequence
kwargs – Configuration parameters required for retrieval or update (optional)
- Returns:
New message sequence after inserting retrieval results before the message sequence
- Return type:
List[StateMessage]
- async add_messages(self, messages: List[StateMessage], **kwargs) None[source]#
The interface for updating Memory in the agent, in RetrievalMem this method does not generate new memories.
- Parameters:
messages (List[StateMessage]) – Sequence of context messages to be written
kwargs – Configuration parameters required for writing (optional)
- Returns:
None
Chat Memory#
- class evofabric.core.mem.ChatMem[source]#
Implementation of cognitive memory for multi-turn dialogue in prompt-driven large models.
- Parameters:
vectorstore (DBBase) – Long-term memory vector database instance, used for storing and recalling memory text.
chat_client (ChatClientBase) – Large model client, responsible for all LLM calls for memory extraction, merging, and summarization.
zh_mode (Optional[bool]) – Whether to enable Chinese prompt mode; True for Chinese, False for English, default True.
message_rounds (Optional[int]) – Maximum number of historical dialogue turns to reference when constructing a retrieval or cognitive query, default 100.
user_extract_prompt (Optional[str]) – Customize the “Memory Feature Extraction” prompt; if left blank, automatically use the built-in Chinese-English templates based on zh_mode.
user_update_prompt (Optional[str]) – Customize the “Memory Merge Update” prompt; if left blank, automatically use the built-in Chinese-English templates based on zh_mode.
feat_define_prompt (Optional[str]) – Additionally injected ‘memory information’ extraction-guiding prompts
- async retrieval_update(self, messages: List[StateMessage], **kwargs) List[StateMessage]#
Agent’s retrieval interface: Generates a summary based on the long-term memory content, inserts it at the front of the message sequence to return, and is automatically called during the agent’s execution process.
- Parameters:
messages (List[StateMessage]) – Current conversation history
kwargs – Reserved extension parameters (optional)
- Returns:
New message sequence after the new memory summary
- Return type:
List[StateMessage]
- async add_messages(self, messages: List[StateMessage], **kwargs) None#
Agent storage interface: Automatically store memory after agent reasoning and tool execution.
- Parameters:
messages (List[StateMessage]) – Current conversation history
kwargs – Reserved extension parameters (optional)
- Returns:
None
- async clear(self) None#
Clear all long-term memory
- Returns:
None
Task Memory#
- class evofabric.core.mem.TaskMem(CognitiveMem)[source]#
A cognitive memory system based on task execution context supports the step-by-step storage, retrieval, and summarization of memory and experience.
- Parameters:
vectorstore (DBBase) – Long-term memory vector database instance, used for storing and recalling task memory.
chat_client (ChatClientBase) – LLM client responsible for LLM calls for experience memory summarization.
user_summary_prompt (Optional[str]) – Customize the “Experience Summary Generation” prompt for generating execution experience based on recalled use cases.
eval_fuc (Callable[[List[SystemMessage]], Awaitable[tuple[bool, float, str]]]) – Asynchronous evaluation function used to evaluate the correctness, score, and feedback of the current execution result.
- async retrieval_update(messages: List[StateMessage], **kwargs) List[StateMessage]#
Agent’s retrieval interface: Generates a summary based on the long-term memory content, inserts it at the front of the message sequence to return, and is automatically called during the agent’s execution process.
- Parameters:
messages (List[StateMessage]) – Current task execution context historical messages
kwargs – Reserved extension parameters
- Returns:
New message sequence after adding experience summary.
- Return type:
List[StateMessage]
- async add_messages(messages: List[StateMessage], **kwargs) None[source]#
Agent storage interface: Automatically store memory after agent reasoning and tool execution.
- Parameters:
messages (List[StateMessage]) – Task execution history message (including task instructions and context)
kwargs – Reserved extension parameters
- Returns:
None
- async clear() None#
Clear all task long-term memory.
- Returns:
None