pycityagent 2.0.0a6__py3-none-any.whl → 2.0.0a7__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pycityagent/agent.py +5 -3
- pycityagent/environment/interact/interact.py +86 -29
- pycityagent/environment/sence/static.py +3 -2
- pycityagent/environment/sim/aoi_service.py +1 -1
- pycityagent/environment/sim/economy_services.py +1 -1
- pycityagent/environment/sim/road_service.py +1 -1
- pycityagent/environment/sim/social_service.py +1 -1
- pycityagent/environment/simulator.py +6 -4
- pycityagent/environment/utils/__init__.py +5 -1
- pycityagent/llm/__init__.py +1 -1
- pycityagent/llm/embedding.py +36 -35
- pycityagent/llm/llm.py +197 -161
- pycityagent/llm/llmconfig.py +7 -9
- pycityagent/llm/utils.py +2 -2
- pycityagent/memory/memory.py +1 -2
- pycityagent/memory/memory_base.py +1 -2
- pycityagent/memory/profile.py +1 -2
- pycityagent/memory/self_define.py +1 -2
- pycityagent/memory/state.py +1 -2
- pycityagent/message/__init__.py +1 -1
- pycityagent/message/messager.py +11 -4
- pycityagent/simulation/__init__.py +1 -1
- pycityagent/simulation/agentgroup.py +13 -6
- pycityagent/simulation/interview.py +9 -5
- pycityagent/simulation/simulation.py +86 -33
- pycityagent/simulation/survey/__init__.py +1 -6
- pycityagent/simulation/survey/manager.py +22 -21
- pycityagent/simulation/survey/models.py +8 -5
- pycityagent/utils/decorators.py +14 -4
- pycityagent/utils/parsers/__init__.py +2 -1
- pycityagent/workflow/block.py +4 -3
- pycityagent/workflow/prompt.py +16 -9
- pycityagent/workflow/tool.py +1 -2
- pycityagent/workflow/trigger.py +36 -23
- {pycityagent-2.0.0a6.dist-info → pycityagent-2.0.0a7.dist-info}/METADATA +1 -1
- pycityagent-2.0.0a7.dist-info/RECORD +70 -0
- pycityagent-2.0.0a6.dist-info/RECORD +0 -70
- {pycityagent-2.0.0a6.dist-info → pycityagent-2.0.0a7.dist-info}/WHEEL +0 -0
pycityagent/workflow/prompt.py
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
from typing import Any, Callable, Dict, List, Optional, Union
|
2
2
|
import re
|
3
3
|
|
4
|
+
|
4
5
|
class FormatPrompt:
|
5
6
|
"""
|
6
|
-
A class to handle the formatting of prompts based on a template,
|
7
|
+
A class to handle the formatting of prompts based on a template,
|
7
8
|
with support for system prompts and variable extraction.
|
8
|
-
|
9
|
+
|
9
10
|
Attributes:
|
10
11
|
template (str): The template string containing placeholders.
|
11
12
|
system_prompt (Optional[str]): An optional system prompt to add to the dialog.
|
@@ -24,7 +25,7 @@ class FormatPrompt:
|
|
24
25
|
self.template = template
|
25
26
|
self.system_prompt = system_prompt # Store the system prompt
|
26
27
|
self.variables = self._extract_variables()
|
27
|
-
self.formatted_string =
|
28
|
+
self.formatted_string = "" # To store the formatted string
|
28
29
|
|
29
30
|
def _extract_variables(self) -> List[str]:
|
30
31
|
"""
|
@@ -33,7 +34,7 @@ class FormatPrompt:
|
|
33
34
|
Returns:
|
34
35
|
List[str]: A list of variable names found within the template.
|
35
36
|
"""
|
36
|
-
return re.findall(r
|
37
|
+
return re.findall(r"\{(\w+)\}", self.template)
|
37
38
|
|
38
39
|
def format(self, **kwargs) -> str:
|
39
40
|
"""
|
@@ -45,7 +46,9 @@ class FormatPrompt:
|
|
45
46
|
Returns:
|
46
47
|
str: The formatted string.
|
47
48
|
"""
|
48
|
-
self.formatted_string = self.template.format(
|
49
|
+
self.formatted_string = self.template.format(
|
50
|
+
**kwargs
|
51
|
+
) # Store the formatted string
|
49
52
|
return self.formatted_string
|
50
53
|
|
51
54
|
def to_dialog(self) -> List[Dict[str, str]]:
|
@@ -57,16 +60,20 @@ class FormatPrompt:
|
|
57
60
|
"""
|
58
61
|
dialog = []
|
59
62
|
if self.system_prompt:
|
60
|
-
dialog.append(
|
61
|
-
|
63
|
+
dialog.append(
|
64
|
+
{"role": "system", "content": self.system_prompt}
|
65
|
+
) # Add system prompt if it exists
|
66
|
+
dialog.append(
|
67
|
+
{"role": "user", "content": self.formatted_string}
|
68
|
+
) # Add user content
|
62
69
|
return dialog
|
63
70
|
|
64
71
|
def log(self) -> None:
|
65
72
|
"""
|
66
|
-
Logs the details of the FormatPrompt, including the template,
|
73
|
+
Logs the details of the FormatPrompt, including the template,
|
67
74
|
system prompt, extracted variables, and formatted string.
|
68
75
|
"""
|
69
76
|
print(f"FormatPrompt: {self.template}")
|
70
77
|
print(f"System Prompt: {self.system_prompt}") # Log the system prompt
|
71
78
|
print(f"Variables: {self.variables}")
|
72
|
-
print(f"Formatted String: {self.formatted_string}") # Log the formatted string
|
79
|
+
print(f"Formatted String: {self.formatted_string}") # Log the formatted string
|
pycityagent/workflow/tool.py
CHANGED
@@ -4,8 +4,7 @@ from copy import deepcopy
|
|
4
4
|
from typing import Any, Callable, Dict, List, Optional, Union
|
5
5
|
|
6
6
|
from ..agent import Agent
|
7
|
-
from ..environment import
|
8
|
-
PersonService)
|
7
|
+
from ..environment import LEVEL_ONE_PRE, POI_TYPE_DICT, AoiService, PersonService
|
9
8
|
from ..workflow import Block
|
10
9
|
|
11
10
|
|
pycityagent/workflow/trigger.py
CHANGED
@@ -5,47 +5,51 @@ from ..memory import Memory
|
|
5
5
|
from ..environment import Simulator
|
6
6
|
|
7
7
|
KEY_TRIGGER_COMPONENTS = [Memory, Simulator]
|
8
|
-
|
8
|
+
|
9
|
+
|
9
10
|
class EventTrigger:
|
10
11
|
"""Base class for event triggers that wait for specific conditions to be met."""
|
12
|
+
|
11
13
|
# 定义该trigger需要的组件类型
|
12
14
|
required_components: List[Type] = []
|
13
|
-
|
15
|
+
|
14
16
|
def __init__(self, block=None):
|
15
17
|
self.block = block
|
16
18
|
if block is not None:
|
17
19
|
self.initialize()
|
18
|
-
|
20
|
+
|
19
21
|
def initialize(self) -> None:
|
20
22
|
"""Initialize the trigger with necessary dependencies."""
|
21
23
|
if not self.block:
|
22
24
|
raise RuntimeError("Block not set for trigger")
|
23
|
-
|
25
|
+
|
24
26
|
# 检查所需组件是否都存在
|
25
27
|
missing_components = []
|
26
28
|
for component_type in self.required_components:
|
27
29
|
component_name = component_type.__name__.lower()
|
28
30
|
if not hasattr(self.block, component_name):
|
29
31
|
missing_components.append(component_type.__name__)
|
30
|
-
|
32
|
+
|
31
33
|
if missing_components:
|
32
34
|
raise RuntimeError(
|
33
35
|
f"Block is missing required components for {self.__class__.__name__}: "
|
34
36
|
f"{', '.join(missing_components)}"
|
35
37
|
)
|
36
|
-
|
38
|
+
|
37
39
|
async def wait_for_trigger(self) -> None:
|
38
40
|
"""Wait for the event trigger to be activated.
|
39
|
-
|
41
|
+
|
40
42
|
Raises:
|
41
43
|
NotImplementedError: Subclasses must implement this method.
|
42
44
|
"""
|
43
45
|
raise NotImplementedError
|
44
|
-
|
46
|
+
|
47
|
+
|
45
48
|
class MemoryChangeTrigger(EventTrigger):
|
46
49
|
"""Event trigger that activates when a specific key in memory changes."""
|
50
|
+
|
47
51
|
required_components = [Memory]
|
48
|
-
|
52
|
+
|
49
53
|
def __init__(self, key: str) -> None:
|
50
54
|
"""Initialize the memory change trigger.
|
51
55
|
|
@@ -74,12 +78,15 @@ class MemoryChangeTrigger(EventTrigger):
|
|
74
78
|
|
75
79
|
class TimeTrigger(EventTrigger):
|
76
80
|
"""Event trigger that activates periodically based on time intervals."""
|
81
|
+
|
77
82
|
required_components = [Simulator]
|
78
|
-
|
79
|
-
def __init__(
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
+
|
84
|
+
def __init__(
|
85
|
+
self,
|
86
|
+
days: Optional[int] = None,
|
87
|
+
hours: Optional[int] = None,
|
88
|
+
minutes: Optional[int] = None,
|
89
|
+
) -> None:
|
83
90
|
"""Initialize the time trigger with interval settings.
|
84
91
|
|
85
92
|
Args:
|
@@ -92,12 +99,16 @@ class TimeTrigger(EventTrigger):
|
|
92
99
|
"""
|
93
100
|
if all(param is None for param in (days, hours, minutes)):
|
94
101
|
raise ValueError("At least one time interval must be specified")
|
95
|
-
|
102
|
+
|
96
103
|
# 验证参数有效性
|
97
|
-
for param_name, param_value in [
|
104
|
+
for param_name, param_value in [
|
105
|
+
("days", days),
|
106
|
+
("hours", hours),
|
107
|
+
("minutes", minutes),
|
108
|
+
]:
|
98
109
|
if param_value is not None and param_value < 0:
|
99
110
|
raise ValueError(f"{param_name} cannot be negative")
|
100
|
-
|
111
|
+
|
101
112
|
# 将所有时间间隔转换为秒
|
102
113
|
self.interval = 0
|
103
114
|
if days is not None:
|
@@ -106,7 +117,7 @@ class TimeTrigger(EventTrigger):
|
|
106
117
|
self.interval += hours * 60 * 60
|
107
118
|
if minutes is not None:
|
108
119
|
self.interval += minutes * 60
|
109
|
-
|
120
|
+
|
110
121
|
self.trigger_event = asyncio.Event()
|
111
122
|
self._initialized = False
|
112
123
|
self._monitoring_task = None
|
@@ -126,17 +137,19 @@ class TimeTrigger(EventTrigger):
|
|
126
137
|
"""持续监控时间并在达到间隔时触发事件"""
|
127
138
|
# 第一次调用时直接触发
|
128
139
|
self.trigger_event.set()
|
129
|
-
|
140
|
+
|
130
141
|
while True:
|
131
142
|
try:
|
132
143
|
current_time = await self.simulator.get_time()
|
133
|
-
|
144
|
+
|
134
145
|
# 如果是第一次或者已经过了指定的时间间隔
|
135
|
-
if (
|
136
|
-
|
146
|
+
if (
|
147
|
+
self._last_trigger_time is None
|
148
|
+
or current_time - self._last_trigger_time >= self.interval
|
149
|
+
):
|
137
150
|
self._last_trigger_time = current_time
|
138
151
|
self.trigger_event.set()
|
139
|
-
|
152
|
+
|
140
153
|
await asyncio.sleep(5) # 避免过于频繁的检查
|
141
154
|
except Exception as e:
|
142
155
|
print(f"Error in time monitoring: {e}")
|
@@ -0,0 +1,70 @@
|
|
1
|
+
pycityagent/__init__.py,sha256=n56bWkAUEcvjDsb7LcJpaGjlrriSKPnR0yBhwRfEYBA,212
|
2
|
+
pycityagent/agent.py,sha256=s7FYOkOwdOU6ufp6HzGx0GNt3LZc4qMxRRv8hZxJI7k,11281
|
3
|
+
pycityagent/economy/__init__.py,sha256=aonY4WHnx-6EGJ4WKrx4S-2jAkYNLtqUA04jp6q8B7w,75
|
4
|
+
pycityagent/economy/econ_client.py,sha256=qQb_kZneEXGBRaS_y5Jdoi95I8GyjKEsDSC4s6V6R7w,10829
|
5
|
+
pycityagent/environment/__init__.py,sha256=awHxlOud-btWbk0FCS4RmGJ13W84oVCkbGfcrhKqihA,240
|
6
|
+
pycityagent/environment/interact/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
7
|
+
pycityagent/environment/interact/interact.py,sha256=ifxPPzuHeqLHIZ_6zvfXMoBOnBsXNIP4bYp7OJ7pnEQ,6588
|
8
|
+
pycityagent/environment/message/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
9
|
+
pycityagent/environment/sence/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
10
|
+
pycityagent/environment/sence/static.py,sha256=9s7jz8HitstTrk-GqpnVB26oPrjuTyNeL7hcoxjPhV4,29104
|
11
|
+
pycityagent/environment/sidecar/__init__.py,sha256=RFbOf40aYBP4WwRpFkua5tlRE_OtMcMNyp1Lew_aaAU,235
|
12
|
+
pycityagent/environment/sidecar/sidecarv2.py,sha256=beKlYZgt38EQbV1x6NWQo7xVXyB-5QHfbwJexyXu7Tg,3252
|
13
|
+
pycityagent/environment/sim/__init__.py,sha256=JVG6sSD2Hbohl1TtKjuQi7_M7tKMrFh9vl3QV3VA5O0,724
|
14
|
+
pycityagent/environment/sim/aoi_service.py,sha256=yM50xhYPLLExwjl5MDlnAuohqJpK0KbIvr_cWLZJEAk,1203
|
15
|
+
pycityagent/environment/sim/client.py,sha256=MHR7Hhu-Cr7B61d3K_QDpSJh4HrUU9JQf6Cu7_8pdsE,3493
|
16
|
+
pycityagent/environment/sim/clock_service.py,sha256=YG_A_IA7iJp9rOQE3bCPgppzuzzUwWMCzlxSUdOy088,1326
|
17
|
+
pycityagent/environment/sim/economy_services.py,sha256=ZggCyAK4Tv5SS881lUBe0WyymKq-0PtdWpe8p_pTDiI,7085
|
18
|
+
pycityagent/environment/sim/lane_service.py,sha256=6ljWiX_GbZd-a-fEcktDZncxBkraLA2LDE_pVV99uLs,3896
|
19
|
+
pycityagent/environment/sim/light_service.py,sha256=ezYGcV_PkZ6I-yv48LNEjsytwwwQx-1Qp2QCWXWIhdQ,4215
|
20
|
+
pycityagent/environment/sim/person_service.py,sha256=nIvOsoBoqOTDYtsiThg07-4ZBgkTUDEbb3dHyOjzyb8,10652
|
21
|
+
pycityagent/environment/sim/road_service.py,sha256=phKTwTyhc_6Ht2mddEXpdENfl-lRXIVY0CHAlw1yHjI,1264
|
22
|
+
pycityagent/environment/sim/sim_env.py,sha256=HI1LcS_FotDKQ6vBnx0e49prXSABOfA20aU9KM-ZkCY,4625
|
23
|
+
pycityagent/environment/sim/social_service.py,sha256=6Iqvq6dz8H2jhLLdtaITc6Js9QnQw-Ylsd5AZgUj3-E,1993
|
24
|
+
pycityagent/environment/simulator.py,sha256=gxmUyvR1cwlzEGcFelNqscOhpld8zongpdzMyi0Zm0Q,11902
|
25
|
+
pycityagent/environment/utils/__init__.py,sha256=1m4Q1EfGvNpUsa1bgQzzCyWhfkpElnskNImjjFD3Znc,237
|
26
|
+
pycityagent/environment/utils/base64.py,sha256=hoREzQo3FXMN79pqQLO2jgsDEvudciomyKii7MWljAM,374
|
27
|
+
pycityagent/environment/utils/const.py,sha256=3RMNy7_bE7-23K90j9DFW_tWEzu8s7hSTgKbV-3BFl4,5327
|
28
|
+
pycityagent/environment/utils/geojson.py,sha256=Ieg8Bzw63kKhJlhDIOVDoh-wQO4Sbtoe47FtIOy5wWg,686
|
29
|
+
pycityagent/environment/utils/grpc.py,sha256=6EJwKXXktIWb1NcUiJzIRmfrY0S03QAXXGcCDHqAT00,1998
|
30
|
+
pycityagent/environment/utils/map_utils.py,sha256=oqrRgQICC3SYw6gwjjPe_MAif7_t6dlrQpY8E32Fexs,5777
|
31
|
+
pycityagent/environment/utils/port.py,sha256=3OM6kSUt3PxvDUOlgyiendBtETaWU8Mzk_8H0TzTmYg,295
|
32
|
+
pycityagent/environment/utils/protobuf.py,sha256=0jBvK_s96y_n7tuMbG22TOtQmg71SGV4ONDy2IGsU9o,1148
|
33
|
+
pycityagent/llm/__init__.py,sha256=7klKEmCcDWJIu-F4DoAukSuKfDbLhdczrSIhpwow-sY,145
|
34
|
+
pycityagent/llm/embedding.py,sha256=Y0xhm_Ny6cawqzlendXb-mAS2QAuuEez1UtTR5-Kb2Q,4293
|
35
|
+
pycityagent/llm/llm.py,sha256=wZGPUgLMmSRurQVXv-kg0T8OcYpoHhbjKxy3vQu2vhg,19682
|
36
|
+
pycityagent/llm/llmconfig.py,sha256=4Ylf4OFSBEFy8jrOneeX0HvPhWEaF5jGvy1HkXK08Ro,436
|
37
|
+
pycityagent/llm/utils.py,sha256=hoNPhvomb1u6lhFX0GctFipw74hVKb7bvUBDqwBzBYw,160
|
38
|
+
pycityagent/memory/__init__.py,sha256=Hs2NhYpIG-lvpwPWwj4DydB1sxtjz7cuA4iDAzCXnjI,243
|
39
|
+
pycityagent/memory/const.py,sha256=m9AidLs7Zu28StpvYetclqx-1qQcy3bYvwagcXB3a04,913
|
40
|
+
pycityagent/memory/memory.py,sha256=sDbaqr1Koqf_9joMtG9PmmVxJZ6Rq7nAZO6EO0OdVgo,18148
|
41
|
+
pycityagent/memory/memory_base.py,sha256=7YlPuDAOyDgdEvdyR2Uxcn_LynJoCbud5-RpYMhZVcs,5617
|
42
|
+
pycityagent/memory/profile.py,sha256=ts05cnnmhSPeEYdxPsn5lt2lqT50YSdZOS7fPNScKCg,5195
|
43
|
+
pycityagent/memory/self_define.py,sha256=P5uxGwj8UQ-z-5x_iZAPZEHa-oepVjkHRyH6UH2xMfw,5192
|
44
|
+
pycityagent/memory/state.py,sha256=D8V_jKkWOYV4CjuR8F3KyKZ-eEf7kK9_cCF11pRu6X8,5126
|
45
|
+
pycityagent/memory/utils.py,sha256=97lkenn-36wgt7uWb3Z39BXdJ5zlEQTQnQBFpoND1gg,879
|
46
|
+
pycityagent/message/__init__.py,sha256=TCjazxqb5DVwbTu1fF0sNvaH_EPXVuj2XQ0p6W-QCLU,55
|
47
|
+
pycityagent/message/messager.py,sha256=2hUIuX8Jqad2p6KM8PyfOWMFl1NjqF9B5yE-FnsYx3c,2598
|
48
|
+
pycityagent/simulation/__init__.py,sha256=jYaqaNpzM5M_e_ykISS_M-mIyYdzJXJWhgpfBpA6l5k,111
|
49
|
+
pycityagent/simulation/agentgroup.py,sha256=bVHXjiYtvqvvYOMsQPzufOFG8KZZDRUDTYjwpIjlQgE,4308
|
50
|
+
pycityagent/simulation/interview.py,sha256=S2uv8MFCB4-u_4Q202VFoPJOIleqpKK9Piju0BDSb_0,1158
|
51
|
+
pycityagent/simulation/simulation.py,sha256=5DRRG4iTWvTTa10G4_qsoUy9wa2dmpDpfPWcK2Rnfvs,13860
|
52
|
+
pycityagent/simulation/survey/__init__.py,sha256=rxwou8U9KeFSP7rMzXtmtp2fVFZxK4Trzi-psx9LPIs,153
|
53
|
+
pycityagent/simulation/survey/manager.py,sha256=Tqini-4-uBZDsChVVL4ezlgXatnrxAfvceAZZRP8E48,2062
|
54
|
+
pycityagent/simulation/survey/models.py,sha256=sY4OrrG1h9iBnjBsyDage4T3mUFPBHHZQe-ORtwSjKc,1305
|
55
|
+
pycityagent/simulation/ui/__init__.py,sha256=4aevYl09KSku2NEpFZhyFNxI1qlswbrAFwhF_YhxFTo,62
|
56
|
+
pycityagent/simulation/ui/interface.py,sha256=cSQRQhuA5Gj-X7anuN9tmRpG6-I8QYOuswjIWUeSvio,21636
|
57
|
+
pycityagent/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
58
|
+
pycityagent/utils/decorators.py,sha256=Gk3r41hfk6awui40tbwpq3C7wC7jHaRmLRlcJFlLQCE,3160
|
59
|
+
pycityagent/utils/parsers/__init__.py,sha256=AN2xgiPxszWK4rpX7zrqRsqNwfGF3WnCA5-PFTvbaKk,281
|
60
|
+
pycityagent/utils/parsers/code_block_parser.py,sha256=Cs2Z_hm9VfNCpPPll1TwteaJF-HAQPs-3RApsOekFm4,1173
|
61
|
+
pycityagent/utils/parsers/json_parser.py,sha256=FZ3XN1g8z4Dr2TFraUOoah1oQcze4fPd2m01hHoX0Mo,2917
|
62
|
+
pycityagent/utils/parsers/parser_base.py,sha256=k6DVqwAMK3jJdOP4IeLE-aFPm3V2F-St5qRBuRdx4aU,1742
|
63
|
+
pycityagent/workflow/__init__.py,sha256=EyCcjB6LyBim-5iAOPe4m2qfvghEPqu1ZdGfy4KPeZ8,551
|
64
|
+
pycityagent/workflow/block.py,sha256=6EmiRMLdOZC1wMlmLMIjfrp9TuiI7Gw4s3nnXVMbrnw,6031
|
65
|
+
pycityagent/workflow/prompt.py,sha256=tY69nDO8fgYfF_dOA-iceR8pAhkYmCqoox8uRPqEuGY,2956
|
66
|
+
pycityagent/workflow/tool.py,sha256=wD9WZ5rma6HCKugtHTwbShNE0f-Rjlwvn_1be3fCAsk,6682
|
67
|
+
pycityagent/workflow/trigger.py,sha256=t5X_i0WtL32bipZSsq_E3UUyYYudYLxQUpvxbgClp2s,5683
|
68
|
+
pycityagent-2.0.0a7.dist-info/METADATA,sha256=jl2Q3mkfZidXJQGQuTTNMXCaGD6z7CMYy4R9jk3I0vA,7614
|
69
|
+
pycityagent-2.0.0a7.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
70
|
+
pycityagent-2.0.0a7.dist-info/RECORD,,
|
@@ -1,70 +0,0 @@
|
|
1
|
-
pycityagent/__init__.py,sha256=n56bWkAUEcvjDsb7LcJpaGjlrriSKPnR0yBhwRfEYBA,212
|
2
|
-
pycityagent/agent.py,sha256=U1cdyRl_ZURnPLC31uP8auvSa4TWupK_SZ5nuff3Ryk,11263
|
3
|
-
pycityagent/economy/__init__.py,sha256=aonY4WHnx-6EGJ4WKrx4S-2jAkYNLtqUA04jp6q8B7w,75
|
4
|
-
pycityagent/economy/econ_client.py,sha256=qQb_kZneEXGBRaS_y5Jdoi95I8GyjKEsDSC4s6V6R7w,10829
|
5
|
-
pycityagent/environment/__init__.py,sha256=awHxlOud-btWbk0FCS4RmGJ13W84oVCkbGfcrhKqihA,240
|
6
|
-
pycityagent/environment/interact/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
7
|
-
pycityagent/environment/interact/interact.py,sha256=LNl_HlasoW5H72GiBnbQkCP51qDIp5dpk-EShA7RPWk,5946
|
8
|
-
pycityagent/environment/message/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
9
|
-
pycityagent/environment/sence/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
10
|
-
pycityagent/environment/sence/static.py,sha256=fdBjHKacNiDCKhvQkc9WgEYYSO0peMC5lb8CcXl9iNc,29101
|
11
|
-
pycityagent/environment/sidecar/__init__.py,sha256=RFbOf40aYBP4WwRpFkua5tlRE_OtMcMNyp1Lew_aaAU,235
|
12
|
-
pycityagent/environment/sidecar/sidecarv2.py,sha256=beKlYZgt38EQbV1x6NWQo7xVXyB-5QHfbwJexyXu7Tg,3252
|
13
|
-
pycityagent/environment/sim/__init__.py,sha256=JVG6sSD2Hbohl1TtKjuQi7_M7tKMrFh9vl3QV3VA5O0,724
|
14
|
-
pycityagent/environment/sim/aoi_service.py,sha256=pYSsqdGBpfQvp0-umNJir_7Yph75OJqhLjFQ2QWhSP8,1211
|
15
|
-
pycityagent/environment/sim/client.py,sha256=MHR7Hhu-Cr7B61d3K_QDpSJh4HrUU9JQf6Cu7_8pdsE,3493
|
16
|
-
pycityagent/environment/sim/clock_service.py,sha256=YG_A_IA7iJp9rOQE3bCPgppzuzzUwWMCzlxSUdOy088,1326
|
17
|
-
pycityagent/environment/sim/economy_services.py,sha256=_WirbF-vv4U1VK5oACiEC3Bse9Pia9HWNEw21suEnAs,7093
|
18
|
-
pycityagent/environment/sim/lane_service.py,sha256=6ljWiX_GbZd-a-fEcktDZncxBkraLA2LDE_pVV99uLs,3896
|
19
|
-
pycityagent/environment/sim/light_service.py,sha256=ezYGcV_PkZ6I-yv48LNEjsytwwwQx-1Qp2QCWXWIhdQ,4215
|
20
|
-
pycityagent/environment/sim/person_service.py,sha256=nIvOsoBoqOTDYtsiThg07-4ZBgkTUDEbb3dHyOjzyb8,10652
|
21
|
-
pycityagent/environment/sim/road_service.py,sha256=Pab182YRcrjLw3UcfoD1Hdd6O8XEdi6Q2hJKzFcpSWE,1272
|
22
|
-
pycityagent/environment/sim/sim_env.py,sha256=HI1LcS_FotDKQ6vBnx0e49prXSABOfA20aU9KM-ZkCY,4625
|
23
|
-
pycityagent/environment/sim/social_service.py,sha256=a9mGZm95EFUIKQJUwQi9f8anmtf2SK4XqGfE2W9IXSQ,2001
|
24
|
-
pycityagent/environment/simulator.py,sha256=bjzn5mTmsQgePZc3hDzoVS4dXAHLaI_yJWjUCTMAdi8,11872
|
25
|
-
pycityagent/environment/utils/__init__.py,sha256=PUx8etr2p_AA7F50ZR7g27odkgv-nOqFZa61ER8-DLg,221
|
26
|
-
pycityagent/environment/utils/base64.py,sha256=hoREzQo3FXMN79pqQLO2jgsDEvudciomyKii7MWljAM,374
|
27
|
-
pycityagent/environment/utils/const.py,sha256=3RMNy7_bE7-23K90j9DFW_tWEzu8s7hSTgKbV-3BFl4,5327
|
28
|
-
pycityagent/environment/utils/geojson.py,sha256=Ieg8Bzw63kKhJlhDIOVDoh-wQO4Sbtoe47FtIOy5wWg,686
|
29
|
-
pycityagent/environment/utils/grpc.py,sha256=6EJwKXXktIWb1NcUiJzIRmfrY0S03QAXXGcCDHqAT00,1998
|
30
|
-
pycityagent/environment/utils/map_utils.py,sha256=oqrRgQICC3SYw6gwjjPe_MAif7_t6dlrQpY8E32Fexs,5777
|
31
|
-
pycityagent/environment/utils/port.py,sha256=3OM6kSUt3PxvDUOlgyiendBtETaWU8Mzk_8H0TzTmYg,295
|
32
|
-
pycityagent/environment/utils/protobuf.py,sha256=0jBvK_s96y_n7tuMbG22TOtQmg71SGV4ONDy2IGsU9o,1148
|
33
|
-
pycityagent/llm/__init__.py,sha256=0-_q-StY0g4p9mdUNve_kqzHNXwVxedNsvxGXSQYq6o,144
|
34
|
-
pycityagent/llm/embedding.py,sha256=vtjMUuInrtn0WRPXp3cmYEhwHXJ0q6zszdXsjTsgNeQ,4499
|
35
|
-
pycityagent/llm/llm.py,sha256=PFbGCVQOLNJEfd5KaZdXABYIoPTFOGrNXIAE2eDRCP4,19191
|
36
|
-
pycityagent/llm/llmconfig.py,sha256=WcyyfjP6XVLCDj2aemEM6ogQCWNxbTXQBiR0WjN4E8E,457
|
37
|
-
pycityagent/llm/utils.py,sha256=emio-WhYh6vYb5Sp7KsnW9hKKe_jStjJsGBBJfcAPgM,153
|
38
|
-
pycityagent/memory/__init__.py,sha256=Hs2NhYpIG-lvpwPWwj4DydB1sxtjz7cuA4iDAzCXnjI,243
|
39
|
-
pycityagent/memory/const.py,sha256=m9AidLs7Zu28StpvYetclqx-1qQcy3bYvwagcXB3a04,913
|
40
|
-
pycityagent/memory/memory.py,sha256=I5GJ77eQZBcKcWevZQcHUBTd2XNT4CotE6mmvB5mA8I,18170
|
41
|
-
pycityagent/memory/memory_base.py,sha256=U6odnR_5teaT3N2XF0W2McCxPyxtCpw61DjRVIO6p6I,5639
|
42
|
-
pycityagent/memory/profile.py,sha256=dJPeZ91DZcYdR7zmsfSSQx7epvvE1mrvj4-4WAT0tkM,5217
|
43
|
-
pycityagent/memory/self_define.py,sha256=vH2PrRSIykAOc5FebKN2JFQdx17nfR-IWv4s_ZS0YJk,5214
|
44
|
-
pycityagent/memory/state.py,sha256=xqOxo69sZX1M9eCUMbg5BUlSFe9LdMDH3oTWDXC0y64,5148
|
45
|
-
pycityagent/memory/utils.py,sha256=97lkenn-36wgt7uWb3Z39BXdJ5zlEQTQnQBFpoND1gg,879
|
46
|
-
pycityagent/message/__init__.py,sha256=dEigAhYQ8e-suktavjo-Ip-nkEzf659hrFJwoFQ2ljE,54
|
47
|
-
pycityagent/message/messager.py,sha256=Xd02IxSkVtfrC386frB5kiqlDIDhNKuh5pVM4xKIyyw,2463
|
48
|
-
pycityagent/simulation/__init__.py,sha256=SZQzjcGR-zkTDrE81bQuEdKn7yjk4BcZ9m7o1wTc7EE,111
|
49
|
-
pycityagent/simulation/agentgroup.py,sha256=G2aRk1d3d5Ja4QPNJagNKz8a_9_JzSmQXqmDrteYkkg,4105
|
50
|
-
pycityagent/simulation/interview.py,sha256=mY4Vpz0vgJo4rrMy3TZnwwM-iVDL6J0LgjOxbEuV27E,1173
|
51
|
-
pycityagent/simulation/simulation.py,sha256=98_dxWAUNhbVyDQlsGq7SB_QpXF2r8vezVk1C54P6IY,13073
|
52
|
-
pycityagent/simulation/survey/__init__.py,sha256=hFJ0Q1yo4jwKAIXP17sznBSWwm2Lyh3F3W3Lly40wr8,172
|
53
|
-
pycityagent/simulation/survey/manager.py,sha256=DkNrb12Ay7TiGURoyJTFFeUdV1zh6TgRpTmpZOblADw,2158
|
54
|
-
pycityagent/simulation/survey/models.py,sha256=-3EKe-qvkUJ2TH24ow0A_Lc4teGet7pueN2T5mOR_Qc,1308
|
55
|
-
pycityagent/simulation/ui/__init__.py,sha256=4aevYl09KSku2NEpFZhyFNxI1qlswbrAFwhF_YhxFTo,62
|
56
|
-
pycityagent/simulation/ui/interface.py,sha256=cSQRQhuA5Gj-X7anuN9tmRpG6-I8QYOuswjIWUeSvio,21636
|
57
|
-
pycityagent/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
58
|
-
pycityagent/utils/decorators.py,sha256=v21QD_cKMTQ-t1UorXjgbWDFzeRehvprDalhQHIQxgg,3160
|
59
|
-
pycityagent/utils/parsers/__init__.py,sha256=p5RZ4azJIpMgmKIU2evIp2moNzFabIR9X1LVNjT6Fq4,279
|
60
|
-
pycityagent/utils/parsers/code_block_parser.py,sha256=Cs2Z_hm9VfNCpPPll1TwteaJF-HAQPs-3RApsOekFm4,1173
|
61
|
-
pycityagent/utils/parsers/json_parser.py,sha256=FZ3XN1g8z4Dr2TFraUOoah1oQcze4fPd2m01hHoX0Mo,2917
|
62
|
-
pycityagent/utils/parsers/parser_base.py,sha256=k6DVqwAMK3jJdOP4IeLE-aFPm3V2F-St5qRBuRdx4aU,1742
|
63
|
-
pycityagent/workflow/__init__.py,sha256=EyCcjB6LyBim-5iAOPe4m2qfvghEPqu1ZdGfy4KPeZ8,551
|
64
|
-
pycityagent/workflow/block.py,sha256=IXfarqIax6yVP_DniU6ZsPTT8QA4aIDnvZbwP_MtRaw,6054
|
65
|
-
pycityagent/workflow/prompt.py,sha256=cmzKEmlzjdwg50uwfnTnN_6xNJA8OVjo5fdmcsaTbdU,2886
|
66
|
-
pycityagent/workflow/tool.py,sha256=2VDzBISnx7LASdAou8Zu230j7o2SdK1oBeqHtwDHZy0,6711
|
67
|
-
pycityagent/workflow/trigger.py,sha256=8530YfBbLsdtT1QZSqvuha64NNLVJYXVznlvknz9-xI,5737
|
68
|
-
pycityagent-2.0.0a6.dist-info/METADATA,sha256=u-2FElVNMV8-kXaAz5V8paLzLs3REC-gP_zO5DL6jkQ,7614
|
69
|
-
pycityagent-2.0.0a6.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
70
|
-
pycityagent-2.0.0a6.dist-info/RECORD,,
|
File without changes
|