camel-ai 0.2.42__py3-none-any.whl → 0.2.44__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.

Files changed (43) hide show
  1. camel/__init__.py +1 -1
  2. camel/configs/__init__.py +3 -0
  3. camel/configs/anthropic_config.py +2 -24
  4. camel/configs/ppio_config.py +102 -0
  5. camel/configs/reka_config.py +1 -7
  6. camel/configs/samba_config.py +1 -7
  7. camel/configs/togetherai_config.py +1 -7
  8. camel/datasets/few_shot_generator.py +1 -0
  9. camel/embeddings/__init__.py +4 -0
  10. camel/embeddings/azure_embedding.py +119 -0
  11. camel/embeddings/together_embedding.py +136 -0
  12. camel/environments/__init__.py +3 -0
  13. camel/environments/multi_step.py +12 -10
  14. camel/environments/single_step.py +14 -2
  15. camel/environments/tic_tac_toe.py +518 -0
  16. camel/extractors/python_strategies.py +14 -5
  17. camel/loaders/__init__.py +2 -0
  18. camel/loaders/crawl4ai_reader.py +230 -0
  19. camel/models/__init__.py +2 -0
  20. camel/models/azure_openai_model.py +10 -2
  21. camel/models/base_model.py +111 -28
  22. camel/models/cohere_model.py +5 -1
  23. camel/models/deepseek_model.py +4 -0
  24. camel/models/gemini_model.py +8 -2
  25. camel/models/model_factory.py +3 -0
  26. camel/models/ollama_model.py +8 -2
  27. camel/models/openai_compatible_model.py +8 -2
  28. camel/models/openai_model.py +16 -4
  29. camel/models/ppio_model.py +184 -0
  30. camel/models/togetherai_model.py +106 -31
  31. camel/models/vllm_model.py +140 -57
  32. camel/societies/workforce/workforce.py +26 -3
  33. camel/toolkits/__init__.py +2 -0
  34. camel/toolkits/browser_toolkit.py +11 -3
  35. camel/toolkits/google_calendar_toolkit.py +432 -0
  36. camel/toolkits/search_toolkit.py +119 -1
  37. camel/types/enums.py +74 -3
  38. camel/types/unified_model_type.py +5 -0
  39. camel/verifiers/python_verifier.py +93 -9
  40. {camel_ai-0.2.42.dist-info → camel_ai-0.2.44.dist-info}/METADATA +21 -2
  41. {camel_ai-0.2.42.dist-info → camel_ai-0.2.44.dist-info}/RECORD +43 -36
  42. {camel_ai-0.2.42.dist-info → camel_ai-0.2.44.dist-info}/WHEEL +0 -0
  43. {camel_ai-0.2.42.dist-info → camel_ai-0.2.44.dist-info}/licenses/LICENSE +0 -0
camel/types/enums.py CHANGED
@@ -64,8 +64,12 @@ class ModelType(UnifiedModelType, Enum):
64
64
  GROQ_GEMMA_2_9B_IT = "gemma2-9b-it"
65
65
 
66
66
  # OpenRouter models
67
- OPENROUTER_LLAMA_3_1_405B = "meta-llama/llama-3.3-405b-instruct"
68
- OPENROUTER_LLAMA_3_1_70B = "meta-llama/llama-3.3-70b-instruct"
67
+ OPENROUTER_LLAMA_3_1_405B = "meta-llama/llama-3.1-405b-instruct"
68
+ OPENROUTER_LLAMA_3_1_70B = "meta-llama/llama-3.1-70b-instruct"
69
+ OPENROUTER_LLAMA_4_MAVERICK = "meta-llama/llama-4-maverick"
70
+ OPENROUTER_LLAMA_4_MAVERICK_FREE = "meta-llama/llama-4-maverick:free"
71
+ OPENROUTER_LLAMA_4_SCOUT = "meta-llama/llama-4-scout"
72
+ OPENROUTER_LLAMA_4_SCOUT_FREE = "meta-llama/llama-4-scout:free"
69
73
  OPENROUTER_OLYMPICODER_7B = "open-r1/olympiccoder-7b:free"
70
74
 
71
75
  # TogetherAI platform models support tool calling
@@ -75,6 +79,23 @@ class ModelType(UnifiedModelType, Enum):
75
79
  TOGETHER_LLAMA_3_3_70B = "meta-llama/Llama-3.3-70B-Instruct-Turbo"
76
80
  TOGETHER_MIXTRAL_8_7B = "mistralai/Mixtral-8x7B-Instruct-v0.1"
77
81
  TOGETHER_MISTRAL_7B = "mistralai/Mistral-7B-Instruct-v0.1"
82
+ TOGETHER_LLAMA_4_MAVERICK = (
83
+ "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8"
84
+ )
85
+ TOGETHER_LLAMA_4_SCOUT = "meta-llama/Llama-4-Scout-17B-16E-Instruct"
86
+
87
+ # PPIO platform models support tool calling
88
+ PPIO_DEEPSEEK_R1_TURBO = "deepseek/deepseek-r1-turbo"
89
+ PPIO_DEEPSEEK_V3_TURBO = "deepseek/deepseek-v3-turbo"
90
+ PPIO_DEEPSEEK_R1_COMMUNITY = "deepseek/deepseek-r1/community"
91
+ PPIO_DEEPSEEK_V3_COMMUNITY = "deepseek/deepseek-v3/community"
92
+ PPIO_DEEPSEEK_R1 = "deepseek/deepseek-r1"
93
+ PPIO_DEEPSEEK_V3 = "deepseek/deepseek-v3"
94
+ PPIO_QWEN_2_5_72B = "qwen/qwen-2.5-72b-instruct"
95
+ PPIO_BAICHUAN_2_13B_CHAT = "baichuan/baichuan2-13b-chat"
96
+ PPIO_LLAMA_3_3_70B = "meta-llama/llama-3.3-70b-instruct"
97
+ PPIO_LLAMA_3_1_70B = "meta-llama/llama-3.1-70b-instruct"
98
+ PPIO_YI_1_5_34B_CHAT = "01-ai/yi-1.5-34b-chat"
78
99
 
79
100
  # SambaNova Cloud platform models support tool calling
80
101
  SAMBA_LLAMA_3_1_8B = "Meta-Llama-3.1-8B-Instruct"
@@ -277,6 +298,7 @@ class ModelType(UnifiedModelType, Enum):
277
298
  self.is_mistral,
278
299
  self.is_qwen,
279
300
  self.is_deepseek,
301
+ self.is_ppio,
280
302
  self.is_cohere,
281
303
  self.is_internlm,
282
304
  self.is_together,
@@ -379,6 +401,10 @@ class ModelType(UnifiedModelType, Enum):
379
401
  return self in {
380
402
  ModelType.OPENROUTER_LLAMA_3_1_405B,
381
403
  ModelType.OPENROUTER_LLAMA_3_1_70B,
404
+ ModelType.OPENROUTER_LLAMA_4_MAVERICK,
405
+ ModelType.OPENROUTER_LLAMA_4_MAVERICK_FREE,
406
+ ModelType.OPENROUTER_LLAMA_4_SCOUT,
407
+ ModelType.OPENROUTER_LLAMA_4_SCOUT_FREE,
382
408
  ModelType.OPENROUTER_OLYMPICODER_7B,
383
409
  }
384
410
 
@@ -530,6 +556,22 @@ class ModelType(UnifiedModelType, Enum):
530
556
  ModelType.DEEPSEEK_REASONER,
531
557
  }
532
558
 
559
+ @property
560
+ def is_ppio(self) -> bool:
561
+ return self in {
562
+ ModelType.PPIO_DEEPSEEK_R1_TURBO,
563
+ ModelType.PPIO_DEEPSEEK_V3_TURBO,
564
+ ModelType.PPIO_DEEPSEEK_R1_COMMUNITY,
565
+ ModelType.PPIO_DEEPSEEK_V3_COMMUNITY,
566
+ ModelType.PPIO_DEEPSEEK_R1,
567
+ ModelType.PPIO_DEEPSEEK_V3,
568
+ ModelType.PPIO_QWEN_2_5_72B,
569
+ ModelType.PPIO_BAICHUAN_2_13B_CHAT,
570
+ ModelType.PPIO_LLAMA_3_3_70B,
571
+ ModelType.PPIO_LLAMA_3_1_70B,
572
+ ModelType.PPIO_YI_1_5_34B_CHAT,
573
+ }
574
+
533
575
  @property
534
576
  def is_internlm(self) -> bool:
535
577
  return self in {
@@ -644,6 +686,10 @@ class ModelType(UnifiedModelType, Enum):
644
686
  ModelType.OPENROUTER_OLYMPICODER_7B,
645
687
  }:
646
688
  return 8_192
689
+ elif self in {
690
+ ModelType.PPIO_BAICHUAN_2_13B_CHAT,
691
+ }:
692
+ return 14_336
647
693
  elif self in {
648
694
  ModelType.GPT_3_5_TURBO,
649
695
  ModelType.YI_LIGHTNING,
@@ -656,6 +702,7 @@ class ModelType(UnifiedModelType, Enum):
656
702
  ModelType.SAMBA_LLAMA_3_1_405B,
657
703
  ModelType.GLM_4V_PLUS_0111,
658
704
  ModelType.GLM_ZERO_PREVIEW,
705
+ ModelType.PPIO_YI_1_5_34B_CHAT,
659
706
  }:
660
707
  return 16_384
661
708
  elif self in {
@@ -682,6 +729,8 @@ class ModelType(UnifiedModelType, Enum):
682
729
  ModelType.MOONSHOT_V1_32K,
683
730
  ModelType.AIML_MIXTRAL_8X7B,
684
731
  ModelType.AIML_MISTRAL_7B_INSTRUCT,
732
+ ModelType.PPIO_QWEN_2_5_72B,
733
+ ModelType.PPIO_LLAMA_3_1_70B,
685
734
  ModelType.MODELSCOPE_QWEN_2_5_7B_INSTRUCT,
686
735
  ModelType.MODELSCOPE_QWEN_2_5_14B_INSTRUCT,
687
736
  ModelType.MODELSCOPE_QWEN_2_5_32B_INSTRUCT,
@@ -697,12 +746,19 @@ class ModelType(UnifiedModelType, Enum):
697
746
  ModelType.MODELSCOPE_LLAMA_3_3_70B_INSTRUCT,
698
747
  ModelType.MODELSCOPE_MINISTRAL_8B_INSTRUCT,
699
748
  ModelType.MODELSCOPE_DEEPSEEK_V3_0324,
749
+ ModelType.OPENROUTER_LLAMA_3_1_405B,
700
750
  }:
701
751
  return 32_768
702
752
  elif self in {
703
753
  ModelType.MISTRAL_MIXTRAL_8x22B,
704
754
  ModelType.DEEPSEEK_CHAT,
705
755
  ModelType.DEEPSEEK_REASONER,
756
+ ModelType.PPIO_DEEPSEEK_R1_TURBO,
757
+ ModelType.PPIO_DEEPSEEK_V3_TURBO,
758
+ ModelType.PPIO_DEEPSEEK_R1_COMMUNITY,
759
+ ModelType.PPIO_DEEPSEEK_V3_COMMUNITY,
760
+ ModelType.PPIO_DEEPSEEK_R1,
761
+ ModelType.PPIO_DEEPSEEK_V3,
706
762
  }:
707
763
  return 64_000
708
764
  elif self in {
@@ -764,7 +820,8 @@ class ModelType(UnifiedModelType, Enum):
764
820
  ModelType.SGLANG_QWEN_2_5_32B,
765
821
  ModelType.SGLANG_QWEN_2_5_72B,
766
822
  ModelType.OPENROUTER_LLAMA_3_1_70B,
767
- ModelType.OPENROUTER_LLAMA_3_1_405B,
823
+ ModelType.PPIO_LLAMA_3_3_70B,
824
+ ModelType.OPENROUTER_LLAMA_4_SCOUT,
768
825
  }:
769
826
  return 131_072
770
827
  elif self in {
@@ -782,8 +839,13 @@ class ModelType(UnifiedModelType, Enum):
782
839
  return 200_000
783
840
  elif self in {
784
841
  ModelType.MISTRAL_CODESTRAL_MAMBA,
842
+ ModelType.OPENROUTER_LLAMA_4_MAVERICK_FREE,
785
843
  }:
786
844
  return 256_000
845
+ elif self in {
846
+ ModelType.OPENROUTER_LLAMA_4_SCOUT_FREE,
847
+ }:
848
+ return 512_000
787
849
  elif self in {
788
850
  ModelType.GEMINI_2_5_PRO_EXP,
789
851
  ModelType.GEMINI_2_0_FLASH,
@@ -793,10 +855,13 @@ class ModelType(UnifiedModelType, Enum):
793
855
  ModelType.GEMINI_2_0_FLASH_LITE_PREVIEW,
794
856
  ModelType.GEMINI_2_0_PRO_EXP, # Not given in doc, assume the same
795
857
  ModelType.GLM_4_LONG,
858
+ ModelType.TOGETHER_LLAMA_4_MAVERICK,
859
+ ModelType.OPENROUTER_LLAMA_4_MAVERICK,
796
860
  }:
797
861
  return 1_048_576
798
862
  elif self in {
799
863
  ModelType.QWEN_LONG,
864
+ ModelType.TOGETHER_LLAMA_4_SCOUT,
800
865
  }:
801
866
  return 10_000_000
802
867
  else:
@@ -979,6 +1044,7 @@ class ModelPlatformType(Enum):
979
1044
  QWEN = "tongyi-qianwen"
980
1045
  NVIDIA = "nvidia"
981
1046
  DEEPSEEK = "deepseek"
1047
+ PPIO = "ppio"
982
1048
  SGLANG = "sglang"
983
1049
  INTERNLM = "internlm"
984
1050
  MOONSHOT = "moonshot"
@@ -1101,6 +1167,11 @@ class ModelPlatformType(Enum):
1101
1167
  r"""Returns whether this platform is DeepSeek."""
1102
1168
  return self is ModelPlatformType.DEEPSEEK
1103
1169
 
1170
+ @property
1171
+ def is_ppio(self) -> bool:
1172
+ r"""Returns whether this platform is PPIO."""
1173
+ return self is ModelPlatformType.PPIO
1174
+
1104
1175
  @property
1105
1176
  def is_internlm(self) -> bool:
1106
1177
  r"""Returns whether this platform is InternLM."""
@@ -83,6 +83,11 @@ class UnifiedModelType(str):
83
83
  r"""Returns whether the model is a OpenRouter served model."""
84
84
  return True
85
85
 
86
+ @property
87
+ def is_ppio(self) -> bool:
88
+ r"""Returns whether the model is a PPIO served model."""
89
+ return True
90
+
86
91
  @property
87
92
  def is_zhipuai(self) -> bool:
88
93
  r"""Returns whether the model is a Zhipuai model."""
@@ -20,7 +20,7 @@ import subprocess
20
20
  import sys
21
21
  import tempfile
22
22
  import venv
23
- from typing import List, Optional, Tuple
23
+ from typing import Any, List, Optional, Tuple
24
24
 
25
25
  from camel.extractors.base import BaseExtractor
26
26
  from camel.logger import get_logger
@@ -51,6 +51,7 @@ class PythonVerifier(BaseVerifier):
51
51
  extractor: Optional[BaseExtractor] = None,
52
52
  timeout: Optional[float] = 30.0,
53
53
  required_packages: Optional[List[str]] = None,
54
+ float_tolerance: Optional[float] = None,
54
55
  **kwargs,
55
56
  ):
56
57
  r"""Initializes the PythonVerifier.
@@ -63,11 +64,14 @@ class PythonVerifier(BaseVerifier):
63
64
  required_packages (Optional[List[str]], optional): A list of
64
65
  packages to install in the virtual environment.
65
66
  (default: :obj:`None`)
67
+ float_tolerance (Optional[float], optional): The tolerance for
68
+ floating point comparisons. (default: :obj:`None`)
66
69
  """
67
70
  # TODO: Use CAMEL's Interpreter to execute the code
68
71
  super().__init__(extractor=extractor, timeout=timeout, **kwargs)
69
72
  self.venv_path: Optional[str] = None
70
73
  self.required_packages = required_packages or []
74
+ self.float_tolerance = float_tolerance
71
75
 
72
76
  if os.name == 'nt': # Windows
73
77
  self.bin_dir = 'Scripts'
@@ -272,7 +276,13 @@ class PythonVerifier(BaseVerifier):
272
276
  result="",
273
277
  error_message=f"Ground truth evaluation error: {e}",
274
278
  )
275
- if sol_val == gt_val:
279
+
280
+ if self.float_tolerance is not None:
281
+ equal = self._is_equal_with_tolerance(sol_val, gt_val)
282
+ else:
283
+ equal = sol_val == gt_val
284
+
285
+ if equal:
276
286
  return VerificationResult(
277
287
  status=VerificationOutcome.SUCCESS,
278
288
  result=str(sol_val),
@@ -281,9 +291,18 @@ class PythonVerifier(BaseVerifier):
281
291
  return VerificationResult(
282
292
  status=VerificationOutcome.FAILURE,
283
293
  result=str(sol_val),
284
- error_message="Output mismatch: "
285
- f"{sol_val} != {gt_val}",
294
+ error_message=(
295
+ "Values not equal"
296
+ + (
297
+ " (with float tolerance "
298
+ f"{self.float_tolerance})"
299
+ if self.float_tolerance is not None
300
+ else ""
301
+ )
302
+ + f": {sol_val} != {gt_val}"
303
+ ),
286
304
  )
305
+
287
306
  else:
288
307
  return VerificationResult(
289
308
  status=VerificationOutcome.SUCCESS,
@@ -333,17 +352,21 @@ class PythonVerifier(BaseVerifier):
333
352
  error_message="Ground truth evaluation error:"
334
353
  f"{e}",
335
354
  )
336
- if sol_val == gt_val:
355
+ if self.float_tolerance is not None:
356
+ equal = self._is_equal_with_tolerance(sol_val, gt_val)
357
+ else:
358
+ equal = sol_val == gt_val
359
+
360
+ if equal:
337
361
  return VerificationResult(
338
- status=VerificationOutcome.SUCCESS,
339
- result=sol_out,
362
+ status=VerificationOutcome.SUCCESS, result=sol_out
340
363
  )
341
364
  else:
342
365
  return VerificationResult(
343
366
  status=VerificationOutcome.FAILURE,
344
367
  result=sol_out,
345
- error_message="Output mismatch: "
346
- f"{sol_val} != {gt_val}",
368
+ error_message=f"Output mismatch: {sol_val} "
369
+ f"!= {gt_val}",
347
370
  )
348
371
  else:
349
372
  # Fallback: string comparison
@@ -456,3 +479,64 @@ class PythonVerifier(BaseVerifier):
456
479
  return True
457
480
  except Exception:
458
481
  return False
482
+
483
+ def _is_equal_with_tolerance(self, a: Any, b: Any) -> bool:
484
+ r"""Compares two Python objects for equality with optional float
485
+ tolerance.
486
+
487
+ This method recursively compares nested structures (lists, tuples,
488
+ sets, and dictionaries) and applies floating point tolerance when
489
+ comparing numerical values. If no float tolerance is set, a runtime
490
+ error is raised.
491
+
492
+ Args:
493
+ a (Any): First value to compare.
494
+ b (Any): Second value to compare.
495
+
496
+ Returns:
497
+ bool: True if the values are considered equal within the
498
+ specified float tolerance; False otherwise.
499
+
500
+ Raises:
501
+ RuntimeError: If float tolerance is not set (i.e., None).
502
+ """
503
+ if self.float_tolerance is None:
504
+ raise RuntimeError(
505
+ "Can't compare with tolerance if tolerance is None."
506
+ )
507
+ if isinstance(a, (int, float)) and isinstance(b, (int, float)):
508
+ return abs(float(a) - float(b)) <= self.float_tolerance
509
+ if isinstance(a, list) and isinstance(b, list):
510
+ return len(a) == len(b) and all(
511
+ self._is_equal_with_tolerance(x, y) for x, y in zip(a, b)
512
+ )
513
+ if isinstance(a, tuple) and isinstance(b, tuple):
514
+ return len(a) == len(b) and all(
515
+ self._is_equal_with_tolerance(x, y) for x, y in zip(a, b)
516
+ )
517
+ if isinstance(a, set) and isinstance(b, set):
518
+ if len(a) != len(b):
519
+ return False
520
+ # Need to check both directions to ensure proper matching
521
+ # Create a copy of b to track matched elements
522
+ b_copy = list(b)
523
+ for x in a:
524
+ found_match = False
525
+ for i, y in enumerate(b_copy):
526
+ if self._is_equal_with_tolerance(x, y):
527
+ found_match = True
528
+ # Remove the matched element to prevent double-matching
529
+ b_copy.pop(i)
530
+ break
531
+ if not found_match:
532
+ return False
533
+ return True
534
+ if isinstance(a, dict) and isinstance(b, dict):
535
+ if set(a.keys()) != set(b.keys()):
536
+ return False
537
+ return all(self._is_equal_with_tolerance(a[k], b[k]) for k in a)
538
+ logger.warning(
539
+ f"Falling back to simple comparison without "
540
+ f"tolerance for {a} and {b}."
541
+ )
542
+ return a == b # fallback
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: camel-ai
3
- Version: 0.2.42
3
+ Version: 0.2.44
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
@@ -17,7 +17,7 @@ Requires-Dist: jsonschema<5,>=4
17
17
  Requires-Dist: mcp>=1.3.0
18
18
  Requires-Dist: openai<2,>=1.68.0
19
19
  Requires-Dist: psutil<6,>=5.9.8
20
- Requires-Dist: pydantic<2.10,>=1.9
20
+ Requires-Dist: pydantic>=2.10.6
21
21
  Requires-Dist: tiktoken<0.8,>=0.7.0
22
22
  Provides-Extra: all
23
23
  Requires-Dist: accelerate<0.27,>=0.26.0; extra == 'all'
@@ -31,6 +31,7 @@ Requires-Dist: azure-storage-blob<13,>=12.21.0; extra == 'all'
31
31
  Requires-Dist: beautifulsoup4<5,>=4; extra == 'all'
32
32
  Requires-Dist: botocore<2,>=1.35.3; extra == 'all'
33
33
  Requires-Dist: cohere<6,>=5.11.0; extra == 'all'
34
+ Requires-Dist: crawl4ai>=0.3.745; extra == 'all'
34
35
  Requires-Dist: dappier<0.4,>=0.3.3; extra == 'all'
35
36
  Requires-Dist: datacommons-pandas<0.0.4,>=0.0.3; extra == 'all'
36
37
  Requires-Dist: datacommons<2,>=1.4.3; extra == 'all'
@@ -42,11 +43,15 @@ Requires-Dist: docx2txt<0.9,>=0.8; extra == 'all'
42
43
  Requires-Dist: docx>=0.2.4; extra == 'all'
43
44
  Requires-Dist: duckduckgo-search<7,>=6.3.5; extra == 'all'
44
45
  Requires-Dist: e2b-code-interpreter<2,>=1.0.3; extra == 'all'
46
+ Requires-Dist: exa-py<2,>=1.10.0; extra == 'all'
45
47
  Requires-Dist: fastapi>=0.115.11; extra == 'all'
46
48
  Requires-Dist: ffmpeg-python<0.3,>=0.2.0; extra == 'all'
47
49
  Requires-Dist: firecrawl-py<2,>=1.0.0; extra == 'all'
48
50
  Requires-Dist: fish-audio-sdk<2025,>=2024.12.5; extra == 'all'
49
51
  Requires-Dist: fpdf>=1.7.2; extra == 'all'
52
+ Requires-Dist: google-api-python-client==2.166.0; extra == 'all'
53
+ Requires-Dist: google-auth-httplib2==0.2.0; extra == 'all'
54
+ Requires-Dist: google-auth-oauthlib==1.2.1; extra == 'all'
50
55
  Requires-Dist: google-cloud-storage<3,>=2.18.0; extra == 'all'
51
56
  Requires-Dist: googlemaps<5,>=4.10.0; extra == 'all'
52
57
  Requires-Dist: gradio<4,>=3; extra == 'all'
@@ -178,6 +183,7 @@ Requires-Dist: sphinx<8,>=7; extra == 'docs'
178
183
  Requires-Dist: sphinxext-rediraffe<0.3,>=0.2.7; extra == 'docs'
179
184
  Provides-Extra: document-tools
180
185
  Requires-Dist: beautifulsoup4<5,>=4; extra == 'document-tools'
186
+ Requires-Dist: crawl4ai>=0.3.745; extra == 'document-tools'
181
187
  Requires-Dist: docx2txt<0.9,>=0.8; extra == 'document-tools'
182
188
  Requires-Dist: docx>=0.2.4; extra == 'document-tools'
183
189
  Requires-Dist: fpdf>=1.7.2; extra == 'document-tools'
@@ -217,6 +223,7 @@ Provides-Extra: owl
217
223
  Requires-Dist: anthropic<0.50.0,>=0.47.0; extra == 'owl'
218
224
  Requires-Dist: beautifulsoup4<5,>=4; extra == 'owl'
219
225
  Requires-Dist: chunkr-ai>=0.0.41; extra == 'owl'
226
+ Requires-Dist: crawl4ai>=0.3.745; extra == 'owl'
220
227
  Requires-Dist: datasets<4,>=3; extra == 'owl'
221
228
  Requires-Dist: docx2txt<0.9,>=0.8; extra == 'owl'
222
229
  Requires-Dist: docx>=0.2.4; extra == 'owl'
@@ -258,6 +265,7 @@ Requires-Dist: xls2xlsx>=0.2.0; extra == 'owl'
258
265
  Requires-Dist: yt-dlp<2025,>=2024.11.4; extra == 'owl'
259
266
  Provides-Extra: rag
260
267
  Requires-Dist: cohere<6,>=5.11.0; extra == 'rag'
268
+ Requires-Dist: crawl4ai>=0.3.745; extra == 'rag'
261
269
  Requires-Dist: nebula3-python==3.8.2; extra == 'rag'
262
270
  Requires-Dist: neo4j<6,>=5.18.0; extra == 'rag'
263
271
  Requires-Dist: numpy~=1.26; extra == 'rag'
@@ -292,8 +300,12 @@ Requires-Dist: apify-client<2,>=1.8.1; extra == 'web-tools'
292
300
  Requires-Dist: beautifulsoup4<5,>=4; extra == 'web-tools'
293
301
  Requires-Dist: dappier<0.4,>=0.3.3; extra == 'web-tools'
294
302
  Requires-Dist: duckduckgo-search<7,>=6.3.5; extra == 'web-tools'
303
+ Requires-Dist: exa-py<2,>=1.10.0; extra == 'web-tools'
295
304
  Requires-Dist: fastapi>=0.115.11; extra == 'web-tools'
296
305
  Requires-Dist: firecrawl-py<2,>=1.0.0; extra == 'web-tools'
306
+ Requires-Dist: google-api-python-client==2.166.0; extra == 'web-tools'
307
+ Requires-Dist: google-auth-httplib2==0.2.0; extra == 'web-tools'
308
+ Requires-Dist: google-auth-oauthlib==1.2.1; extra == 'web-tools'
297
309
  Requires-Dist: googlemaps<5,>=4.10.0; extra == 'web-tools'
298
310
  Requires-Dist: html2text>=2024.2.26; extra == 'web-tools'
299
311
  Requires-Dist: linkup-sdk<0.3,>=0.2.1; extra == 'web-tools'
@@ -725,6 +737,13 @@ For more information please contact camel-ai@eigent.ai
725
737
 
726
738
  - **Ambassador Project:** Advocate for CAMEL-AI, host events, and contribute content. [Learn more](https://www.camel-ai.org/community)
727
739
 
740
+ - **WeChat Community:** Scan the QR code below to join our WeChat community.
741
+
742
+ <div align="center">
743
+ <img src="misc/wechat.jpg" alt="WeChat QR Code" width="200">
744
+ </div>
745
+
746
+
728
747
  <br>
729
748
 
730
749
  ## Citation
@@ -1,4 +1,4 @@
1
- camel/__init__.py,sha256=OFoHvtZQPjUxj6ga19ljZ11Bxul4-gtgGIZnBFLOBvU,912
1
+ camel/__init__.py,sha256=JoCVHktI2-iEIXH-BOJucMis7so3ZwAoYxghXz5a56Y,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
@@ -37,9 +37,9 @@ camel/bots/discord/discord_store.py,sha256=eGBMYG8gm28PmmhcJ-JOVk2UKTBobEzvb6-pC
37
37
  camel/bots/slack/__init__.py,sha256=iqySoYftEb7SI4pabhMvvTp1YYS09BvjwGXPEbcP1Hc,1055
38
38
  camel/bots/slack/models.py,sha256=xMz3RO-88yrxPRrbBDjiabpbZIlpEHCvU-1CvASKARc,5143
39
39
  camel/bots/slack/slack_app.py,sha256=SoSRZZnuTJ0aiLUBZqdG8cUFJzYpfpZh7304t0a_7Dg,9944
40
- camel/configs/__init__.py,sha256=UyzfzxE_EvidWS01i6qhXzVT24W0xh3ECVofrwkz4t0,3490
40
+ camel/configs/__init__.py,sha256=KcD3pc5V5gZqFmxi8IJGm4iYe3-Lue6-vIutEGD4blo,3584
41
41
  camel/configs/aiml_config.py,sha256=6niTHsxusPfXyNKNfxipTudgeULMIeOeXHAv5hRblsM,4264
42
- camel/configs/anthropic_config.py,sha256=hbF9gbKx4CrhcKXt0j0yHaM4w8uvrmw_WO1VpBmRHwQ,4810
42
+ camel/configs/anthropic_config.py,sha256=z8tTKgOimmMk8Xa1UjaSsDaCE8sNIkRYJx9EHGHdAgU,4007
43
43
  camel/configs/base_config.py,sha256=2nEIRQoY6tIMeBIcxcBtCadmpsd8bSQj9rzewQsgfXo,3188
44
44
  camel/configs/cohere_config.py,sha256=hZBcjQ8Zfyj1YT_7ndNbMdTyBZQRAi2vB1r8hJmyKqg,4021
45
45
  camel/configs/deepseek_config.py,sha256=EuS5agT2ZjJ9-pZGjlpGKPpMjycwozXI87gkQ41ixmQ,5728
@@ -54,12 +54,13 @@ camel/configs/nvidia_config.py,sha256=2DmYriFWh4ZYNkAJhuvJHhHUi1BT62E5ee6HXWY12e
54
54
  camel/configs/ollama_config.py,sha256=R6hX6N_uCfu3ocnRsunUpdmKRWMIRMwbAAXMk9vwFbo,4403
55
55
  camel/configs/openai_config.py,sha256=U8lwSlfX_3sQYXRharDbaQC6ZgsGuDhy60AmsSJEeIw,7244
56
56
  camel/configs/openrouter_config.py,sha256=bSPP2NmEI1nJby8s-6FCcgpKqvDEKpxlQcx5GZMGanE,5894
57
+ camel/configs/ppio_config.py,sha256=HXtwMqDUW9ozg19hDwOSxnXo3wkRb8NmUp3wQq6CZ18,5718
57
58
  camel/configs/qwen_config.py,sha256=uSOPsKuWkk4Tji8Zf3vNr-lvi5dfgboxyBBTLSKm5Ow,4653
58
- camel/configs/reka_config.py,sha256=rImRQWMvGoBFOS4RkN6KtW2ehhjEVtI55SyzSOOZqhA,3622
59
- camel/configs/samba_config.py,sha256=HEbK3ztojO1qYijDa6qyhLh8sX94FYy-d_X-t48nxb4,8835
59
+ camel/configs/reka_config.py,sha256=tsseAm-pFz479rHNhV1N6HsuWrgsEh1X7Hg6-MRZycc,3398
60
+ camel/configs/samba_config.py,sha256=dV1Wm0adCuPa_UHc7w40SnjcW53HDFcxdDozwqGg11E,8606
60
61
  camel/configs/sglang_config.py,sha256=GgqfDiuAHYJH0HfzBpkP8DvoDc7FYLO1ZP6kNnmKEdo,3943
61
62
  camel/configs/siliconflow_config.py,sha256=o1mRul-Krb-r3HCZQZfV_UgEJL6nXTH9qu9bUemaoGU,4115
62
- camel/configs/togetherai_config.py,sha256=znkfJIstrahG7uun55tAqBz0M1YSHNC5B6LZli0NXLQ,5678
63
+ camel/configs/togetherai_config.py,sha256=7tge2Tarri68B1AS9FXWPm89jjcIbo6fB3aJaEMYwTc,5449
63
64
  camel/configs/vllm_config.py,sha256=oxskavzcgwLaqGjFYfbXCsEmhv-wZf-zBREjaRvCmac,6125
64
65
  camel/configs/yi_config.py,sha256=EJVp6SWX6XuQFMxqgpg-HnBPkr_HvsCJIgQiK5R-i1I,2720
65
66
  camel/configs/zhipuai_config.py,sha256=RQrUrWFXKvyrXo8mbGeyUsal5YRbWCKAwU4s6_4yeu4,3560
@@ -91,25 +92,28 @@ camel/datahubs/huggingface.py,sha256=LgRruML4XnwHrm_jMB-aB-Ha-M9ErRrA7YmiL6saGis
91
92
  camel/datahubs/models.py,sha256=tGb9OP_aomIhnwc0VapJjTg9PmyV_QCp5to9sABXF0Y,978
92
93
  camel/datasets/__init__.py,sha256=WlBpnzL8MejnJdofpJQBYv9KCyu1AZgm0-sTqDht6Aw,1051
93
94
  camel/datasets/base_generator.py,sha256=WJEJTT00J3jv1LHjQ5wPBQSfxX0OkT1tc3Uu4FgQwSI,10735
94
- camel/datasets/few_shot_generator.py,sha256=JPGpqVcpWFk0lWBMoV6jLdz3B2tNbXUee4bPUqhy10o,10013
95
+ camel/datasets/few_shot_generator.py,sha256=2qIAClu0V3VWmxHxuC96SFIvvk1a_P1fqEqy-L2BQJs,10083
95
96
  camel/datasets/models.py,sha256=H0ksOfkwiPFjVr9xHMYbVoj8YTTWaLI2GYiWqesmiVs,2228
96
97
  camel/datasets/self_instruct_generator.py,sha256=9FK-S7N7e-PR5rABj59BCNmUZCd8fS72La612FK0AEM,15837
97
98
  camel/datasets/static_dataset.py,sha256=jPFwR0Kk6LmPFGKFm8SGhZvdee9293gGJBoqucCHdE0,14272
98
- camel/embeddings/__init__.py,sha256=YKCFO_YVY-x4A4uWmRuoIEtltrilBmC17DkCcK4zSj8,1263
99
+ camel/embeddings/__init__.py,sha256=hBSLowaRL7HHMx5x3swq9DhdcAuKlJDJm6Y9HXeZw34,1404
100
+ camel/embeddings/azure_embedding.py,sha256=ClMu3ko1PnkNvWPSWILwCNUnxhzUL7UJHv2sB-OptuE,4233
99
101
  camel/embeddings/base.py,sha256=mxqFkWh2AfbxuVKPOqVx16fCznmuSh9QXGjaEeZHvoY,2190
100
102
  camel/embeddings/jina_embedding.py,sha256=6aakojtsJ6KLp3nqYLhEOtoFm2shoXlRzxb1YYN_uwo,6623
101
103
  camel/embeddings/mistral_embedding.py,sha256=JaHjcHrc4U216QfGA4NxOSLrgYB9lM19VR2mIMAkuvk,3287
102
104
  camel/embeddings/openai_compatible_embedding.py,sha256=3hzMC-OiwP-xZnzKXTyYwkuuqgtWdiEfDaVNGf5FyKI,3471
103
105
  camel/embeddings/openai_embedding.py,sha256=9kJBKUWkjEyxtn50V4MDjuOT2syIwWEnZeEHkbqIocg,3936
104
106
  camel/embeddings/sentence_transformers_embeddings.py,sha256=E7a8lN50CtDBsFO-NOFQ6qfCnbH41O0_kTTg7dG3sOo,2724
107
+ camel/embeddings/together_embedding.py,sha256=tw0OOdBCn9oL6KZH-0hyuozrBJHZSEXVnhNu-QKWxj8,4765
105
108
  camel/embeddings/vlm_embedding.py,sha256=HZFdcz1YzkFPzMj45_jaCVmDQJyccoXN561aLWlrYmo,5497
106
- camel/environments/__init__.py,sha256=nWFEYK-QcRX0WskLVsXn4iP_pK2liL-iHKG7DSO0zTU,969
109
+ camel/environments/__init__.py,sha256=fwk74TJO5OaOhL5Pmiz6s6h77B_-DGav5m_HbfS1oUQ,1053
107
110
  camel/environments/models.py,sha256=jVcCyU7xObKoWPnkshmPqyyKi3AOiMVVtUZA-tWEYUU,4194
108
- camel/environments/multi_step.py,sha256=rEEMMHip5ZVEWpNj7miws5wALlujtUbFZkWDsy7ofHM,8360
109
- camel/environments/single_step.py,sha256=ELZ5GViw9eFCjQMytPMaLWHbAZZAqUCmNsk9h6qbggU,19713
111
+ camel/environments/multi_step.py,sha256=HPIH2W-iWsmtDLeN1gjxo7LoAnMQQZzdmfjhmRoBAxg,8534
112
+ camel/environments/single_step.py,sha256=TxEVoQVqyGgBbb3OiyOSTEyJh7NqsJmrUOndJLrFWH4,20055
113
+ camel/environments/tic_tac_toe.py,sha256=axRDN9yUVH8PzACkD6zenWiQKFDaupGsQ7NmSvbJCIc,19080
110
114
  camel/extractors/__init__.py,sha256=lgtDl8zWvN826fJVKqRv05w556YZ-EdrHwdzKphywgA,1097
111
115
  camel/extractors/base.py,sha256=3jvuZpq27nlADDCX3GfubOpeb_zt-E9rzxF3x4lYm8s,10404
112
- camel/extractors/python_strategies.py,sha256=k8q4BIAhPZnCSN2LqPaZVrhF56y3Y4cZ6ddn79jcIXE,7825
116
+ camel/extractors/python_strategies.py,sha256=zHAkshnO9o-uvLtCuVOCKoA2PzetBTnkNx1Qy_3j_pE,8113
113
117
  camel/interpreters/__init__.py,sha256=NOQUsg7gR84zO8nBXu4JGUatsxSDJqZS6otltjXfop4,1265
114
118
  camel/interpreters/base.py,sha256=F026f2ZnvHwikSMbk6APYNvB9qP4Ye5quSkTbFKV3O0,1898
115
119
  camel/interpreters/docker_interpreter.py,sha256=FopALOICtr82Y4H9UAO83vsBMJ96pdvQWDQ3KsVLdpQ,9250
@@ -119,10 +123,11 @@ camel/interpreters/interpreter_error.py,sha256=uEhcmHmmcajt5C9PLeHs21h1fE6cmyt23
119
123
  camel/interpreters/ipython_interpreter.py,sha256=-erOR6imuh5pUtpbUYky3zoLDr30Y5E7lm59BwwxzNs,5976
120
124
  camel/interpreters/subprocess_interpreter.py,sha256=xmACW9SeZ1yLogvD2rX_e63ixNE277XgQ3GaTb0c8KY,16639
121
125
  camel/interpreters/docker/Dockerfile,sha256=6_k33dlpxgf8V9vfywWmjLuOgHmT2s-a8Lb8VbFRv4s,253
122
- camel/loaders/__init__.py,sha256=ig4mD9JGLgyGw9-oqQSOT5GXxMYS8O6ECXMpBoKeI1A,1253
126
+ camel/loaders/__init__.py,sha256=OMy_xhRNISCwpCfmmGKelXpfPnJTsiUF3ef-TlqpnOM,1307
123
127
  camel/loaders/apify_reader.py,sha256=oaVjKyNhJhG-hTuIwrpZ2hsB4XTL0M-kUksgSL2R0ck,7952
124
128
  camel/loaders/base_io.py,sha256=zsbdBPHgSPFyQrtiUgAsHvy39QHWUObRYNaVvr-pPk0,10190
125
129
  camel/loaders/chunkr_reader.py,sha256=Vzc0a1ac28DHQ5z40Va4ce2noOxaGnhRi3Clf60R1lc,6140
130
+ camel/loaders/crawl4ai_reader.py,sha256=ugfGMpWhfLnKf_XEOyDGI2ekpViDnSATg9eSxHyWX7M,7653
126
131
  camel/loaders/firecrawl_reader.py,sha256=wCPHEWbfLv_q2x9MdTiSvJ_LDqUPO88lzPf0mmOBsME,5667
127
132
  camel/loaders/jina_url_reader.py,sha256=dL9J5JlsFKEhi4gU_vYIxKvvf_RJ4LY9gG6i8P8JpcA,3601
128
133
  camel/loaders/mineru_extractor.py,sha256=nKa5n7f3ergv1TURcbXZJP5mQpnSCIFdlWrxWn4hBz8,9070
@@ -147,40 +152,41 @@ camel/messages/conversion/sharegpt/__init__.py,sha256=oWUuHV5w85kxqhz_hoElLmCfzL
147
152
  camel/messages/conversion/sharegpt/function_call_formatter.py,sha256=cn7e7CfmxEVFlfOqhjhNuA8nuWvWD6hXYn-3okXNxxQ,1832
148
153
  camel/messages/conversion/sharegpt/hermes/__init__.py,sha256=mxuMSm-neaTgInIjYXuIVdC310E6jKJzM3IdtaJ4qY4,812
149
154
  camel/messages/conversion/sharegpt/hermes/hermes_function_formatter.py,sha256=-9TT8iOQ-ieKSKR_PmJSA5Bi0uBx-qR7WQ6vxuFkorM,4639
150
- camel/models/__init__.py,sha256=tg68S9YJdiL59lHjip7p_cCPEfLx1ccerFUq53hUqEM,2907
155
+ camel/models/__init__.py,sha256=sBcbXf8BgIUYWA9CkI3jWxSccetDYVZJh-OyYCj48dY,2958
151
156
  camel/models/_utils.py,sha256=hob1ehnS5xZitMCdYToHVgaTB55JnaP4_DSWnTEfVsg,2045
152
157
  camel/models/aiml_model.py,sha256=_E9FkUmRcznqXQADJIH6MmCLoNcj8Rf6Zz92vKO1lNs,6916
153
158
  camel/models/anthropic_model.py,sha256=XQRisu4O1HEWL9q-mtF73S434PiZLxTUeDkKCNCD53E,6334
154
- camel/models/azure_openai_model.py,sha256=qg49gZ2NSFfEc8-vAswE54xx29J11bBVb7ugrLcWpio,10775
159
+ camel/models/azure_openai_model.py,sha256=psxSx1R9dCRw-jWy58lwhUjPFP01UrhCJ7sHeveu_fo,11057
155
160
  camel/models/base_audio_model.py,sha256=_VUWh1L3rh8mldNvM5R6jBOKtvmTeBKJyRxAdPJmPlY,3324
156
- camel/models/base_model.py,sha256=iobKV-aOjYoomX9Jg-JaXAgwWYOBMrH5co6mivJezO0,10876
157
- camel/models/cohere_model.py,sha256=i1GHWp1l9oqbhzCjyaG9njrqLF1__q38OrTWOgChofw,13421
158
- camel/models/deepseek_model.py,sha256=fKjUuGHqoQmKpu8E9H9JXws5XJi5up6DEax9WPoQu1Q,10013
161
+ camel/models/base_model.py,sha256=eDeUlgH8iS0Stk6zommzqce4dfD4Qj51tvgXUs5ys4s,14474
162
+ camel/models/cohere_model.py,sha256=Nl4i_mfm1Pok8243sSgUBwc8mB5HrHZQAeRdYGwQhFU,13556
163
+ camel/models/deepseek_model.py,sha256=Npi4-5f0pygQX9ZZttJyItZmUhHwNKNIMG3ZN7gciM4,10204
159
164
  camel/models/fish_audio_model.py,sha256=RCwORRIdCbjZXWWjjctpksPI2DnS0b68JjxunHBQ1xk,5981
160
- camel/models/gemini_model.py,sha256=D47G9qwnVxEAUI3q-UcQR-MccE-jUc0aoFnUC2eH6C8,12063
165
+ camel/models/gemini_model.py,sha256=OOH6k6lzP4ir_WJebHrKx5ABQcAZh5RZOgFMUia8iMc,12351
161
166
  camel/models/groq_model.py,sha256=Mods2h_OrPqJ0m37M8CwOtFZMgjPjvxOR74aHJfCSvw,7853
162
167
  camel/models/internlm_model.py,sha256=z6B8XXseqJ3ve3ZucT5kRVOG7GcH5Jcr6BZzeJ9NTYo,5994
163
168
  camel/models/litellm_model.py,sha256=xi4kDd0FKuznKtox8ArsB39u40ueOhcb-CpWv4bcbXw,5544
164
169
  camel/models/mistral_model.py,sha256=OB948fRVnXikVIDO3PqxV0zb_qpwwta0DIW1bbX3SYI,11666
165
- camel/models/model_factory.py,sha256=01Ib2e8ErgNHuDAU_poGPZMBpxCEf82RF1jlKRaiNk0,10778
170
+ camel/models/model_factory.py,sha256=WS-Dm6SnU73-bAKsQexaCJL-QMMJZ1OEW-MLBAeOL6U,10897
166
171
  camel/models/model_manager.py,sha256=gfpL-WUxuTXgNeCkIVg8Y0zRvxMqRLX8JGt0XEAPQ8Y,9214
167
172
  camel/models/modelscope_model.py,sha256=U5ZrS1_6jrZe4ISUKDDHaUIPk1nJSY2z20AZnqiL7C0,7670
168
173
  camel/models/moonshot_model.py,sha256=LdRHcQDdGKQY9LbEmO3LSstcnN788rrd_7PQOGjmiyc,6531
169
174
  camel/models/nemotron_model.py,sha256=PnLrr25Ihc_2qD0IQY1Hb01Fb-Mr0ZB4Sl-IzdWxEZQ,4284
170
175
  camel/models/nvidia_model.py,sha256=9TPxXBmWF47S4_SdGH7hAuiCgTJ_f8C7AI6qF0hmTtc,7103
171
- camel/models/ollama_model.py,sha256=jKOuYv5gTmbqPAgzi7N63uYwrLiS7qV7JhrhoKrT-Ug,10996
176
+ camel/models/ollama_model.py,sha256=aR8xmT07O80H3wjJpgi9d57MszeSYVI5pq1cb57WOKc,11292
172
177
  camel/models/openai_audio_models.py,sha256=BSixkXlc8xirQLl2qCla-g6_y9wDLnMZVHukHrhzw98,13344
173
- camel/models/openai_compatible_model.py,sha256=JkJEu0j5eO_RnNM5zGcOPCTKwfZY84htqR-mLokS6OU,8526
174
- camel/models/openai_model.py,sha256=cHhkoBpUy56xB9Dhw2EaguQKTXTxQUJYz-drsmlQ5sc,12429
178
+ camel/models/openai_compatible_model.py,sha256=YK3YvgsAxHoCm0CC9r34S75_9GpovAch2ViDUM1lmFo,8822
179
+ camel/models/openai_model.py,sha256=Ow8kHm7mL3vEYh8-5Ui0-JsPwIXjRP29HOFuf7Vfe0A,12769
175
180
  camel/models/openrouter_model.py,sha256=I-vqFFTRghBBR03Eox-4J7RHtHq_eaFld_SewVZgfgM,7949
181
+ camel/models/ppio_model.py,sha256=oyQqTANwL9Ezhbb0Zzer-m5YlaOT62CDJ5byIn6KKJk,6736
176
182
  camel/models/qwen_model.py,sha256=WCIrEnZpuh37aZWzogcrDCKRRUa4EaFCClkFCx3TrOI,7456
177
183
  camel/models/reka_model.py,sha256=15DscZf3lbqsIzm6kzjzDrhblBt1_0xlphT4isuQMu0,10146
178
184
  camel/models/samba_model.py,sha256=tfFqzvbZH3KF25zvnVyaUa3dgfMbfDfNlU-QXg9bdlw,22950
179
185
  camel/models/sglang_model.py,sha256=kdF-qShOH4j5lkuC2JEzUByuSoKtCFHdrIpAdbpR2Gg,14310
180
186
  camel/models/siliconflow_model.py,sha256=c40e0SQjHUNjr1ttJTTRTylRiNsPK_idP7Pa2iZr36g,6041
181
187
  camel/models/stub_model.py,sha256=JvjeEkXS7RMcR_UA_64a3T6S0QALUhOaMQs-aI7Etug,5955
182
- camel/models/togetherai_model.py,sha256=nV6ZqOrwEK6oNU1gTJlPfJDQbd9Mcl4GWkbqYnGPCQ0,7049
183
- camel/models/vllm_model.py,sha256=lbcflI19mnvMt62hvpdDpfIJqYo0fTsd-pEZC_H-akA,8826
188
+ camel/models/togetherai_model.py,sha256=4wTLLlmoU0r5KR_8SaKUo7mtCljaw7bmA5YkCVZpZEw,9551
189
+ camel/models/vllm_model.py,sha256=8fx9ezWGQ3R3sIUYQtWHgY0JbWXBVUj703USGhKjfd8,12278
184
190
  camel/models/volcano_model.py,sha256=inYDiKOfGvq8o3XW4KVQIrXiZOhXQfB4HfCHGCWHPKs,3792
185
191
  camel/models/yi_model.py,sha256=sg7qOzvWZlGeKmlvA4kvZSWwMxTBo0-qgvEVjBalXcE,6572
186
192
  camel/models/zhipuai_model.py,sha256=JtMOTDsJIteZBPdIAwkeyUoAoh3O0dseaqjikiwjIfM,6909
@@ -243,7 +249,7 @@ camel/societies/workforce/single_agent_worker.py,sha256=M2I8U10QVFkUjpdeWVZ6mIuv
243
249
  camel/societies/workforce/task_channel.py,sha256=9t5hoinfGYnbRavX4kx34Jk1FOy05SnJZYbNzb5M-CQ,7140
244
250
  camel/societies/workforce/utils.py,sha256=yPbcLx8lNZStl15C4UXRBl5qsTrGA-hiIGynnGi53WQ,2384
245
251
  camel/societies/workforce/worker.py,sha256=Do6FDpEraICQVptBH-LiG5KDYYQzD83sLoYO9J8NAbc,3933
246
- camel/societies/workforce/workforce.py,sha256=lflBJO4vBPg_uY7U-O8STxo90c8iwLN9r-rTwHm118g,18104
252
+ camel/societies/workforce/workforce.py,sha256=xxv1pIgYcbK_5IO6-gwH0OHmhIZbFZRNeifbDNSgRJ8,19150
247
253
  camel/storages/__init__.py,sha256=5wH0UVB96UEI-kKOxzS7tatOvOhlaRVJlzIH_jssYao,1758
248
254
  camel/storages/graph_storages/__init__.py,sha256=G29BNn651C0WTOpjCl4QnVM-4B9tcNh8DdmsCiONH8Y,948
249
255
  camel/storages/graph_storages/base.py,sha256=uSe9jWuLudfm5jtfo6E-L_kNzITwK1_Ef-6L4HWw-JM,2852
@@ -273,12 +279,12 @@ camel/terminators/__init__.py,sha256=t8uqrkUnXEOYMXQDgaBkMFJ0EXFKI0kmx4cUimli3Ls
273
279
  camel/terminators/base.py,sha256=xmJzERX7GdSXcxZjAHHODa0rOxRChMSRboDCNHWSscs,1511
274
280
  camel/terminators/response_terminator.py,sha256=n3G5KP6Oj7-7WlRN0yFcrtLpqAJKaKS0bmhrWlFfCgQ,4982
275
281
  camel/terminators/token_limit_terminator.py,sha256=YWv6ZR8R9yI2Qnf_3xES5bEE_O5bb2CxQ0EUXfMh34c,2118
276
- camel/toolkits/__init__.py,sha256=2S5Tf-iWFiYdiPnqAhUvqW2VTTWJVJqqOpJOrWfv4r8,4124
282
+ camel/toolkits/__init__.py,sha256=-wJqeptLP-lPSZtgEDAx8OSiCh0Av9A3iqW_KOA3HrA,4212
277
283
  camel/toolkits/arxiv_toolkit.py,sha256=Bs2-K1yfmqhEhHoQ0j00KoI8LpOd8M3ApXcvI_-ApVw,6303
278
284
  camel/toolkits/ask_news_toolkit.py,sha256=WfWaqwEo1Apbil3-Rb5y65Ws43NU4rAFWZu5VHe4los,23448
279
285
  camel/toolkits/audio_analysis_toolkit.py,sha256=-KH53iTzhHK-tqMlowy-HQGk9UBBOmWIUxcIFPudSDg,8599
280
286
  camel/toolkits/base.py,sha256=4uuQ8peAvNNq-M0lOHVbIbMJiphlNCfQv7bfZ7LSKSI,2052
281
- camel/toolkits/browser_toolkit.py,sha256=onPBc1qUIZEL9ktYe0YSljOY77vX8a5C7xxVLaWeOyI,55406
287
+ camel/toolkits/browser_toolkit.py,sha256=QlOv1cD-QKV87Aub-7wxGOFXI5MzpCJPz9y80yqq72k,55776
282
288
  camel/toolkits/code_execution.py,sha256=6nI5wSBE6W8Ha05UfoPRoe7dtyszGUZ7W55_3HUgUoY,4626
283
289
  camel/toolkits/dalle_toolkit.py,sha256=Usmw3JiJErLQgWSB1qKq_bOACNwbUTQPFc_EsVzTrGo,5115
284
290
  camel/toolkits/dappier_toolkit.py,sha256=ewhXeeUj7e4DiTzuWDA-gHGhrLdyoZ4l9pbijvF3py0,8199
@@ -287,6 +293,7 @@ camel/toolkits/excel_toolkit.py,sha256=P5CTI5kyuny-T0G4M3JuV_MjEG_rDFAu-rph1O3F3
287
293
  camel/toolkits/file_write_toolkit.py,sha256=UiN5G7hX3dqSkktqvpMq0WhQQJW_fKbiPiOhUeuSWYU,14351
288
294
  camel/toolkits/function_tool.py,sha256=9I-7HHGf5TzdQDJce9xyz1tfrGZr5Os5iAopMK4p0XA,30325
289
295
  camel/toolkits/github_toolkit.py,sha256=x9QBsnZbLqAng4eGmnJrGxMSScrGzIA9yri9zAqfuwQ,12242
296
+ camel/toolkits/google_calendar_toolkit.py,sha256=E-sdgdbtNBs_CXbhht9t1dsVr4DsTr5NguHkx4fvSmc,15410
290
297
  camel/toolkits/google_maps_toolkit.py,sha256=WTnkURpGri9KcY5OwV7AJJHOzmpu5RNmYE1QCVqvwWM,12023
291
298
  camel/toolkits/google_scholar_toolkit.py,sha256=WQ9a0HQr0vro1Uo1m--alCUXvMmaHVKeQYqGCxXc2s8,7562
292
299
  camel/toolkits/human_toolkit.py,sha256=ZbhXPA0G3mQkcNW_jPwywReAft2pIJG0WkVXOG48s1w,2328
@@ -306,7 +313,7 @@ camel/toolkits/page_script.js,sha256=gypbuQ_gn_oa3rQDoCN_q-kJ0jND1eSvY-30PufPZmQ
306
313
  camel/toolkits/pubmed_toolkit.py,sha256=VGl8KeyWi7pjb2kEhFBLmpBlP9ezv8JyWRHtEVTQ6nQ,12227
307
314
  camel/toolkits/reddit_toolkit.py,sha256=x0XAT1zQJVNHUr1R1HwWCgIlkamU-kPmbfb_H1WIv-w,8036
308
315
  camel/toolkits/retrieval_toolkit.py,sha256=BKjEyOqW3cGEPTS5yHPYb-Qg795iNNPIs1wjowfuq3U,3825
309
- camel/toolkits/search_toolkit.py,sha256=LCelIiU_hrEWPTib3YsINYmpErRtnAtW-67UfLRxE7c,38940
316
+ camel/toolkits/search_toolkit.py,sha256=7phtlC_5bmo8pFSUwGKiwNqKJuIpCvy1tdhrqIzpC0M,43767
310
317
  camel/toolkits/searxng_toolkit.py,sha256=h92gfk_0csRds68jrtQTaamy_EJK_lOeWxbL_FJQyAU,7365
311
318
  camel/toolkits/semantic_scholar_toolkit.py,sha256=Rh7eA_YPxV5pvPIzhjjvpr3vtlaCniJicrqzkPWW9_I,11634
312
319
  camel/toolkits/slack_toolkit.py,sha256=F1Xn2_Jmnv-1SdBnCNg3MI3RGwjZ7ZDWiNZjFJJS6x8,10791
@@ -346,9 +353,9 @@ camel/toolkits/open_api_specs/web_scraper/openapi.yaml,sha256=u_WalQ01e8W1D27VnZ
346
353
  camel/toolkits/open_api_specs/web_scraper/paths/__init__.py,sha256=OKCZrQCDwaWtXIN_2rA9FSqEvgpQRieRoHh7Ek6N16A,702
347
354
  camel/toolkits/open_api_specs/web_scraper/paths/scraper.py,sha256=aWy1_ppV4NVVEZfnbN3tu9XA9yAPAC9bRStJ5JuXMRU,1117
348
355
  camel/types/__init__.py,sha256=VLWhAt857IFct3XepY5BNOIhyhDhfmODTezr9jhO_TI,2251
349
- camel/types/enums.py,sha256=He4xFBijRcf4uvNI4SXlEYD4VhdbSgn1TKnu-3Tlkew,39290
356
+ camel/types/enums.py,sha256=Hghw2BEWS3t8Fv8P0ADg7JnyVMeK8yxgWU3z1JGPF54,42288
350
357
  camel/types/openai_types.py,sha256=8ZFzLe-zGmKNPfuVZFzxlxAX98lGf18gtrPhOgMmzus,2104
351
- camel/types/unified_model_type.py,sha256=gzb6olQrSDb10ku1PZSEakf-SlAaMgRQ756jfzQux20,4540
358
+ camel/types/unified_model_type.py,sha256=Mb6IOoom9C6Omksl48alJ4rYpR20__qgO7Omt6aosQI,4671
352
359
  camel/types/agents/__init__.py,sha256=cbvVkogPoZgcwZrgxLH6EtpGXk0kavF79nOic0Dc1vg,786
353
360
  camel/types/agents/tool_calling_record.py,sha256=qa-vLyKvYzWprRkFFl1928xaw9CnfacIebHaqM-oY3s,1814
354
361
  camel/utils/__init__.py,sha256=aj6fUgVe0bB-CDRKIBTb7tZ2jgzI_Lj3YRMBs37hUJQ,2672
@@ -367,8 +374,8 @@ camel/verifiers/__init__.py,sha256=bPIdYDVbZxY6szYuXh70Ng_A9kemhcqJDO_gj9Dn17w,9
367
374
  camel/verifiers/base.py,sha256=SQGZPP6p08q4Qmpr1vD-eb0UxBwkl1hpZSm19yV2wWo,14866
368
375
  camel/verifiers/math_verifier.py,sha256=tA1D4S0sm8nsWISevxSN0hvSVtIUpqmJhzqfbuMo0y4,6875
369
376
  camel/verifiers/models.py,sha256=GdxYPr7UxNrR1577yW4kyroRcLGfd-H1GXgv8potDWU,2471
370
- camel/verifiers/python_verifier.py,sha256=o1VVINq4YQqNPz8h1FiZ7v2dMBN3wlH6AsRWPqN0iGQ,18037
371
- camel_ai-0.2.42.dist-info/METADATA,sha256=Yi_gfzN4krlk4P1Ek1XKLMuXldj0Xwu5TdddMd-pQqc,42033
372
- camel_ai-0.2.42.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
373
- camel_ai-0.2.42.dist-info/licenses/LICENSE,sha256=id0nB2my5kG0xXeimIu5zZrbHLS6EQvxvkKkzIHaT2k,11343
374
- camel_ai-0.2.42.dist-info/RECORD,,
377
+ camel/verifiers/python_verifier.py,sha256=qvNNYTlFyOMbIaDF2JNWELiIfj_phdV2JWRxPrghpT0,21528
378
+ camel_ai-0.2.44.dist-info/METADATA,sha256=4mOoHcQgfILBlj1qh1AD5z2l_sLzPnAOpnHgYscRyZs,42902
379
+ camel_ai-0.2.44.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
380
+ camel_ai-0.2.44.dist-info/licenses/LICENSE,sha256=id0nB2my5kG0xXeimIu5zZrbHLS6EQvxvkKkzIHaT2k,11343
381
+ camel_ai-0.2.44.dist-info/RECORD,,