agentsociety.agent.memory_config_generator¶
Module Contents¶
Classes¶
Unified memory configuration structure that replaces the old tuple-based approach. |
|
Generate memory configuration using the new unified structure. |
Functions¶
Create default citizen attributes using MemoryAttribute |
|
Create default supervisor attributes using MemoryAttribute |
|
Generate default memory configuration for citizen agents. |
|
Generate default memory configuration for supervisor agents. |
|
Generate default memory configuration for solver agents. |
|
Loads the memory configuration from the given file. |
|
Merges memory configuration from file with base configuration. |
Data¶
API¶
- agentsociety.agent.memory_config_generator.__all__¶
[‘MemoryConfigGenerator’, ‘MemoryAttribute’, ‘MemoryConfig’, ‘default_memory_config_citizen’, ‘defau…
- class agentsociety.agent.memory_config_generator.MemoryAttribute¶
Bases:
pydantic.BaseModel
- class agentsociety.agent.memory_config_generator.MemoryConfig¶
Bases:
pydantic.BaseModelUnified memory configuration structure that replaces the old tuple-based approach.
This class consolidates all memory attributes into a single, clear structure that uses MemoryAttribute for consistent definition and handling.
- attributes: dict[str, agentsociety.agent.memory_config_generator.MemoryAttribute]¶
None
List of all memory attributes defined using MemoryAttribute
- static from_list(attributes: list[agentsociety.agent.memory_config_generator.MemoryAttribute]) agentsociety.agent.memory_config_generator.MemoryConfig¶
- agentsociety.agent.memory_config_generator._create_default_citizen_attributes() agentsociety.agent.memory_config_generator.MemoryConfig¶
Create default citizen attributes using MemoryAttribute
- agentsociety.agent.memory_config_generator._create_default_supervisor_attributes() agentsociety.agent.memory_config_generator.MemoryConfig¶
Create default supervisor attributes using MemoryAttribute
- agentsociety.agent.memory_config_generator.default_memory_config_citizen(distributions: dict[str, agentsociety.agent.distribution.Distribution], class_config: Optional[list[agentsociety.agent.memory_config_generator.MemoryAttribute]] = None) agentsociety.agent.memory_config_generator.MemoryConfig¶
Generate default memory configuration for citizen agents.
Args:
distributions(dict[str, Distribution]): The distributions to use for sampling values.class_config(Optional[list[MemoryAttribute]]): Additional attributes from agent class.
Returns:
MemoryConfig: Unified memory configuration.
- agentsociety.agent.memory_config_generator.default_memory_config_supervisor(distributions: dict[str, agentsociety.agent.distribution.Distribution], class_config: Optional[list[agentsociety.agent.memory_config_generator.MemoryAttribute]] = None) agentsociety.agent.memory_config_generator.MemoryConfig¶
Generate default memory configuration for supervisor agents.
Args:
distributions(dict[str, Distribution]): The distributions to use for sampling values.class_config(Optional[list[MemoryAttribute]]): Additional attributes from agent class.
Returns:
MemoryConfig: Unified memory configuration.
- agentsociety.agent.memory_config_generator.default_memory_config_solver(distributions: dict[str, agentsociety.agent.distribution.Distribution], class_config: Optional[list[agentsociety.agent.memory_config_generator.MemoryAttribute]] = None) agentsociety.agent.memory_config_generator.MemoryConfig¶
Generate default memory configuration for solver agents.
- class agentsociety.agent.memory_config_generator.MemoryConfigGenerator(config_func: Callable[[dict[str, agentsociety.agent.distribution.Distribution], Optional[list[agentsociety.agent.memory_config_generator.MemoryAttribute]]], agentsociety.agent.memory_config_generator.MemoryConfig], class_config: Optional[list[agentsociety.agent.memory_config_generator.MemoryAttribute]] = None, number: Optional[int] = None, file: Optional[str] = None, distributions: dict[str, Union[agentsociety.agent.distribution.Distribution, agentsociety.agent.distribution.DistributionConfig]] = {}, s3config: agentsociety.s3.S3Config = S3Config.model_validate({}))¶
Generate memory configuration using the new unified structure.
Initialization
Initialize the memory config generator.
Args:
config_func(Callable): The function to generate the memory configuration.class_config(Optional[list[MemoryAttribute]]): Class-specific attributes.number(Optional[int]): Number of agents to generate.file(Optional[str]): The path to the file containing the memory configuration.distributions(dict[str, Distribution]): The distributions to use for the memory configuration.s3config(S3Config): The S3 configuration.
- merge_distributions(distributions: dict[str, Union[agentsociety.agent.distribution.Distribution, agentsociety.agent.distribution.DistributionConfig]])¶
Merge the distributions for the memory config generator.
- generate(i: int) agentsociety.agent.memory_config_generator.MemoryConfig¶
Generate memory configuration.
Args: i (int): The index of the memory configuration to generate.
Returns: dict[str, Any]: The memory configuration in the format expected by Memory class.
- get_agent_data_from_file() List[dict]¶
Get agent data from file.
Description:
Retrieves the raw agent data from the file specified during initialization.
This is used when agents need to be created with IDs from the file.
Returns:
List[dict]: A list of agent data dictionaries from the file.
Raises:
ValueError: If no file was specified during initialization.
- agentsociety.agent.memory_config_generator._memory_config_load_file(file_path: str, s3config: agentsociety.s3.S3Config)¶
Loads the memory configuration from the given file.
Description:
Loads the memory configuration from the given file.
Supports both .json and .jsonl file types.
For .json files, returns the parsed JSON content.
For .jsonl files, returns a list of parsed JSON objects from each line.
Args:
file_path(str): The path to the file containing the memory configuration.
Returns:
memory_data(Union[dict, list]): The memory data - either a single object or list of objects.
Raises:
ValueError: If the file type is not supported.
- agentsociety.agent.memory_config_generator._memory_config_merge(file_data: dict, memory_config: agentsociety.agent.memory_config_generator.MemoryConfig) agentsociety.agent.memory_config_generator.MemoryConfig¶
Merges memory configuration from file with base configuration.
Description:
Takes file data and merges it with the unified memory configuration.
All attributes are now handled uniformly through MemoryAttribute.
Args:
file_data(dict): Memory configuration data loaded from file.memory_config(MemoryConfig): Unified memory configuration.
Returns:
dict: Merged memory configuration with proper structure for Memory class.