agentsociety.cityagent.blocks.mobility_block¶
Module Contents¶
Classes¶
Block for selecting destinations based on user intention. |
|
Block for executing mobility operations (home/work/other) |
|
MobilityNoneBlock |
|
Main mobility coordination block. |
Functions¶
Calculate selection probabilities for POIs using a gravity model. |
Data¶
API¶
- agentsociety.cityagent.blocks.mobility_block.PLACE_TYPE_SELECTION_PROMPT = <Multiline-String>¶
- agentsociety.cityagent.blocks.mobility_block.PLACE_SECOND_TYPE_SELECTION_PROMPT = <Multiline-String>¶
- agentsociety.cityagent.blocks.mobility_block.PLACE_ANALYSIS_PROMPT = <Multiline-String>¶
- agentsociety.cityagent.blocks.mobility_block.RADIUS_PROMPT = <Multiline-String>¶
- agentsociety.cityagent.blocks.mobility_block.gravity_model(pois)¶
Calculate selection probabilities for POIs using a gravity model.
The model considers both distance decay (prefer closer locations) and spatial density (avoid overcrowded areas). Distances are grouped into 1km bins up to 10km, with POIs beyond 10km in a ‘more’ category.
Args: pois: List of POI tuples containing (poi_data, distance)
Returns: List of tuples: (name, id, normalized_weight, distance) with selection probabilities based on gravity model
- class agentsociety.cityagent.blocks.mobility_block.PlaceSelectionBlock(toolbox: agentsociety.agent.AgentToolbox, agent_memory: agentsociety.memory.Memory, search_limit: int = 50)¶
Bases:
agentsociety.agent.BlockBlock for selecting destinations based on user intention.
Implements a two-stage selection process:
Select primary POI category (e.g., ‘shopping’)
Select sub-category (e.g., ‘bookstore’) Uses LLM for decision making with fallback to random selection.
Configurable Fields: search_limit: Max number of POIs to retrieve from map service
Initialization
- name¶
‘PlaceSelectionBlock’
- description¶
‘Selects destinations for unknown locations (excluding home/work)’
- async forward(context: agentsociety.agent.DotDict)¶
Execute the destination selection workflow
- class agentsociety.cityagent.blocks.mobility_block.MoveBlock(toolbox: agentsociety.agent.AgentToolbox, agent_memory: agentsociety.memory.Memory)¶
Bases:
agentsociety.agent.BlockBlock for executing mobility operations (home/work/other)
Initialization
- name¶
‘MoveBlock’
- description¶
‘Executes mobility operations between locations’
- async forward(context: agentsociety.agent.DotDict)¶
- class agentsociety.cityagent.blocks.mobility_block.MobilityNoneBlock(toolbox: agentsociety.agent.AgentToolbox, agent_memory: agentsociety.memory.Memory)¶
Bases:
agentsociety.agent.BlockMobilityNoneBlock
Initialization
- name¶
‘MobilityNoneBlock’
- description¶
‘Handles other mobility operations’
- async forward(context: agentsociety.agent.DotDict)¶
Log completion without action
- class agentsociety.cityagent.blocks.mobility_block.MobilityBlockParams¶
Bases:
agentsociety.agent.BlockParams
- class agentsociety.cityagent.blocks.mobility_block.MobilityBlockContext¶
Bases:
agentsociety.agent.BlockContext
- class agentsociety.cityagent.blocks.mobility_block.MobilityBlock(toolbox: agentsociety.agent.AgentToolbox, agent_memory: agentsociety.memory.Memory, block_params: Optional[agentsociety.cityagent.blocks.mobility_block.MobilityBlockParams] = None)¶
Bases:
agentsociety.agent.BlockMain mobility coordination block.
Initialization
- ParamsType¶
None
- OutputType¶
None
- ContextType¶
None
- name¶
‘MobilityBlock’
- description¶
‘Used for moving like go to work, go to home, go to other places, etc.’
- actions¶
None
- async forward(agent_context: agentsociety.agent.DotDict) agentsociety.cityagent.sharing_params.SocietyAgentBlockOutput¶
Main entry point - delegates to sub-blocks