agentsociety.agent.memory_config_generator

Module Contents

Classes

MemoryAttribute

MemoryConfig

Unified memory configuration structure that replaces the old tuple-based approach.

MemoryConfigGenerator

Generate memory configuration using the new unified structure.

Functions

_create_default_citizen_attributes

Create default citizen attributes using MemoryAttribute

_create_default_supervisor_attributes

Create default supervisor attributes using MemoryAttribute

default_memory_config_citizen

Generate default memory configuration for citizen agents.

default_memory_config_supervisor

Generate default memory configuration for supervisor agents.

default_memory_config_solver

Generate default memory configuration for solver agents.

_memory_config_load_file

Loads the memory configuration from the given file.

_memory_config_merge

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

name: str

None

type: Any

None

default_or_value: Any

None

description: str

None

whether_embedding: bool

False

embedding_template: Optional[str]

None

class agentsociety.agent.memory_config_generator.MemoryConfig

Bases: pydantic.BaseModel

Unified 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.