make memory_k configurable

This commit is contained in:
seehi 2024-10-11 15:12:24 +08:00
parent c95a925b19
commit 2965a22e1d
3 changed files with 4 additions and 1 deletions

View file

@ -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"

View file

@ -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.")

View file

@ -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}'")