diff --git a/config/config2.example.yaml b/config/config2.example.yaml index 74d2ab880..fd4409f97 100644 --- a/config/config2.example.yaml +++ b/config/config2.example.yaml @@ -86,6 +86,7 @@ exp_pool: role_zero: enable_longterm_memory: false # Whether to use long-term memory. Default is `false`. longterm_memory_persist_path: .role_memory_data # The directory to save data. + memory_k: 200 # The capacity of short-term memory. azure_tts_subscription_key: "YOUR_SUBSCRIPTION_KEY" azure_tts_region: "eastus" diff --git a/metagpt/configs/role_zero_config.py b/metagpt/configs/role_zero_config.py index ada5afb63..21d50a3ac 100644 --- a/metagpt/configs/role_zero_config.py +++ b/metagpt/configs/role_zero_config.py @@ -6,3 +6,4 @@ from metagpt.utils.yaml_model import YamlModel class RoleZeroConfig(YamlModel): enable_longterm_memory: bool = Field(default=False, description="Whether to use long-term memory.") longterm_memory_persist_path: str = Field(default=".role_memory_data", description="The directory to save data.") + memory_k: int = Field(default=200, description="The capacity of short-term memory.") diff --git a/metagpt/roles/di/role_zero.py b/metagpt/roles/di/role_zero.py index fda29add9..b202fd3cc 100644 --- a/metagpt/roles/di/role_zero.py +++ b/metagpt/roles/di/role_zero.py @@ -179,11 +179,12 @@ class RoleZero(Role): """ if self.config.role_zero.enable_longterm_memory: + # Use config.role_zero to initialize long-term memory self.rc.memory = RoleZeroLongTermMemory( **self.rc.memory.model_dump(), persist_path=self.config.role_zero.longterm_memory_persist_path, collection_name=self.name.replace(" ", ""), - memory_k=self.memory_k, + memory_k=self.config.role_zero.memory_k, ) logger.info(f"Long-term memory set for role '{self.name}'")