Memory Schemas

May 19, 2026 · View on GitHub


类所在位置:

oxygent/schemas/memory.py

简介

本模块定义了聊天对话的数据结构:FunctionToolCallMessageMemory。这些类代表了 OxyGent 框架中 Agent 所使用的对话历史的基本构建单元。

Function (BaseModel)

参数类型默认值描述
namestr(必填)函数名称。
argumentsstr(必填)序列化的函数参数。

ToolCall (BaseModel)

参数类型默认值描述
idstr(必填)工具调用标识符。
typestr"function"工具调用类型。
functionFunction(必填)被调用的函数。

Message (BaseModel)

参数

参数类型 / 允许值默认值描述
roleLiteral["system", "user", "assistant", "tool"](必填)消息角色。
contentOptional[Union[str, list, dict]]None消息内容。
tool_callsOptional[list[ToolCall]]None此消息中的工具调用。
nameOptional[str]None名称(用于工具消息)。
tool_call_idOptional[str]None工具调用 ID(用于工具响应)。

方法

方法协程 (async)返回值用途(简述)
user_message(content) (classmethod)Message工厂方法:创建 user 角色消息。
system_message(content) (classmethod)Message工厂方法:创建 system 角色消息。
assistant_message(content) (classmethod)Message工厂方法:创建 assistant 角色消息。
tool_message(content, name, tool_call_id) (classmethod)Message工厂方法:创建 tool 角色消息。
from_tool_calls(tool_calls, content, **kwargs) (classmethod)Message创建包含格式化工具调用的 assistant 消息。
dict_list_to_messages(dict_list) (staticmethod)list[Message]将字典列表转换为 Message 列表。
to_dict()dict转换为 SDK 兼容的字典(仅包含非 None 字段)。

Memory (BaseModel)

参数

参数类型默认值描述
messageslist[Message][]存储的消息。
max_messagesint50最大消息缓冲区大小。

方法

方法协程 (async)返回值用途(简述)
add_message(message)None追加单条消息。
add_messages(messages)None追加多条消息。
clear()None清空所有存储的消息。
get_recent_messages(n)list[Message]返回最近的 n 条消息。
to_dict_list(short_memory_size=None)list[dict]转换为字典列表,支持滑动窗口裁剪。