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