camel-ai 0.2.47__py3-none-any.whl → 0.2.48__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.
camel/__init__.py CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
  from camel.logger import disable_logging, enable_logging, set_log_level
16
16
 
17
- __version__ = '0.2.47'
17
+ __version__ = '0.2.48'
18
18
 
19
19
  __all__ = [
20
20
  '__version__',
@@ -715,11 +715,11 @@ class ChatAgent(BaseAgent):
715
715
  if external_tool_call_requests is None:
716
716
  external_tool_call_requests = []
717
717
  external_tool_call_requests.append(tool_call_request)
718
-
719
- tool_call_record = await self._aexecute_tool(
720
- tool_call_request
721
- )
722
- tool_call_records.append(tool_call_record)
718
+ else:
719
+ tool_call_record = await self._aexecute_tool(
720
+ tool_call_request
721
+ )
722
+ tool_call_records.append(tool_call_record)
723
723
 
724
724
  # If we found an external tool call, break the loop
725
725
  if external_tool_call_requests:
@@ -20,10 +20,13 @@ from typing import List, Optional
20
20
  from openai import OpenAI
21
21
  from PIL import Image
22
22
 
23
+ from camel.logger import get_logger
23
24
  from camel.toolkits import FunctionTool
24
25
  from camel.toolkits.base import BaseToolkit
25
26
  from camel.utils import MCPServer
26
27
 
28
+ logger = get_logger(__name__)
29
+
27
30
 
28
31
  @MCPServer()
29
32
  class DalleToolkit(BaseToolkit):
@@ -63,7 +66,10 @@ class DalleToolkit(BaseToolkit):
63
66
  image = Image.open(image_buffer)
64
67
  return image
65
68
  except Exception as e:
66
- print(f"An error occurred while converting base64 to image: {e}")
69
+ error_msg = (
70
+ f"An error occurred while converting base64 to image: {e}"
71
+ )
72
+ logger.error(error_msg)
67
73
  return None
68
74
 
69
75
  def image_path_to_base64(self, image_path: str) -> str:
@@ -80,10 +86,11 @@ class DalleToolkit(BaseToolkit):
80
86
  with open(image_path, "rb") as image_file:
81
87
  return base64.b64encode(image_file.read()).decode('utf-8')
82
88
  except Exception as e:
83
- print(
89
+ error_msg = (
84
90
  f"An error occurred while converting image path to base64: {e}"
85
91
  )
86
- return ""
92
+ logger.error(error_msg)
93
+ return error_msg
87
94
 
88
95
  def image_to_base64(self, image: Image.Image) -> str:
89
96
  r"""Converts an image into a base64-encoded string.
@@ -108,8 +115,9 @@ class DalleToolkit(BaseToolkit):
108
115
  base64_str = base64.b64encode(image_bytes).decode('utf-8')
109
116
  return base64_str
110
117
  except Exception as e:
111
- print(f"An error occurred: {e}")
112
- return ""
118
+ error_msg = f"An error occurred: {e}"
119
+ logger.error(error_msg)
120
+ return error_msg
113
121
 
114
122
  def get_dalle_img(self, prompt: str, image_dir: str = "img") -> str:
115
123
  r"""Generate an image using OpenAI's DALL-E model.
@@ -134,11 +142,17 @@ class DalleToolkit(BaseToolkit):
134
142
  n=1, # NOTE: now dall-e-3 only supports n=1
135
143
  response_format="b64_json",
136
144
  )
145
+ if response.data is None or len(response.data) == 0:
146
+ error_msg = "No image data returned from DALL-E API."
147
+ logger.error(error_msg)
148
+ return error_msg
137
149
  image_b64 = response.data[0].b64_json
138
150
  image = self.base64_to_image(image_b64) # type: ignore[arg-type]
139
151
 
140
152
  if image is None:
141
- raise ValueError("Failed to convert base64 string to image.")
153
+ error_msg = "Failed to convert base64 string to image."
154
+ logger.error(error_msg)
155
+ return error_msg
142
156
 
143
157
  os.makedirs(image_dir, exist_ok=True)
144
158
  image_path = os.path.join(image_dir, f"{uuid.uuid4()}.png")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: camel-ai
3
- Version: 0.2.47
3
+ Version: 0.2.48
4
4
  Summary: Communicative Agents for AI Society Study
5
5
  Project-URL: Homepage, https://www.camel-ai.org/
6
6
  Project-URL: Repository, https://github.com/camel-ai/camel
@@ -750,7 +750,7 @@ For more information please contact camel-ai@eigent.ai
750
750
  - **WeChat Community:** Scan the QR code below to join our WeChat community.
751
751
 
752
752
  <div align="center">
753
- <img src="misc/wechat.jpg" alt="WeChat QR Code" width="200">
753
+ <img src="misc/wechat.jpeg" alt="WeChat QR Code" width="200">
754
754
  </div>
755
755
 
756
756
 
@@ -1,4 +1,4 @@
1
- camel/__init__.py,sha256=ahKCboq7C3QONRLFpRJ9T-6MV-LXxd0MQwNV9GfKZ3Y,912
1
+ camel/__init__.py,sha256=OVyhKa63LHNHkyICnAf_4G__-jbAdcbBYlktJSSsqus,912
2
2
  camel/generators.py,sha256=JRqj9_m1PF4qT6UtybzTQ-KBT9MJQt18OAAYvQ_fr2o,13844
3
3
  camel/human.py,sha256=9X09UmxI2JqQnhrFfnZ3B9EzFmVfdSWQcjLWTIXKXe0,4962
4
4
  camel/logger.py,sha256=rZVeOVYuQ9RYJ5Tqyv0usqy0g4zaVEq4qSfZ9nd2640,5755
@@ -7,7 +7,7 @@ camel/agents/__init__.py,sha256=OEWDfxima22hjSZWgIu6sn9O_QKBr6cpS8b1Jywou0A,1596
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=74Wd9ESQqepLrGcJIo0lU-5QAHCHIB7zS0-NiqiC7HA,52035
10
+ camel/agents/chat_agent.py,sha256=rJQpt8B4oKKzxp5kOCf5oK3kQqFZpz2IG6x6bNene4c,52076
11
11
  camel/agents/critic_agent.py,sha256=qFVlHlQo0CVgmPWfWYLT8_oP_KyzCLFsQw_nN_vu5Bs,7487
12
12
  camel/agents/deductive_reasoner_agent.py,sha256=6BZGaq1hR6hKJuQtOfoYQnk_AkZpw_Mr7mUy2MspQgs,13540
13
13
  camel/agents/embodied_agent.py,sha256=XBxBu5ZMmSJ4B2U3Z7SMwvLlgp6yNpaBe8HNQmY9CZA,7536
@@ -293,7 +293,7 @@ camel/toolkits/audio_analysis_toolkit.py,sha256=dnDtQJbztVBwBpamSyCfigPw2GBnDAfi
293
293
  camel/toolkits/base.py,sha256=4uuQ8peAvNNq-M0lOHVbIbMJiphlNCfQv7bfZ7LSKSI,2052
294
294
  camel/toolkits/browser_toolkit.py,sha256=_12-AULqJUTnPuqxeqYykRhMxezB59i4w2QVsVPigbg,55750
295
295
  camel/toolkits/code_execution.py,sha256=6nI5wSBE6W8Ha05UfoPRoe7dtyszGUZ7W55_3HUgUoY,4626
296
- camel/toolkits/dalle_toolkit.py,sha256=pw5IzX9nNw8HaBllWrTYRtyQMbbCGE4f0JpZTizt8Co,5551
296
+ camel/toolkits/dalle_toolkit.py,sha256=WqQiFYer686awAIc9p4o7CQyA0mJ0G7lH6-nxiF6zpE,6040
297
297
  camel/toolkits/dappier_toolkit.py,sha256=ewhXeeUj7e4DiTzuWDA-gHGhrLdyoZ4l9pbijvF3py0,8199
298
298
  camel/toolkits/data_commons_toolkit.py,sha256=aHZUSL1ACpnYGaf1rE2csVKTmXTmN8lMGRUBYhZ_YEk,14168
299
299
  camel/toolkits/excel_toolkit.py,sha256=SpmgLJWVFHaR8puDg4eTllGDc6SXzRt4U3QYgFTrLCM,6354
@@ -384,7 +384,7 @@ camel/verifiers/base.py,sha256=luvvEMCO_yH54zIUslPrcTDUFzrXU5ODn_1Ij054B3E,15523
384
384
  camel/verifiers/math_verifier.py,sha256=tA1D4S0sm8nsWISevxSN0hvSVtIUpqmJhzqfbuMo0y4,6875
385
385
  camel/verifiers/models.py,sha256=GdxYPr7UxNrR1577yW4kyroRcLGfd-H1GXgv8potDWU,2471
386
386
  camel/verifiers/python_verifier.py,sha256=qvNNYTlFyOMbIaDF2JNWELiIfj_phdV2JWRxPrghpT0,21528
387
- camel_ai-0.2.47.dist-info/METADATA,sha256=eXcKOsQ4RT9__hR5K-prG2x3Z31GBU6OiYgUP0fsyzI,43716
388
- camel_ai-0.2.47.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
389
- camel_ai-0.2.47.dist-info/licenses/LICENSE,sha256=id0nB2my5kG0xXeimIu5zZrbHLS6EQvxvkKkzIHaT2k,11343
390
- camel_ai-0.2.47.dist-info/RECORD,,
387
+ camel_ai-0.2.48.dist-info/METADATA,sha256=cCqqx9lfbasEPZ0lhqrzRTJg6HU1noJI9aOxhquGco0,43717
388
+ camel_ai-0.2.48.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
389
+ camel_ai-0.2.48.dist-info/licenses/LICENSE,sha256=id0nB2my5kG0xXeimIu5zZrbHLS6EQvxvkKkzIHaT2k,11343
390
+ camel_ai-0.2.48.dist-info/RECORD,,