# -*- coding: utf-8 -*-"""The session base class in agentscope."""fromabcimportabstractmethodfrom..moduleimportStateModule
[文档]classSessionBase:"""The base class for session in agentscope."""
[文档]@abstractmethodasyncdefsave_session_state(self,session_id:str,user_id:str="",**state_modules_mapping:StateModule,)->None:"""Save the session state Args: session_id (`str`): The session id. user_id (`str`, default to `""`): The user ID for the storage. **state_modules_mapping (`dict[str, StateModule]`): A dictionary mapping of state module names to their instances. """
[文档]@abstractmethodasyncdefload_session_state(self,session_id:str,user_id:str="",allow_not_exist:bool=True,**state_modules_mapping:StateModule,)->None:"""Load the session state Args: session_id (`str`): The session id. user_id (`str`, default to `""`): The user ID for the storage. allow_not_exist (`bool`, defaults to `True`): Whether to allow the session to not exist. **state_modules_mapping (`dict[str, StateModule]`): The mapping of state modules to be loaded. """