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

async clear(self) None[source]#

Clear all memory

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

async add_texts(self, texts: List[str]) None:[source]#

The interface for users to add memories requires a manual call to update the memory bank.

Parameters:

texts – Text list to be written

Returns:

None

async clear(self) None[source]#

Clear all memory

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