camel-ai 0.2.58__py3-none-any.whl → 0.2.59__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.
Potentially problematic release.
This version of camel-ai might be problematic. Click here for more details.
- camel/__init__.py +1 -1
- camel/agents/chat_agent.py +126 -9
- camel/agents/critic_agent.py +73 -8
- camel/benchmarks/__init__.py +2 -0
- camel/benchmarks/browsecomp.py +854 -0
- camel/human.py +14 -0
- camel/societies/role_playing.py +50 -0
- camel/societies/workforce/role_playing_worker.py +17 -8
- camel/societies/workforce/workforce.py +70 -14
- camel/toolkits/base.py +4 -2
- camel/toolkits/excel_toolkit.py +3 -1
- camel/toolkits/mcp_toolkit.py +5 -3
- {camel_ai-0.2.58.dist-info → camel_ai-0.2.59.dist-info}/METADATA +1 -1
- {camel_ai-0.2.58.dist-info → camel_ai-0.2.59.dist-info}/RECORD +16 -15
- {camel_ai-0.2.58.dist-info → camel_ai-0.2.59.dist-info}/WHEEL +0 -0
- {camel_ai-0.2.58.dist-info → camel_ai-0.2.59.dist-info}/licenses/LICENSE +0 -0
camel/human.py
CHANGED
|
@@ -136,3 +136,17 @@ class Human:
|
|
|
136
136
|
content = self.parse_input(human_input)
|
|
137
137
|
message = meta_chat_message.create_new_instance(content)
|
|
138
138
|
return ChatAgentResponse(msgs=[message], terminated=False, info={})
|
|
139
|
+
|
|
140
|
+
def clone(self, with_memory: bool = False) -> 'Human':
|
|
141
|
+
r"""Creates a new instance of the Human class with the same
|
|
142
|
+
attributes.
|
|
143
|
+
|
|
144
|
+
Args:
|
|
145
|
+
with_memory (bool): Flag indicating whether to include memory in
|
|
146
|
+
the cloned instance. Currently not used.
|
|
147
|
+
(default: :obj:`False`)
|
|
148
|
+
|
|
149
|
+
Returns:
|
|
150
|
+
Human: A new Human instance with the same name and logger_color.
|
|
151
|
+
"""
|
|
152
|
+
return Human(name=self.name, logger_color=self.logger_color)
|
camel/societies/role_playing.py
CHANGED
|
@@ -120,6 +120,9 @@ class RolePlaying:
|
|
|
120
120
|
self.task_type = task_type
|
|
121
121
|
self.task_prompt = task_prompt
|
|
122
122
|
|
|
123
|
+
self.task_specify_agent_kwargs = task_specify_agent_kwargs
|
|
124
|
+
self.task_planner_agent_kwargs = task_planner_agent_kwargs
|
|
125
|
+
|
|
123
126
|
self.specified_task_prompt: Optional[TextPrompt] = None
|
|
124
127
|
self._init_specified_task_prompt(
|
|
125
128
|
assistant_role_name,
|
|
@@ -680,3 +683,50 @@ class RolePlaying:
|
|
|
680
683
|
info=user_response.info,
|
|
681
684
|
),
|
|
682
685
|
)
|
|
686
|
+
|
|
687
|
+
def clone(
|
|
688
|
+
self, task_prompt: str, with_memory: bool = False
|
|
689
|
+
) -> 'RolePlaying':
|
|
690
|
+
r"""Creates a new instance of RolePlaying with the same configuration.
|
|
691
|
+
|
|
692
|
+
Args:
|
|
693
|
+
task_prompt (str): The task prompt to be used by the new instance.
|
|
694
|
+
with_memory (bool, optional): Whether to copy the memory
|
|
695
|
+
(conversation history) to the new instance. If True, the new
|
|
696
|
+
instance will have the same conversation history. If False,
|
|
697
|
+
the new instance will have a fresh memory.
|
|
698
|
+
(default: :obj:`False`)
|
|
699
|
+
|
|
700
|
+
Returns:
|
|
701
|
+
RolePlaying: A new instance of RolePlaying with the same
|
|
702
|
+
configuration.
|
|
703
|
+
"""
|
|
704
|
+
|
|
705
|
+
new_instance = RolePlaying(
|
|
706
|
+
assistant_role_name=self.assistant_agent.role_name,
|
|
707
|
+
user_role_name=self.user_agent.role_name,
|
|
708
|
+
task_prompt=task_prompt,
|
|
709
|
+
with_task_specify=self.with_task_specify,
|
|
710
|
+
task_specify_agent_kwargs=self.task_specify_agent_kwargs,
|
|
711
|
+
with_task_planner=self.with_task_planner,
|
|
712
|
+
task_planner_agent_kwargs=self.task_planner_agent_kwargs,
|
|
713
|
+
with_critic_in_the_loop=False,
|
|
714
|
+
model=self.model,
|
|
715
|
+
task_type=self.task_type,
|
|
716
|
+
)
|
|
717
|
+
tmp_assistant_sys_msg = new_instance.assistant_sys_msg
|
|
718
|
+
new_instance.assistant_agent = self.assistant_agent.clone(with_memory)
|
|
719
|
+
new_instance.assistant_sys_msg = tmp_assistant_sys_msg
|
|
720
|
+
new_instance.assistant_agent._system_message = tmp_assistant_sys_msg
|
|
721
|
+
|
|
722
|
+
tmp_user_sys_msg = new_instance.user_sys_msg
|
|
723
|
+
new_instance.user_agent = self.user_agent.clone(with_memory)
|
|
724
|
+
new_instance.user_sys_msg = tmp_user_sys_msg
|
|
725
|
+
new_instance.user_agent._system_message = tmp_user_sys_msg
|
|
726
|
+
|
|
727
|
+
new_instance.with_critic_in_the_loop = self.with_critic_in_the_loop
|
|
728
|
+
new_instance.critic_sys_msg = self.critic_sys_msg
|
|
729
|
+
if self.critic:
|
|
730
|
+
new_instance.critic = self.critic.clone(with_memory)
|
|
731
|
+
|
|
732
|
+
return new_instance
|
|
@@ -38,14 +38,17 @@ class RolePlayingWorker(Worker):
|
|
|
38
38
|
description (str): Description of the node.
|
|
39
39
|
assistant_role_name (str): The role name of the assistant agent.
|
|
40
40
|
user_role_name (str): The role name of the user agent.
|
|
41
|
-
assistant_agent_kwargs (Optional[Dict]
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
user_agent_kwargs (Optional[Dict]
|
|
41
|
+
assistant_agent_kwargs (Optional[Dict]): The keyword arguments to
|
|
42
|
+
initialize the assistant agent in the role playing, like the model
|
|
43
|
+
name, etc. (default: :obj:`None`)
|
|
44
|
+
user_agent_kwargs (Optional[Dict]): The keyword arguments to
|
|
45
45
|
initialize the user agent in the role playing, like the model name,
|
|
46
|
-
etc.
|
|
47
|
-
|
|
48
|
-
the
|
|
46
|
+
etc. (default: :obj:`None`)
|
|
47
|
+
summarize_agent_kwargs (Optional[Dict]): The keyword arguments to
|
|
48
|
+
initialize the summarize agent, like the model name, etc.
|
|
49
|
+
(default: :obj:`None`)
|
|
50
|
+
chat_turn_limit (int): The maximum number of chat turns in the role
|
|
51
|
+
playing. (default: :obj:`3`)
|
|
49
52
|
"""
|
|
50
53
|
|
|
51
54
|
def __init__(
|
|
@@ -55,9 +58,11 @@ class RolePlayingWorker(Worker):
|
|
|
55
58
|
user_role_name: str,
|
|
56
59
|
assistant_agent_kwargs: Optional[Dict] = None,
|
|
57
60
|
user_agent_kwargs: Optional[Dict] = None,
|
|
61
|
+
summarize_agent_kwargs: Optional[Dict] = None,
|
|
58
62
|
chat_turn_limit: int = 3,
|
|
59
63
|
) -> None:
|
|
60
64
|
super().__init__(description)
|
|
65
|
+
self.summarize_agent_kwargs = summarize_agent_kwargs
|
|
61
66
|
summ_sys_msg = BaseMessage.make_assistant_message(
|
|
62
67
|
role_name="Summarizer",
|
|
63
68
|
content="You are a good summarizer. You will be presented with "
|
|
@@ -65,7 +70,11 @@ class RolePlayingWorker(Worker):
|
|
|
65
70
|
"are trying to solve a task. Your job is summarizing the result "
|
|
66
71
|
"of the task based on the chat history.",
|
|
67
72
|
)
|
|
68
|
-
|
|
73
|
+
summarize_agent_dict = (
|
|
74
|
+
summarize_agent_kwargs if summarize_agent_kwargs else {}
|
|
75
|
+
)
|
|
76
|
+
summarize_agent_dict['system_message'] = summ_sys_msg
|
|
77
|
+
self.summarize_agent = ChatAgent(**summarize_agent_dict)
|
|
69
78
|
self.chat_turn_limit = chat_turn_limit
|
|
70
79
|
self.assistant_role_name = assistant_role_name
|
|
71
80
|
self.user_role_name = user_role_name
|
|
@@ -202,6 +202,7 @@ class Workforce(BaseNode):
|
|
|
202
202
|
user_role_name: str,
|
|
203
203
|
assistant_agent_kwargs: Optional[Dict] = None,
|
|
204
204
|
user_agent_kwargs: Optional[Dict] = None,
|
|
205
|
+
summarize_agent_kwargs: Optional[Dict] = None,
|
|
205
206
|
chat_turn_limit: int = 3,
|
|
206
207
|
) -> Workforce:
|
|
207
208
|
r"""Add a worker node to the workforce that uses `RolePlaying` system.
|
|
@@ -210,25 +211,29 @@ class Workforce(BaseNode):
|
|
|
210
211
|
description (str): Description of the node.
|
|
211
212
|
assistant_role_name (str): The role name of the assistant agent.
|
|
212
213
|
user_role_name (str): The role name of the user agent.
|
|
213
|
-
assistant_agent_kwargs (Optional[Dict]
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
user_agent_kwargs (Optional[Dict]
|
|
217
|
-
|
|
218
|
-
model name, etc.
|
|
219
|
-
|
|
220
|
-
|
|
214
|
+
assistant_agent_kwargs (Optional[Dict]): The keyword arguments to
|
|
215
|
+
initialize the assistant agent in the role playing, like the
|
|
216
|
+
model name, etc. (default: :obj:`None`)
|
|
217
|
+
user_agent_kwargs (Optional[Dict]): The keyword arguments to
|
|
218
|
+
initialize the user agent in the role playing, like the
|
|
219
|
+
model name, etc. (default: :obj:`None`)
|
|
220
|
+
summarize_agent_kwargs (Optional[Dict]): The keyword arguments to
|
|
221
|
+
initialize the summarize agent, like the model name, etc.
|
|
222
|
+
(default: :obj:`None`)
|
|
223
|
+
chat_turn_limit (int): The maximum number of chat turns in the
|
|
224
|
+
role playing. (default: :obj:`3`)
|
|
221
225
|
|
|
222
226
|
Returns:
|
|
223
227
|
Workforce: The workforce node itself.
|
|
224
228
|
"""
|
|
225
229
|
worker_node = RolePlayingWorker(
|
|
226
|
-
description,
|
|
227
|
-
assistant_role_name,
|
|
228
|
-
user_role_name,
|
|
229
|
-
assistant_agent_kwargs,
|
|
230
|
-
user_agent_kwargs,
|
|
231
|
-
|
|
230
|
+
description=description,
|
|
231
|
+
assistant_role_name=assistant_role_name,
|
|
232
|
+
user_role_name=user_role_name,
|
|
233
|
+
assistant_agent_kwargs=assistant_agent_kwargs,
|
|
234
|
+
user_agent_kwargs=user_agent_kwargs,
|
|
235
|
+
summarize_agent_kwargs=summarize_agent_kwargs,
|
|
236
|
+
chat_turn_limit=chat_turn_limit,
|
|
232
237
|
)
|
|
233
238
|
self._children.append(worker_node)
|
|
234
239
|
return self
|
|
@@ -501,3 +506,54 @@ class Workforce(BaseNode):
|
|
|
501
506
|
for child_task in self._child_listening_tasks:
|
|
502
507
|
child_task.cancel()
|
|
503
508
|
self._running = False
|
|
509
|
+
|
|
510
|
+
def clone(self, with_memory: bool = False) -> 'Workforce':
|
|
511
|
+
r"""Creates a new instance of Workforce with the same configuration.
|
|
512
|
+
|
|
513
|
+
Args:
|
|
514
|
+
with_memory (bool, optional): Whether to copy the memory
|
|
515
|
+
(conversation history) to the new instance. If True, the new
|
|
516
|
+
instance will have the same conversation history. If False,
|
|
517
|
+
the new instance will have a fresh memory.
|
|
518
|
+
(default: :obj:`False`)
|
|
519
|
+
|
|
520
|
+
Returns:
|
|
521
|
+
Workforce: A new instance of Workforce with the same configuration.
|
|
522
|
+
"""
|
|
523
|
+
|
|
524
|
+
# Create a new instance with the same configuration
|
|
525
|
+
new_instance = Workforce(
|
|
526
|
+
description=self.description,
|
|
527
|
+
coordinator_agent_kwargs={},
|
|
528
|
+
task_agent_kwargs={},
|
|
529
|
+
new_worker_agent_kwargs=self.new_worker_agent_kwargs,
|
|
530
|
+
)
|
|
531
|
+
|
|
532
|
+
new_instance.task_agent = self.task_agent.clone(with_memory)
|
|
533
|
+
new_instance.coordinator_agent = self.coordinator_agent.clone(
|
|
534
|
+
with_memory
|
|
535
|
+
)
|
|
536
|
+
|
|
537
|
+
for child in self._children:
|
|
538
|
+
if isinstance(child, SingleAgentWorker):
|
|
539
|
+
cloned_worker = child.worker.clone(with_memory)
|
|
540
|
+
new_instance.add_single_agent_worker(
|
|
541
|
+
child.description, cloned_worker
|
|
542
|
+
)
|
|
543
|
+
elif isinstance(child, RolePlayingWorker):
|
|
544
|
+
new_instance.add_role_playing_worker(
|
|
545
|
+
child.description,
|
|
546
|
+
child.assistant_role_name,
|
|
547
|
+
child.user_role_name,
|
|
548
|
+
child.assistant_agent_kwargs,
|
|
549
|
+
child.user_agent_kwargs,
|
|
550
|
+
child.summarize_agent_kwargs,
|
|
551
|
+
child.chat_turn_limit,
|
|
552
|
+
)
|
|
553
|
+
elif isinstance(child, Workforce):
|
|
554
|
+
new_instance.add_workforce(child.clone(with_memory))
|
|
555
|
+
else:
|
|
556
|
+
logger.warning(f"{type(child)} is not being cloned.")
|
|
557
|
+
continue
|
|
558
|
+
|
|
559
|
+
return new_instance
|
camel/toolkits/base.py
CHANGED
|
@@ -53,11 +53,13 @@ class BaseToolkit(metaclass=AgentOpsMeta):
|
|
|
53
53
|
"""
|
|
54
54
|
raise NotImplementedError("Subclasses must implement this method.")
|
|
55
55
|
|
|
56
|
-
def run_mcp_server(
|
|
56
|
+
def run_mcp_server(
|
|
57
|
+
self, mode: Literal["stdio", "sse", "streamable-http"]
|
|
58
|
+
) -> None:
|
|
57
59
|
r"""Run the MCP server in the specified mode.
|
|
58
60
|
|
|
59
61
|
Args:
|
|
60
|
-
mode (Literal["stdio", "sse"]): The mode to run
|
|
62
|
+
mode (Literal["stdio", "sse", "streamable-http"]): The mode to run
|
|
61
63
|
the MCP server in.
|
|
62
64
|
"""
|
|
63
65
|
self.mcp.run(mode)
|
camel/toolkits/excel_toolkit.py
CHANGED
|
@@ -29,7 +29,9 @@ class ExcelToolkit(BaseToolkit):
|
|
|
29
29
|
r"""A class representing a toolkit for extract detailed cell information
|
|
30
30
|
from an Excel file.
|
|
31
31
|
|
|
32
|
-
This class provides
|
|
32
|
+
This class provides methods extracting detailed content from Excel files
|
|
33
|
+
(including .xls, .xlsx,.csv), and converting the data into
|
|
34
|
+
Markdown formatted table.
|
|
33
35
|
"""
|
|
34
36
|
|
|
35
37
|
def __init__(
|
camel/toolkits/mcp_toolkit.py
CHANGED
|
@@ -194,8 +194,13 @@ class MCPClient(BaseToolkit):
|
|
|
194
194
|
|
|
195
195
|
async def disconnect(self):
|
|
196
196
|
r"""Explicitly disconnect from the MCP server."""
|
|
197
|
+
# If the server is not connected, do nothing
|
|
198
|
+
if not self._is_connected:
|
|
199
|
+
return
|
|
197
200
|
self._is_connected = False
|
|
198
201
|
await self._exit_stack.aclose()
|
|
202
|
+
# Reset the exit stack and session for future reuse purposes
|
|
203
|
+
self._exit_stack = AsyncExitStack()
|
|
199
204
|
self._session = None
|
|
200
205
|
|
|
201
206
|
@asynccontextmanager
|
|
@@ -599,7 +604,6 @@ class MCPToolkit(BaseToolkit):
|
|
|
599
604
|
if config_dict:
|
|
600
605
|
self.servers.extend(self._load_servers_from_dict(config_dict))
|
|
601
606
|
|
|
602
|
-
self._exit_stack = AsyncExitStack()
|
|
603
607
|
self._connected = False
|
|
604
608
|
|
|
605
609
|
def _load_servers_from_config(
|
|
@@ -691,7 +695,6 @@ class MCPToolkit(BaseToolkit):
|
|
|
691
695
|
logger.warning("MCPToolkit is already connected")
|
|
692
696
|
return self
|
|
693
697
|
|
|
694
|
-
self._exit_stack = AsyncExitStack()
|
|
695
698
|
try:
|
|
696
699
|
# Sequentially connect to each server
|
|
697
700
|
for server in self.servers:
|
|
@@ -712,7 +715,6 @@ class MCPToolkit(BaseToolkit):
|
|
|
712
715
|
for server in self.servers:
|
|
713
716
|
await server.disconnect()
|
|
714
717
|
self._connected = False
|
|
715
|
-
await self._exit_stack.aclose()
|
|
716
718
|
|
|
717
719
|
@asynccontextmanager
|
|
718
720
|
async def connection(self) -> AsyncGenerator["MCPToolkit", None]:
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
camel/__init__.py,sha256=
|
|
1
|
+
camel/__init__.py,sha256=cNw7Nfkek0Zqhs2d7EOms-FvYE37ClsE6Rafn9zGv7g,899
|
|
2
2
|
camel/generators.py,sha256=JRqj9_m1PF4qT6UtybzTQ-KBT9MJQt18OAAYvQ_fr2o,13844
|
|
3
|
-
camel/human.py,sha256=
|
|
3
|
+
camel/human.py,sha256=Xg8x1cS5KK4bQ1SDByiHZnzsRpvRP-KZViNvmu38xo4,5475
|
|
4
4
|
camel/logger.py,sha256=rZVeOVYuQ9RYJ5Tqyv0usqy0g4zaVEq4qSfZ9nd2640,5755
|
|
5
5
|
camel/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
6
|
camel/agents/__init__.py,sha256=64weKqdvmpZcGWyVkO-OKASAmVUdrQjv60JApgPk_SA,1644
|
|
7
7
|
camel/agents/_types.py,sha256=ryPRmEXnpNtbFT23GoAcwK-zxWWsIOqYu64mxMx_PhI,1430
|
|
8
8
|
camel/agents/_utils.py,sha256=AR7Qqgbkmn4X2edYUQf1rdksGUyV5hm3iK1z-Dn0Mcg,6266
|
|
9
9
|
camel/agents/base.py,sha256=c4bJYL3G3Z41SaFdMPMn8ZjLdFiFaVOFO6EQIfuCVR8,1124
|
|
10
|
-
camel/agents/chat_agent.py,sha256=
|
|
11
|
-
camel/agents/critic_agent.py,sha256=
|
|
10
|
+
camel/agents/chat_agent.py,sha256=IjEs6-2BAhf8cQd-WcirlRUZoFWK-axfhgZBuoUdASA,65008
|
|
11
|
+
camel/agents/critic_agent.py,sha256=L6cTbYjyZB0DCa51tQ6LZLA6my8kHLC4nktHySH78H4,10433
|
|
12
12
|
camel/agents/deductive_reasoner_agent.py,sha256=6BZGaq1hR6hKJuQtOfoYQnk_AkZpw_Mr7mUy2MspQgs,13540
|
|
13
13
|
camel/agents/embodied_agent.py,sha256=XBxBu5ZMmSJ4B2U3Z7SMwvLlgp6yNpaBe8HNQmY9CZA,7536
|
|
14
14
|
camel/agents/knowledge_graph_agent.py,sha256=7Tchhyvm1s8tQ3at7iGKZt70xWZllRXu2vwUFR37p10,9681
|
|
@@ -22,10 +22,11 @@ camel/agents/task_agent.py,sha256=KfJvZ5vOjjbrn20UGqSMnf6lds5ydfXdb7eNMxBU5vs,14
|
|
|
22
22
|
camel/agents/tool_agents/__init__.py,sha256=hhd1kQYDshfvszN5JHBorINH9L3dI6xdDfKnbAAaKa0,856
|
|
23
23
|
camel/agents/tool_agents/base.py,sha256=T6G5OaAJd4L_yHSFoWcrtqkMEyhge42ppVjx7lYD3Cg,1393
|
|
24
24
|
camel/agents/tool_agents/hugging_face_tool_agent.py,sha256=nNySkdBRYaD05rLyPxzmq8W7D9WPcNHCY9h1jD6S0Hk,8717
|
|
25
|
-
camel/benchmarks/__init__.py,sha256=
|
|
25
|
+
camel/benchmarks/__init__.py,sha256=6a2CrCz7CeCqBSvDwi2HpXC35I-HKCMwupI1_uX4xVA,1193
|
|
26
26
|
camel/benchmarks/apibank.py,sha256=kZyyFqqlk8aI5gPD7-zWnrSioME8BMRbk3vtEohYNGg,21429
|
|
27
27
|
camel/benchmarks/apibench.py,sha256=87wRpKP73nKr8e4q9qecNt6Muaf6tdMWB9-nd1Z64PA,19068
|
|
28
28
|
camel/benchmarks/base.py,sha256=GHbcE0KAenEiYb3x8orLgyGPp40KTdLHwahVFhI-cgE,4594
|
|
29
|
+
camel/benchmarks/browsecomp.py,sha256=SlsDynCooeEor-GPh7CAoyONv2B_2vo-sYlfIwU_xbk,30816
|
|
29
30
|
camel/benchmarks/gaia.py,sha256=TKUZr1XsPAVsJHxkpy0HUi64BMz0x3LAUUSRHlG2SxM,16858
|
|
30
31
|
camel/benchmarks/nexus.py,sha256=Yp1UGyaD3_857QKoUTOeSeB4MKqP08znaxa9hzm5gRk,18207
|
|
31
32
|
camel/benchmarks/ragbench.py,sha256=XlBV6YK_eZSH0yscNMX10BFHsVOXDfLqj4b8QHgsjlk,11079
|
|
@@ -256,16 +257,16 @@ camel/schemas/openai_converter.py,sha256=SEnYsYcboZgVmjcC1YP5xke3c0MYPESPRmYQWsD
|
|
|
256
257
|
camel/schemas/outlines_converter.py,sha256=OYKPR1fNyrYs9eh5RiXEAccMbnRc9WTwSVJYbh9HkKE,8738
|
|
257
258
|
camel/societies/__init__.py,sha256=NOHjtlsY-gV9UCF2xXgcbG-xXyuigmbwbpLpNsDgEJ4,826
|
|
258
259
|
camel/societies/babyagi_playing.py,sha256=KbTdpHfZ2V8AripVck0bNTOyF-RSaMPCRARz3DvzWfQ,11855
|
|
259
|
-
camel/societies/role_playing.py,sha256=
|
|
260
|
+
camel/societies/role_playing.py,sha256=1TsQbGYmN91BeQ0DGM5PpSJ9TMbn1F3maJNuv4fQ5zI,31749
|
|
260
261
|
camel/societies/workforce/__init__.py,sha256=bkTI-PE-MSK9AQ2V2gR6cR2WY-R7Jqy_NmXRtAoqo8o,920
|
|
261
262
|
camel/societies/workforce/base.py,sha256=4uSTmBQsWk_UX1xUrEbjo0X7OuYRbGWoroTV71Tvg8U,1947
|
|
262
263
|
camel/societies/workforce/prompts.py,sha256=4OGp-1-XFYIZ8ZERubSsG-hwXti8fhjtwc3n5-WEgsA,7821
|
|
263
|
-
camel/societies/workforce/role_playing_worker.py,sha256=
|
|
264
|
+
camel/societies/workforce/role_playing_worker.py,sha256=rNI0q_pq0yCXT1_YQs5ViLcaemdT5ZGuUzrhUHRag4Y,7511
|
|
264
265
|
camel/societies/workforce/single_agent_worker.py,sha256=2pWmUNv5Ru5pZjcEtejuG062byXv4GnL-FhWIH6Jj_o,3465
|
|
265
266
|
camel/societies/workforce/task_channel.py,sha256=9t5hoinfGYnbRavX4kx34Jk1FOy05SnJZYbNzb5M-CQ,7140
|
|
266
267
|
camel/societies/workforce/utils.py,sha256=yPbcLx8lNZStl15C4UXRBl5qsTrGA-hiIGynnGi53WQ,2384
|
|
267
268
|
camel/societies/workforce/worker.py,sha256=Do6FDpEraICQVptBH-LiG5KDYYQzD83sLoYO9J8NAbc,3933
|
|
268
|
-
camel/societies/workforce/workforce.py,sha256=
|
|
269
|
+
camel/societies/workforce/workforce.py,sha256=jlr7Us6GhVfKh_FTDUN-K5kRBqCOoVBKn0U1hE1bMKs,21599
|
|
269
270
|
camel/storages/__init__.py,sha256=slOLuoxK45LEmLzogqkSmAfbItwYGa4ytzwZopSvhK0,1840
|
|
270
271
|
camel/storages/graph_storages/__init__.py,sha256=G29BNn651C0WTOpjCl4QnVM-4B9tcNh8DdmsCiONH8Y,948
|
|
271
272
|
camel/storages/graph_storages/base.py,sha256=uSe9jWuLudfm5jtfo6E-L_kNzITwK1_Ef-6L4HWw-JM,2852
|
|
@@ -302,13 +303,13 @@ camel/toolkits/arxiv_toolkit.py,sha256=Bs2-K1yfmqhEhHoQ0j00KoI8LpOd8M3ApXcvI_-Ap
|
|
|
302
303
|
camel/toolkits/ask_news_toolkit.py,sha256=WfWaqwEo1Apbil3-Rb5y65Ws43NU4rAFWZu5VHe4los,23448
|
|
303
304
|
camel/toolkits/async_browser_toolkit.py,sha256=RNQEExzMXCdLHRgewlDad0jPYbLCFzN3VC0ddFzdDDY,65844
|
|
304
305
|
camel/toolkits/audio_analysis_toolkit.py,sha256=dnDtQJbztVBwBpamSyCfigPw2GBnDAfi3fOPgql4Y50,8941
|
|
305
|
-
camel/toolkits/base.py,sha256=
|
|
306
|
+
camel/toolkits/base.py,sha256=7vW2Je9HZqsA1yKwH3aXEGAsjRN1cqeCnsIWfHp6yfE,2386
|
|
306
307
|
camel/toolkits/browser_toolkit.py,sha256=AKm44-xk4ssL5AxSFMjgrjmZcR7Yss9xYBp1BtjokGs,55977
|
|
307
308
|
camel/toolkits/code_execution.py,sha256=6nI5wSBE6W8Ha05UfoPRoe7dtyszGUZ7W55_3HUgUoY,4626
|
|
308
309
|
camel/toolkits/dalle_toolkit.py,sha256=WqQiFYer686awAIc9p4o7CQyA0mJ0G7lH6-nxiF6zpE,6040
|
|
309
310
|
camel/toolkits/dappier_toolkit.py,sha256=ewhXeeUj7e4DiTzuWDA-gHGhrLdyoZ4l9pbijvF3py0,8199
|
|
310
311
|
camel/toolkits/data_commons_toolkit.py,sha256=aHZUSL1ACpnYGaf1rE2csVKTmXTmN8lMGRUBYhZ_YEk,14168
|
|
311
|
-
camel/toolkits/excel_toolkit.py,sha256=
|
|
312
|
+
camel/toolkits/excel_toolkit.py,sha256=8SuK5lTVQF990rR-EvjnXrJ2oocy0eC3Y41PsYwTRYQ,6421
|
|
312
313
|
camel/toolkits/file_write_toolkit.py,sha256=UiN5G7hX3dqSkktqvpMq0WhQQJW_fKbiPiOhUeuSWYU,14351
|
|
313
314
|
camel/toolkits/function_tool.py,sha256=3y0snbYnHHijz4WYkS0xs6GInuTCRJAPACLjR7iutX4,30365
|
|
314
315
|
camel/toolkits/github_toolkit.py,sha256=x9QBsnZbLqAng4eGmnJrGxMSScrGzIA9yri9zAqfuwQ,12242
|
|
@@ -321,7 +322,7 @@ camel/toolkits/jina_reranker_toolkit.py,sha256=U-V9qZ7SKP3SPTh_0CsE7ZKNqS9jNkmKY
|
|
|
321
322
|
camel/toolkits/klavis_toolkit.py,sha256=ZKerhgz5e-AV-iv0ftf07HgWikknIHjB3EOQswfuR80,9864
|
|
322
323
|
camel/toolkits/linkedin_toolkit.py,sha256=wn4eXwYYlVA7doTna7k7WYhUqTBF83W79S-UJs_IQr0,8065
|
|
323
324
|
camel/toolkits/math_toolkit.py,sha256=KdI8AJ9Dbq5cfWboAYJUYgSkmADMCO5eZ6yqYkWuiIQ,3686
|
|
324
|
-
camel/toolkits/mcp_toolkit.py,sha256=
|
|
325
|
+
camel/toolkits/mcp_toolkit.py,sha256=MU0Z7OOnrONLYGVwFnOReX-C9DfLD-jcNzI71Buq_DE,26486
|
|
325
326
|
camel/toolkits/memory_toolkit.py,sha256=TeKYd5UMwgjVpuS2orb-ocFL13eUNKujvrFOruDCpm8,4436
|
|
326
327
|
camel/toolkits/meshy_toolkit.py,sha256=NbgdOBD3FYLtZf-AfonIv6-Q8-8DW129jsaP1PqI2rs,7126
|
|
327
328
|
camel/toolkits/mineru_toolkit.py,sha256=vRX9LholLNkpbJ6axfEN4pTG85aWb0PDmlVy3rAAXhg,6868
|
|
@@ -403,7 +404,7 @@ camel/verifiers/math_verifier.py,sha256=tA1D4S0sm8nsWISevxSN0hvSVtIUpqmJhzqfbuMo
|
|
|
403
404
|
camel/verifiers/models.py,sha256=GdxYPr7UxNrR1577yW4kyroRcLGfd-H1GXgv8potDWU,2471
|
|
404
405
|
camel/verifiers/physics_verifier.py,sha256=c1grrRddcrVN7szkxhv2QirwY9viIRSITWeWFF5HmLs,30187
|
|
405
406
|
camel/verifiers/python_verifier.py,sha256=ogTz77wODfEcDN4tMVtiSkRQyoiZbHPY2fKybn59lHw,20558
|
|
406
|
-
camel_ai-0.2.
|
|
407
|
-
camel_ai-0.2.
|
|
408
|
-
camel_ai-0.2.
|
|
409
|
-
camel_ai-0.2.
|
|
407
|
+
camel_ai-0.2.59.dist-info/METADATA,sha256=gIZZ35HcLU6Jc-ULT7T3drUunf6Eg4ZXik-8nMC4xKI,44399
|
|
408
|
+
camel_ai-0.2.59.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
409
|
+
camel_ai-0.2.59.dist-info/licenses/LICENSE,sha256=id0nB2my5kG0xXeimIu5zZrbHLS6EQvxvkKkzIHaT2k,11343
|
|
410
|
+
camel_ai-0.2.59.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|