evofabric.core.mem#

Base Memory#

class evofabric.core.mem.MemBase#

基础记忆接口定义,可用于开源适配

retrieval_update(self, messages: List[StateMessage], **kwargs) List[StateMessage]#

检索记忆并更新上下文消息

参数:
  • messages (List[StateMessage]) -- 当前的上下文消息序列

  • kwargs -- 其他检索或更新时所需的配置参数

返回:

基于记忆内容更新后的上下文消息序列

返回类型:

List[StateMessage]

add_messages(self, messages: List[StateMessage], **kwargs) None#

将上下文消息写入记忆向量库

参数:
  • messages (List[StateMessage]) -- 待写入的上下文消息序列

  • kwargs -- 其他写入时所需的配置参数

返回:

None

async clear(self) None#

清空全部记忆

返回:

None

Retrieval Memory#

class evofabric.core.mem.RetrievalMem#

基础检索记忆,用于实现RAG功能

参数:
  • vectorstore (DBBase) -- 向量数据库实例,用于存储与检索记忆文本

  • reranker (RerankClientBase) -- 重排序模型客户端,用于对召回结果二次排序

  • use_rerank (Optional[bool]) -- 是否启用重排序,默认 True

  • message_rounds (Optional[int]) -- 保留的对话轮数,默认 1

async retrieval_update(self, messages: List[StateMessage], **kwargs) List[StateMessage]#

根据上下文检索记忆并更新上下文消息

参数:
  • messages (List[StateMessage]) -- 当前的上下文消息序列

  • kwargs -- 检索或更新时所需的配置参数(可选)

返回:

在消息序列前插入检索结果后的新消息序列

返回类型:

List[StateMessage]

async add_messages(self, messages: List[StateMessage], **kwargs) None#

智能体中更新Memory的接口,在RetrievalMem中该方法不产生新增记忆

参数:
  • messages (List[StateMessage]) -- 待写入的上下文消息序列

  • kwargs -- 写入时所需的配置参数(可选)

返回:

None

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

用户自行添加记忆的接口,需要自行调用更新记忆库

参数:

texts -- 待写入的文本列表

返回:

None

async clear(self) None#

清空全部记忆

返回:

None

Chat Memory#

class evofabric.core.mem.ChatMem#

基于提示词驱动的大模型多轮对话认知记忆实现。

参数:
  • vectorstore (DBBase) -- 长期记忆向量数据库实例,用于存储与召回记忆文本。

  • chat_client (ChatClientBase) -- 大模型客户端,负责记忆抽取、合并与总结的全部 LLM 调用。

  • zh_mode (Optional[bool]) -- 是否启用中文提示模式;True 为中文,False 为英文,默认 True。

  • message_rounds (Optional[int]) -- 构建检索或认知 query 时最多参考的历史对话轮数,默认 100。

  • user_extract_prompt (Optional[str]) -- 自定义“记忆特征抽取”提示词;若留空则根据 zh_mode 自动使用内置中英文模板。

  • user_update_prompt (Optional[str]) -- 自定义“记忆合并更新”提示词;若留空则根据 zh_mode 自动使用内置中英文模板。

  • feat_define_prompt (Optional[str]) -- 额外注入的“记忆信息”提取引导提示词

async retrieval_update(self, messages: List[StateMessage], **kwargs) List[StateMessage]#

智能体中检索接口:基于长期记忆内容生成总结,并插入到消息序列最前端返回,在智能体执行流程自动调用

参数:
  • messages (List[StateMessage]) -- 当前对话历史

  • kwargs -- 预留扩展参数(可选)

返回:

新增记忆总结后的新消息序列

返回类型:

List[StateMessage]

async add_messages(self, messages: List[StateMessage], **kwargs) None#

智能体中储存接口:在智能体推理、工具执行结束后,自动储存记忆。

参数:
  • messages (List[StateMessage]) -- 当前对话历史

  • kwargs -- 预留扩展参数(可选)

返回:

None

async clear(self) None#

清空全部长期记忆

返回:

None

Task Memory#

class evofabric.core.mem.TaskMem(CognitiveMem)#

基于任务执行上下文的认知记忆系统,支持任务逐步的记忆的存储、检索与经验总结。

参数:
  • vectorstore (DBBase) -- 长期记忆向量数据库实例,用于存储与召回任务记忆。

  • chat_client (ChatClientBase) -- 大模型客户端,负责经验记忆总结的 LLM 调用。

  • user_summary_prompt (Optional[str]) -- 自定义"经验总结生成"提示词,用于基于召回用例生成执行经验。

  • eval_fuc (Callable[[List[SystemMessage]], Awaitable[tuple[bool, float, str]]]) -- 异步评估函数,用于评估当前执行结果的正确性、得分和评价意见。

async retrieval_update(messages: List[StateMessage], **kwargs) List[StateMessage]#

智能体中检索接口:基于长期记忆内容生成总结,并插入到消息序列最前端返回,在智能体执行流程自动调用

参数:
  • messages (List[StateMessage]) -- 当前任务执行上下文的历史消息

  • kwargs -- 预留扩展参数

返回:

新增经验总结后的新消息序列

返回类型:

List[StateMessage]

async add_messages(messages: List[StateMessage], **kwargs) None#

智能体中储存接口:在智能体推理、工具执行结束后,自动储存记忆。

参数:
  • messages (List[StateMessage]) -- 任务执行历史消息(包含任务指令和上下文)

  • kwargs -- 预留扩展参数

返回:

None

async clear() None#

清空全部任务长期记忆。

返回:

None