camel-ai 0.2.60__tar.gz → 0.2.62__tar.gz

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 (419) hide show
  1. {camel_ai-0.2.60 → camel_ai-0.2.62}/PKG-INFO +14 -1
  2. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/__init__.py +1 -1
  3. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/chat_agent.py +159 -8
  4. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/mcp_agent.py +5 -5
  5. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/anthropic_config.py +6 -5
  6. {camel_ai-0.2.60/camel/data_collector → camel_ai-0.2.62/camel/data_collectors}/alpaca_collector.py +1 -1
  7. {camel_ai-0.2.60/camel/data_collector → camel_ai-0.2.62/camel/data_collectors}/sharegpt_collector.py +1 -1
  8. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/evol_instruct/scorer.py +22 -23
  9. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/evol_instruct/templates.py +46 -46
  10. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datasets/static_dataset.py +144 -0
  11. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/loaders/__init__.py +5 -2
  12. camel_ai-0.2.62/camel/loaders/chunkr_reader.py +193 -0
  13. camel_ai-0.2.62/camel/loaders/mistral_reader.py +148 -0
  14. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/memories/blocks/chat_history_block.py +1 -2
  15. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/model_manager.py +7 -3
  16. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/retrievers/auto_retriever.py +20 -1
  17. {camel_ai-0.2.60/camel/runtime → camel_ai-0.2.62/camel/runtimes}/daytona_runtime.py +1 -1
  18. {camel_ai-0.2.60/camel/runtime → camel_ai-0.2.62/camel/runtimes}/docker_runtime.py +1 -1
  19. {camel_ai-0.2.60/camel/runtime → camel_ai-0.2.62/camel/runtimes}/llm_guard_runtime.py +2 -2
  20. {camel_ai-0.2.60/camel/runtime → camel_ai-0.2.62/camel/runtimes}/remote_http_runtime.py +1 -1
  21. {camel_ai-0.2.60/camel/runtime → camel_ai-0.2.62/camel/runtimes}/ubuntu_docker_runtime.py +1 -1
  22. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/societies/workforce/base.py +7 -3
  23. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/societies/workforce/single_agent_worker.py +2 -1
  24. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/societies/workforce/worker.py +5 -3
  25. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/societies/workforce/workforce.py +65 -24
  26. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/__init__.py +2 -0
  27. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/vectordb_storages/__init__.py +2 -0
  28. camel_ai-0.2.62/camel/storages/vectordb_storages/faiss.py +712 -0
  29. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/__init__.py +4 -0
  30. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/async_browser_toolkit.py +75 -523
  31. camel_ai-0.2.62/camel/toolkits/bohrium_toolkit.py +318 -0
  32. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/browser_toolkit.py +215 -538
  33. camel_ai-0.2.62/camel/toolkits/browser_toolkit_commons.py +568 -0
  34. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/file_write_toolkit.py +80 -31
  35. camel_ai-0.2.62/camel/toolkits/mcp_toolkit.py +614 -0
  36. camel_ai-0.2.62/camel/toolkits/pptx_toolkit.py +777 -0
  37. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/wolfram_alpha_toolkit.py +5 -1
  38. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/types/enums.py +13 -1
  39. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/utils/__init__.py +2 -0
  40. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/utils/commons.py +27 -0
  41. camel_ai-0.2.62/camel/utils/mcp_client.py +979 -0
  42. {camel_ai-0.2.60 → camel_ai-0.2.62}/pyproject.toml +22 -3
  43. camel_ai-0.2.60/camel/loaders/chunkr_reader.py +0 -167
  44. camel_ai-0.2.60/camel/toolkits/mcp_toolkit.py +0 -802
  45. {camel_ai-0.2.60 → camel_ai-0.2.62}/.gitignore +0 -0
  46. {camel_ai-0.2.60 → camel_ai-0.2.62}/LICENSE +0 -0
  47. {camel_ai-0.2.60 → camel_ai-0.2.62}/README.md +0 -0
  48. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/__init__.py +0 -0
  49. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/_types.py +0 -0
  50. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/_utils.py +0 -0
  51. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/base.py +0 -0
  52. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/critic_agent.py +0 -0
  53. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/deductive_reasoner_agent.py +0 -0
  54. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/embodied_agent.py +0 -0
  55. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/knowledge_graph_agent.py +0 -0
  56. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/multi_hop_generator_agent.py +0 -0
  57. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/programmed_agent_instruction.py +0 -0
  58. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/repo_agent.py +0 -0
  59. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/role_assignment_agent.py +0 -0
  60. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/search_agent.py +0 -0
  61. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/task_agent.py +0 -0
  62. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/tool_agents/__init__.py +0 -0
  63. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/tool_agents/base.py +0 -0
  64. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/tool_agents/hugging_face_tool_agent.py +0 -0
  65. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/benchmarks/__init__.py +0 -0
  66. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/benchmarks/apibank.py +0 -0
  67. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/benchmarks/apibench.py +0 -0
  68. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/benchmarks/base.py +0 -0
  69. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/benchmarks/browsecomp.py +0 -0
  70. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/benchmarks/gaia.py +0 -0
  71. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/benchmarks/nexus.py +0 -0
  72. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/benchmarks/ragbench.py +0 -0
  73. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/bots/__init__.py +0 -0
  74. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/bots/discord/__init__.py +0 -0
  75. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/bots/discord/discord_app.py +0 -0
  76. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/bots/discord/discord_installation.py +0 -0
  77. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/bots/discord/discord_store.py +0 -0
  78. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/bots/slack/__init__.py +0 -0
  79. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/bots/slack/models.py +0 -0
  80. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/bots/slack/slack_app.py +0 -0
  81. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/bots/telegram_bot.py +0 -0
  82. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/__init__.py +0 -0
  83. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/aiml_config.py +0 -0
  84. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/base_config.py +0 -0
  85. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/bedrock_config.py +0 -0
  86. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/cohere_config.py +0 -0
  87. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/deepseek_config.py +0 -0
  88. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/gemini_config.py +0 -0
  89. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/groq_config.py +0 -0
  90. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/internlm_config.py +0 -0
  91. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/litellm_config.py +0 -0
  92. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/lmstudio_config.py +0 -0
  93. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/mistral_config.py +0 -0
  94. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/modelscope_config.py +0 -0
  95. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/moonshot_config.py +0 -0
  96. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/netmind_config.py +0 -0
  97. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/novita_config.py +0 -0
  98. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/nvidia_config.py +0 -0
  99. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/ollama_config.py +0 -0
  100. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/openai_config.py +0 -0
  101. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/openrouter_config.py +0 -0
  102. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/ppio_config.py +0 -0
  103. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/qwen_config.py +0 -0
  104. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/reka_config.py +0 -0
  105. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/samba_config.py +0 -0
  106. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/sglang_config.py +0 -0
  107. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/siliconflow_config.py +0 -0
  108. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/togetherai_config.py +0 -0
  109. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/vllm_config.py +0 -0
  110. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/watsonx_config.py +0 -0
  111. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/yi_config.py +0 -0
  112. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/zhipuai_config.py +0 -0
  113. {camel_ai-0.2.60/camel/data_collector → camel_ai-0.2.62/camel/data_collectors}/__init__.py +0 -0
  114. {camel_ai-0.2.60/camel/data_collector → camel_ai-0.2.62/camel/data_collectors}/base.py +0 -0
  115. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/__init__.py +0 -0
  116. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/cot_datagen.py +0 -0
  117. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/evol_instruct/__init__.py +0 -0
  118. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/evol_instruct/evol_instruct.py +0 -0
  119. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/self_improving_cot.py +0 -0
  120. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/self_instruct/__init__.py +0 -0
  121. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/self_instruct/filter/__init__.py +0 -0
  122. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/self_instruct/filter/filter_function.py +0 -0
  123. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/self_instruct/filter/filter_registry.py +0 -0
  124. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/self_instruct/filter/instruction_filter.py +0 -0
  125. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/self_instruct/self_instruct.py +0 -0
  126. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/self_instruct/templates.py +0 -0
  127. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/source2synth/__init__.py +0 -0
  128. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/source2synth/data_processor.py +0 -0
  129. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/source2synth/models.py +0 -0
  130. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/source2synth/user_data_processor_config.py +0 -0
  131. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datahubs/__init__.py +0 -0
  132. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datahubs/base.py +0 -0
  133. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datahubs/huggingface.py +0 -0
  134. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datahubs/models.py +0 -0
  135. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datasets/__init__.py +0 -0
  136. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datasets/base_generator.py +0 -0
  137. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datasets/few_shot_generator.py +0 -0
  138. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datasets/models.py +0 -0
  139. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datasets/self_instruct_generator.py +0 -0
  140. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/embeddings/__init__.py +0 -0
  141. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/embeddings/azure_embedding.py +0 -0
  142. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/embeddings/base.py +0 -0
  143. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/embeddings/gemini_embedding.py +0 -0
  144. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/embeddings/jina_embedding.py +0 -0
  145. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/embeddings/mistral_embedding.py +0 -0
  146. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/embeddings/openai_compatible_embedding.py +0 -0
  147. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/embeddings/openai_embedding.py +0 -0
  148. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/embeddings/sentence_transformers_embeddings.py +0 -0
  149. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/embeddings/together_embedding.py +0 -0
  150. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/embeddings/vlm_embedding.py +0 -0
  151. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/environments/__init__.py +0 -0
  152. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/environments/models.py +0 -0
  153. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/environments/multi_step.py +0 -0
  154. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/environments/single_step.py +0 -0
  155. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/environments/tic_tac_toe.py +0 -0
  156. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/extractors/__init__.py +0 -0
  157. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/extractors/base.py +0 -0
  158. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/extractors/python_strategies.py +0 -0
  159. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/generators.py +0 -0
  160. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/human.py +0 -0
  161. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/interpreters/__init__.py +0 -0
  162. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/interpreters/base.py +0 -0
  163. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/interpreters/docker/Dockerfile +0 -0
  164. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/interpreters/docker_interpreter.py +0 -0
  165. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/interpreters/e2b_interpreter.py +0 -0
  166. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/interpreters/internal_python_interpreter.py +0 -0
  167. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/interpreters/interpreter_error.py +0 -0
  168. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/interpreters/ipython_interpreter.py +0 -0
  169. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/interpreters/subprocess_interpreter.py +0 -0
  170. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/loaders/apify_reader.py +0 -0
  171. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/loaders/base_io.py +0 -0
  172. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/loaders/crawl4ai_reader.py +0 -0
  173. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/loaders/firecrawl_reader.py +0 -0
  174. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/loaders/jina_url_reader.py +0 -0
  175. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/loaders/markitdown.py +0 -0
  176. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/loaders/mineru_extractor.py +0 -0
  177. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/loaders/pandas_reader.py +0 -0
  178. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/loaders/scrapegraph_reader.py +0 -0
  179. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/loaders/unstructured_io.py +0 -0
  180. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/logger.py +0 -0
  181. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/memories/__init__.py +0 -0
  182. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/memories/agent_memories.py +0 -0
  183. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/memories/base.py +0 -0
  184. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/memories/blocks/__init__.py +0 -0
  185. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/memories/blocks/vectordb_block.py +0 -0
  186. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/memories/context_creators/__init__.py +0 -0
  187. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/memories/context_creators/score_based.py +0 -0
  188. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/memories/records.py +0 -0
  189. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/messages/__init__.py +0 -0
  190. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/messages/base.py +0 -0
  191. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/messages/conversion/__init__.py +0 -0
  192. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/messages/conversion/alpaca.py +0 -0
  193. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/messages/conversion/conversation_models.py +0 -0
  194. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/messages/conversion/sharegpt/__init__.py +0 -0
  195. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/messages/conversion/sharegpt/function_call_formatter.py +0 -0
  196. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/messages/conversion/sharegpt/hermes/__init__.py +0 -0
  197. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/messages/conversion/sharegpt/hermes/hermes_function_formatter.py +0 -0
  198. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/messages/func_message.py +0 -0
  199. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/__init__.py +0 -0
  200. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/_utils.py +0 -0
  201. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/aiml_model.py +0 -0
  202. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/anthropic_model.py +0 -0
  203. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/aws_bedrock_model.py +0 -0
  204. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/azure_openai_model.py +0 -0
  205. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/base_audio_model.py +0 -0
  206. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/base_model.py +0 -0
  207. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/cohere_model.py +0 -0
  208. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/deepseek_model.py +0 -0
  209. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/fish_audio_model.py +0 -0
  210. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/gemini_model.py +0 -0
  211. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/groq_model.py +0 -0
  212. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/internlm_model.py +0 -0
  213. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/litellm_model.py +0 -0
  214. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/lmstudio_model.py +0 -0
  215. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/mistral_model.py +0 -0
  216. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/model_factory.py +0 -0
  217. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/modelscope_model.py +0 -0
  218. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/moonshot_model.py +0 -0
  219. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/nemotron_model.py +0 -0
  220. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/netmind_model.py +0 -0
  221. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/novita_model.py +0 -0
  222. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/nvidia_model.py +0 -0
  223. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/ollama_model.py +0 -0
  224. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/openai_audio_models.py +0 -0
  225. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/openai_compatible_model.py +0 -0
  226. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/openai_model.py +0 -0
  227. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/openrouter_model.py +0 -0
  228. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/ppio_model.py +0 -0
  229. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/qwen_model.py +0 -0
  230. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/reka_model.py +0 -0
  231. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/reward/__init__.py +0 -0
  232. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/reward/base_reward_model.py +0 -0
  233. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/reward/evaluator.py +0 -0
  234. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/reward/nemotron_model.py +0 -0
  235. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/reward/skywork_model.py +0 -0
  236. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/samba_model.py +0 -0
  237. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/sglang_model.py +0 -0
  238. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/siliconflow_model.py +0 -0
  239. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/stub_model.py +0 -0
  240. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/togetherai_model.py +0 -0
  241. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/vllm_model.py +0 -0
  242. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/volcano_model.py +0 -0
  243. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/watsonx_model.py +0 -0
  244. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/yi_model.py +0 -0
  245. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/zhipuai_model.py +0 -0
  246. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/personas/__init__.py +0 -0
  247. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/personas/persona.py +0 -0
  248. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/personas/persona_hub.py +0 -0
  249. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/prompts/__init__.py +0 -0
  250. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/prompts/ai_society.py +0 -0
  251. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/prompts/base.py +0 -0
  252. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/prompts/code.py +0 -0
  253. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/prompts/evaluation.py +0 -0
  254. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/prompts/generate_text_embedding_data.py +0 -0
  255. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/prompts/image_craft.py +0 -0
  256. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/prompts/misalignment.py +0 -0
  257. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/prompts/multi_condition_image_craft.py +0 -0
  258. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/prompts/object_recognition.py +0 -0
  259. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/prompts/persona_hub.py +0 -0
  260. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/prompts/prompt_templates.py +0 -0
  261. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/prompts/role_description_prompt_template.py +0 -0
  262. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/prompts/solution_extraction.py +0 -0
  263. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/prompts/task_prompt_template.py +0 -0
  264. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/prompts/translation.py +0 -0
  265. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/prompts/video_description_prompt.py +0 -0
  266. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/py.typed +0 -0
  267. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/responses/__init__.py +0 -0
  268. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/responses/agent_responses.py +0 -0
  269. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/retrievers/__init__.py +0 -0
  270. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/retrievers/base.py +0 -0
  271. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/retrievers/bm25_retriever.py +0 -0
  272. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/retrievers/cohere_rerank_retriever.py +0 -0
  273. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/retrievers/hybrid_retrival.py +0 -0
  274. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/retrievers/vector_retriever.py +0 -0
  275. {camel_ai-0.2.60/camel/runtime → camel_ai-0.2.62/camel/runtimes}/__init__.py +0 -0
  276. {camel_ai-0.2.60/camel/runtime → camel_ai-0.2.62/camel/runtimes}/api.py +0 -0
  277. {camel_ai-0.2.60/camel/runtime → camel_ai-0.2.62/camel/runtimes}/base.py +0 -0
  278. {camel_ai-0.2.60/camel/runtime → camel_ai-0.2.62/camel/runtimes}/configs.py +0 -0
  279. {camel_ai-0.2.60/camel/runtime → camel_ai-0.2.62/camel/runtimes}/utils/__init__.py +0 -0
  280. {camel_ai-0.2.60/camel/runtime → camel_ai-0.2.62/camel/runtimes}/utils/function_risk_toolkit.py +0 -0
  281. {camel_ai-0.2.60/camel/runtime → camel_ai-0.2.62/camel/runtimes}/utils/ignore_risk_toolkit.py +0 -0
  282. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/schemas/__init__.py +0 -0
  283. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/schemas/base.py +0 -0
  284. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/schemas/openai_converter.py +0 -0
  285. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/schemas/outlines_converter.py +0 -0
  286. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/societies/__init__.py +0 -0
  287. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/societies/babyagi_playing.py +0 -0
  288. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/societies/role_playing.py +0 -0
  289. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/societies/workforce/__init__.py +0 -0
  290. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/societies/workforce/prompts.py +0 -0
  291. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/societies/workforce/role_playing_worker.py +0 -0
  292. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/societies/workforce/task_channel.py +0 -0
  293. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/societies/workforce/utils.py +0 -0
  294. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/graph_storages/__init__.py +0 -0
  295. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/graph_storages/base.py +0 -0
  296. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/graph_storages/graph_element.py +0 -0
  297. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/graph_storages/nebula_graph.py +0 -0
  298. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/graph_storages/neo4j_graph.py +0 -0
  299. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/key_value_storages/__init__.py +0 -0
  300. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/key_value_storages/base.py +0 -0
  301. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/key_value_storages/in_memory.py +0 -0
  302. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/key_value_storages/json.py +0 -0
  303. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/key_value_storages/mem0_cloud.py +0 -0
  304. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/key_value_storages/redis.py +0 -0
  305. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/object_storages/__init__.py +0 -0
  306. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/object_storages/amazon_s3.py +0 -0
  307. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/object_storages/azure_blob.py +0 -0
  308. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/object_storages/base.py +0 -0
  309. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/object_storages/google_cloud.py +0 -0
  310. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/vectordb_storages/base.py +0 -0
  311. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/vectordb_storages/milvus.py +0 -0
  312. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/vectordb_storages/oceanbase.py +0 -0
  313. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/vectordb_storages/qdrant.py +0 -0
  314. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/vectordb_storages/tidb.py +0 -0
  315. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/tasks/__init__.py +0 -0
  316. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/tasks/task.py +0 -0
  317. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/tasks/task_prompt.py +0 -0
  318. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/terminators/__init__.py +0 -0
  319. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/terminators/base.py +0 -0
  320. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/terminators/response_terminator.py +0 -0
  321. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/terminators/token_limit_terminator.py +0 -0
  322. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/aci_toolkit.py +0 -0
  323. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/arxiv_toolkit.py +0 -0
  324. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/ask_news_toolkit.py +0 -0
  325. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/audio_analysis_toolkit.py +0 -0
  326. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/base.py +0 -0
  327. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/code_execution.py +0 -0
  328. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/dalle_toolkit.py +0 -0
  329. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/dappier_toolkit.py +0 -0
  330. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/data_commons_toolkit.py +0 -0
  331. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/excel_toolkit.py +0 -0
  332. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/function_tool.py +0 -0
  333. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/github_toolkit.py +0 -0
  334. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/google_calendar_toolkit.py +0 -0
  335. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/google_maps_toolkit.py +0 -0
  336. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/google_scholar_toolkit.py +0 -0
  337. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/human_toolkit.py +0 -0
  338. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/image_analysis_toolkit.py +0 -0
  339. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/jina_reranker_toolkit.py +0 -0
  340. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/klavis_toolkit.py +0 -0
  341. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/linkedin_toolkit.py +0 -0
  342. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/math_toolkit.py +0 -0
  343. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/memory_toolkit.py +0 -0
  344. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/meshy_toolkit.py +0 -0
  345. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/mineru_toolkit.py +0 -0
  346. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/networkx_toolkit.py +0 -0
  347. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/notion_toolkit.py +0 -0
  348. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/biztoc/__init__.py +0 -0
  349. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/biztoc/ai-plugin.json +0 -0
  350. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/biztoc/openapi.yaml +0 -0
  351. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/coursera/__init__.py +0 -0
  352. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/coursera/openapi.yaml +0 -0
  353. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/create_qr_code/__init__.py +0 -0
  354. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/create_qr_code/openapi.yaml +0 -0
  355. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/klarna/__init__.py +0 -0
  356. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/klarna/openapi.yaml +0 -0
  357. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/nasa_apod/__init__.py +0 -0
  358. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/nasa_apod/openapi.yaml +0 -0
  359. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/outschool/__init__.py +0 -0
  360. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/outschool/ai-plugin.json +0 -0
  361. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/outschool/openapi.yaml +0 -0
  362. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/outschool/paths/__init__.py +0 -0
  363. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/outschool/paths/get_classes.py +0 -0
  364. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/outschool/paths/search_teachers.py +0 -0
  365. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/security_config.py +0 -0
  366. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/speak/__init__.py +0 -0
  367. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/speak/openapi.yaml +0 -0
  368. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/web_scraper/__init__.py +0 -0
  369. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/web_scraper/ai-plugin.json +0 -0
  370. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/web_scraper/openapi.yaml +0 -0
  371. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/web_scraper/paths/__init__.py +0 -0
  372. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/web_scraper/paths/scraper.py +0 -0
  373. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_toolkit.py +0 -0
  374. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/openai_agent_toolkit.py +0 -0
  375. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/openbb_toolkit.py +0 -0
  376. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/page_script.js +0 -0
  377. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/playwright_mcp_toolkit.py +0 -0
  378. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/pubmed_toolkit.py +0 -0
  379. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/pulse_mcp_search_toolkit.py +0 -0
  380. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/pyautogui_toolkit.py +0 -0
  381. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/reddit_toolkit.py +0 -0
  382. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/retrieval_toolkit.py +0 -0
  383. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/search_toolkit.py +0 -0
  384. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/searxng_toolkit.py +0 -0
  385. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/semantic_scholar_toolkit.py +0 -0
  386. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/slack_toolkit.py +0 -0
  387. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/stripe_toolkit.py +0 -0
  388. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/sympy_toolkit.py +0 -0
  389. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/terminal_toolkit.py +0 -0
  390. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/thinking_toolkit.py +0 -0
  391. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/twitter_toolkit.py +0 -0
  392. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/video_analysis_toolkit.py +0 -0
  393. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/video_download_toolkit.py +0 -0
  394. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/weather_toolkit.py +0 -0
  395. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/whatsapp_toolkit.py +0 -0
  396. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/zapier_toolkit.py +0 -0
  397. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/types/__init__.py +0 -0
  398. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/types/agents/__init__.py +0 -0
  399. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/types/agents/tool_calling_record.py +0 -0
  400. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/types/mcp_registries.py +0 -0
  401. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/types/openai_types.py +0 -0
  402. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/types/unified_model_type.py +0 -0
  403. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/utils/async_func.py +0 -0
  404. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/utils/chunker/__init__.py +0 -0
  405. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/utils/chunker/base.py +0 -0
  406. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/utils/chunker/code_chunker.py +0 -0
  407. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/utils/chunker/uio_chunker.py +0 -0
  408. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/utils/constants.py +0 -0
  409. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/utils/deduplication.py +0 -0
  410. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/utils/filename.py +0 -0
  411. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/utils/mcp.py +0 -0
  412. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/utils/response_format.py +0 -0
  413. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/utils/token_counting.py +0 -0
  414. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/verifiers/__init__.py +0 -0
  415. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/verifiers/base.py +0 -0
  416. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/verifiers/math_verifier.py +0 -0
  417. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/verifiers/models.py +0 -0
  418. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/verifiers/physics_verifier.py +0 -0
  419. {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/verifiers/python_verifier.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: camel-ai
3
- Version: 0.2.60
3
+ Version: 0.2.62
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
@@ -32,6 +32,7 @@ Requires-Dist: arxiv<3,>=2.1.3; extra == 'all'
32
32
  Requires-Dist: azure-storage-blob<13,>=12.21.0; extra == 'all'
33
33
  Requires-Dist: beautifulsoup4<5,>=4; extra == 'all'
34
34
  Requires-Dist: botocore<2,>=1.35.3; extra == 'all'
35
+ Requires-Dist: chunkr-ai>=0.0.50; extra == 'all'
35
36
  Requires-Dist: cohere<6,>=5.11.0; extra == 'all'
36
37
  Requires-Dist: crawl4ai>=0.3.745; extra == 'all'
37
38
  Requires-Dist: dappier<0.4,>=0.3.3; extra == 'all'
@@ -47,6 +48,7 @@ Requires-Dist: docx>=0.2.4; extra == 'all'
47
48
  Requires-Dist: duckduckgo-search<7,>=6.3.5; extra == 'all'
48
49
  Requires-Dist: e2b-code-interpreter<2,>=1.0.3; extra == 'all'
49
50
  Requires-Dist: exa-py<2,>=1.10.0; extra == 'all'
51
+ Requires-Dist: faiss-cpu<2,>=1.7.2; extra == 'all'
50
52
  Requires-Dist: fastapi>=0.115.11; extra == 'all'
51
53
  Requires-Dist: ffmpeg-python<0.3,>=0.2.0; extra == 'all'
52
54
  Requires-Dist: firecrawl-py<2,>=1.0.0; extra == 'all'
@@ -92,6 +94,7 @@ Requires-Dist: pre-commit<4,>=3; extra == 'all'
92
94
  Requires-Dist: pyautogui<0.10,>=0.9.54; extra == 'all'
93
95
  Requires-Dist: pydub<0.26,>=0.25.1; extra == 'all'
94
96
  Requires-Dist: pygithub<3,>=2.6.0; extra == 'all'
97
+ Requires-Dist: pylatex>=1.4.2; extra == 'all'
95
98
  Requires-Dist: pymilvus<3,>=2.4.0; extra == 'all'
96
99
  Requires-Dist: pymupdf<2,>=1.22.5; extra == 'all'
97
100
  Requires-Dist: pyobvector>=0.1.18; extra == 'all'
@@ -100,6 +103,7 @@ Requires-Dist: pytelegrambotapi<5,>=4.18.0; extra == 'all'
100
103
  Requires-Dist: pytest-asyncio<0.24,>=0.23.0; extra == 'all'
101
104
  Requires-Dist: pytest-cov<5,>=4; extra == 'all'
102
105
  Requires-Dist: pytest<8,>=7; extra == 'all'
106
+ Requires-Dist: python-pptx>=1.0.2; extra == 'all'
103
107
  Requires-Dist: pytidb-experimental==0.0.1.dev4; extra == 'all'
104
108
  Requires-Dist: qdrant-client<2,>=1.9.0; extra == 'all'
105
109
  Requires-Dist: rank-bm25<0.3,>=0.2.2; extra == 'all'
@@ -193,6 +197,7 @@ Requires-Dist: sphinx<8,>=7; extra == 'docs'
193
197
  Requires-Dist: sphinxext-rediraffe<0.3,>=0.2.7; extra == 'docs'
194
198
  Provides-Extra: document-tools
195
199
  Requires-Dist: beautifulsoup4<5,>=4; extra == 'document-tools'
200
+ Requires-Dist: chunkr-ai>=0.0.50; extra == 'document-tools'
196
201
  Requires-Dist: crawl4ai>=0.3.745; extra == 'document-tools'
197
202
  Requires-Dist: docx2txt<0.9,>=0.8; extra == 'document-tools'
198
203
  Requires-Dist: docx>=0.2.4; extra == 'document-tools'
@@ -203,7 +208,9 @@ Requires-Dist: openapi-spec-validator<0.8,>=0.7.1; extra == 'document-tools'
203
208
  Requires-Dist: openpyxl>=3.1.5; extra == 'document-tools'
204
209
  Requires-Dist: pandasai<3,>=2.3.0; extra == 'document-tools'
205
210
  Requires-Dist: prance<24,>=23.6.21.0; extra == 'document-tools'
211
+ Requires-Dist: pylatex>=1.4.2; extra == 'document-tools'
206
212
  Requires-Dist: pymupdf<2,>=1.22.5; extra == 'document-tools'
213
+ Requires-Dist: python-pptx>=1.0.2; extra == 'document-tools'
207
214
  Requires-Dist: tabulate>=0.9.0; extra == 'document-tools'
208
215
  Requires-Dist: unstructured==0.16.20; extra == 'document-tools'
209
216
  Requires-Dist: xls2xlsx>=0.2.0; extra == 'document-tools'
@@ -235,6 +242,7 @@ Requires-Dist: aci-sdk>=1.0.0b1; extra == 'owl'
235
242
  Requires-Dist: anthropic<0.50.0,>=0.47.0; extra == 'owl'
236
243
  Requires-Dist: beautifulsoup4<5,>=4; extra == 'owl'
237
244
  Requires-Dist: chunkr-ai>=0.0.41; extra == 'owl'
245
+ Requires-Dist: chunkr-ai>=0.0.50; extra == 'owl'
238
246
  Requires-Dist: crawl4ai>=0.3.745; extra == 'owl'
239
247
  Requires-Dist: datasets<4,>=3; extra == 'owl'
240
248
  Requires-Dist: docx2txt<0.9,>=0.8; extra == 'owl'
@@ -259,8 +267,10 @@ Requires-Dist: playwright>=1.50.0; extra == 'owl'
259
267
  Requires-Dist: prance<24,>=23.6.21.0; extra == 'owl'
260
268
  Requires-Dist: pyautogui<0.10,>=0.9.54; extra == 'owl'
261
269
  Requires-Dist: pydub<0.26,>=0.25.1; extra == 'owl'
270
+ Requires-Dist: pylatex>=1.4.2; extra == 'owl'
262
271
  Requires-Dist: pymupdf<2,>=1.22.5; extra == 'owl'
263
272
  Requires-Dist: python-dotenv<2,>=1.0.0; extra == 'owl'
273
+ Requires-Dist: python-pptx>=1.0.2; extra == 'owl'
264
274
  Requires-Dist: requests-oauthlib<2,>=1.3.1; extra == 'owl'
265
275
  Requires-Dist: rouge<2,>=1.0.1; extra == 'owl'
266
276
  Requires-Dist: scenedetect>=0.6.5.2; extra == 'owl'
@@ -277,8 +287,10 @@ Requires-Dist: wikipedia<2,>=1; extra == 'owl'
277
287
  Requires-Dist: xls2xlsx>=0.2.0; extra == 'owl'
278
288
  Requires-Dist: yt-dlp<2025,>=2024.11.4; extra == 'owl'
279
289
  Provides-Extra: rag
290
+ Requires-Dist: chunkr-ai>=0.0.50; extra == 'rag'
280
291
  Requires-Dist: cohere<6,>=5.11.0; extra == 'rag'
281
292
  Requires-Dist: crawl4ai>=0.3.745; extra == 'rag'
293
+ Requires-Dist: faiss-cpu<2,>=1.7.2; extra == 'rag'
282
294
  Requires-Dist: google-genai>=1.13.0; extra == 'rag'
283
295
  Requires-Dist: nebula3-python==3.8.2; extra == 'rag'
284
296
  Requires-Dist: neo4j<6,>=5.18.0; extra == 'rag'
@@ -298,6 +310,7 @@ Requires-Dist: scholarly[tor]==1.7.11; extra == 'research-tools'
298
310
  Provides-Extra: storage
299
311
  Requires-Dist: azure-storage-blob<13,>=12.21.0; extra == 'storage'
300
312
  Requires-Dist: botocore<2,>=1.35.3; extra == 'storage'
313
+ Requires-Dist: faiss-cpu<2,>=1.7.2; extra == 'storage'
301
314
  Requires-Dist: google-cloud-storage<3,>=2.18.0; extra == 'storage'
302
315
  Requires-Dist: mem0ai>=0.1.73; extra == 'storage'
303
316
  Requires-Dist: nebula3-python==3.8.2; extra == 'storage'
@@ -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.60'
17
+ __version__ = '0.2.62'
18
18
 
19
19
  __all__ = [
20
20
  '__version__',
@@ -75,7 +75,10 @@ from camel.types import (
75
75
  RoleType,
76
76
  )
77
77
  from camel.types.agents import ToolCallingRecord
78
- from camel.utils import get_model_encoding
78
+ from camel.utils import (
79
+ get_model_encoding,
80
+ model_from_json_schema,
81
+ )
79
82
 
80
83
  if TYPE_CHECKING:
81
84
  from camel.terminators import ResponseTerminator
@@ -163,6 +166,7 @@ class ChatAgent(BaseAgent):
163
166
  model: Optional[
164
167
  Union[
165
168
  BaseModelBackend,
169
+ ModelManager,
166
170
  Tuple[str, str],
167
171
  str,
168
172
  ModelType,
@@ -188,16 +192,19 @@ class ChatAgent(BaseAgent):
188
192
  agent_id: Optional[str] = None,
189
193
  stop_event: Optional[threading.Event] = None,
190
194
  ) -> None:
191
- # Resolve model backends and set up model manager
192
- resolved_models = self._resolve_models(model)
193
- self.model_backend = ModelManager(
194
- resolved_models,
195
- scheduling_strategy=scheduling_strategy,
196
- )
195
+ if isinstance(model, ModelManager):
196
+ self.model_backend = model
197
+ else:
198
+ # Resolve model backends and set up model manager
199
+ resolved_models = self._resolve_models(model)
200
+ self.model_backend = ModelManager(
201
+ resolved_models,
202
+ scheduling_strategy=scheduling_strategy,
203
+ )
197
204
  self.model_type = self.model_backend.model_type
198
205
 
199
206
  # Assign unique ID
200
- self.agent_id = agent_id if agent_id else str(uuid.uuid4())
207
+ self.agent_id = agent_id if agent_id else str(uuid.uuid4())[:6]
201
208
 
202
209
  # Set up memory
203
210
  context_creator = ScoreBasedContextCreator(
@@ -1706,3 +1713,147 @@ class ChatAgent(BaseAgent):
1706
1713
  return (
1707
1714
  f"ChatAgent({self.role_name}, {self.role_type}, {self.model_type})"
1708
1715
  )
1716
+
1717
+ def to_mcp(
1718
+ self,
1719
+ name: str = "CAMEL-ChatAgent",
1720
+ description: str = "A helpful assistant using the CAMEL AI framework.",
1721
+ dependencies: Optional[List[str]] = None,
1722
+ host: str = "localhost",
1723
+ port: int = 8000,
1724
+ ):
1725
+ r"""Expose this ChatAgent as an MCP server.
1726
+
1727
+ Args:
1728
+ name (str): Name of the MCP server.
1729
+ (default: :obj:`CAMEL-ChatAgent`)
1730
+ description (Optional[List[str]]): Description of the agent. If
1731
+ None, a generic description is used. (default: :obj:`A helpful
1732
+ assistant using the CAMEL AI framework.`)
1733
+ dependencies (Optional[List[str]]): Additional
1734
+ dependencies for the MCP server. (default: :obj:`None`)
1735
+ host (str): Host to bind to for HTTP transport.
1736
+ (default: :obj:`localhost`)
1737
+ port (int): Port to bind to for HTTP transport.
1738
+ (default: :obj:`8000`)
1739
+
1740
+ Returns:
1741
+ FastMCP: An MCP server instance that can be run.
1742
+ """
1743
+ try:
1744
+ from mcp.server.fastmcp import FastMCP
1745
+ except ImportError:
1746
+ raise ImportError(
1747
+ "The 'mcp' package is required to use the to_mcp method. "
1748
+ "Install it with 'pip install mcp'."
1749
+ )
1750
+
1751
+ # Combine dependencies
1752
+ all_dependencies = ["camel-ai[all]"]
1753
+ if dependencies:
1754
+ all_dependencies.extend(dependencies)
1755
+
1756
+ mcp_server = FastMCP(
1757
+ name,
1758
+ dependencies=all_dependencies,
1759
+ host=host,
1760
+ port=port,
1761
+ )
1762
+
1763
+ # Store agent reference
1764
+ agent_instance = self
1765
+
1766
+ # Define functions first
1767
+ async def step(message, response_format=None):
1768
+ r"""Execute a single step in the chat session with the agent."""
1769
+ format_cls = None
1770
+ if response_format:
1771
+ format_cls = model_from_json_schema(
1772
+ "DynamicResponseFormat", response_format
1773
+ )
1774
+ response = await agent_instance.astep(message, format_cls)
1775
+ return {
1776
+ "status": "success",
1777
+ "messages": [msg.to_dict() for msg in response.msgs],
1778
+ "terminated": response.terminated,
1779
+ "info": response.info,
1780
+ }
1781
+
1782
+ # Reset tool
1783
+ def reset():
1784
+ r"""Reset the chat agent to its initial state."""
1785
+ agent_instance.reset()
1786
+ return {"status": "success", "message": "Agent reset successfully"}
1787
+
1788
+ # Set language tool
1789
+ def set_output_language(language):
1790
+ r"""Set the output language for the chat agent."""
1791
+ agent_instance.output_language = language
1792
+ return {
1793
+ "status": "success",
1794
+ "message": f"Output language set to '{language}'",
1795
+ }
1796
+
1797
+ # Agent info resource and tool
1798
+ def get_agent_info():
1799
+ r"""Get information about the agent."""
1800
+ info = {
1801
+ "agent_id": agent_instance.agent_id,
1802
+ "model_type": str(agent_instance.model_type),
1803
+ "role_name": agent_instance.role_name,
1804
+ "role_type": str(agent_instance.role_type),
1805
+ "output_language": agent_instance.output_language or "None",
1806
+ "description": description,
1807
+ }
1808
+ return info
1809
+
1810
+ # Chat history resource and tool
1811
+ def get_chat_history():
1812
+ r"""Get the chat history for the agent."""
1813
+ # Convert messages to simple serializable format
1814
+ messages = []
1815
+ for msg in agent_instance.chat_history:
1816
+ # Create a simplified version of each message
1817
+ msg_dict = {
1818
+ "role": msg.get("role", ""),
1819
+ "content": msg.get("content", ""),
1820
+ }
1821
+ # Include function calls if present
1822
+ if "function_call" in msg:
1823
+ msg_dict["function_call"] = {
1824
+ "name": msg["function_call"].get("name", ""),
1825
+ "arguments": msg["function_call"].get("arguments", ""),
1826
+ }
1827
+ messages.append(msg_dict)
1828
+ return messages
1829
+
1830
+ # Available tools resource and tool
1831
+ def get_available_tools():
1832
+ r"""Get a list of available internal tools."""
1833
+ tool_info = {}
1834
+ for name, tool in agent_instance.tool_dict.items():
1835
+ tool_info[name] = {
1836
+ "name": name,
1837
+ "description": tool.get_function_description() or "",
1838
+ "parameters": [
1839
+ {"name": param_name, "type": str(param_type)}
1840
+ for param_name, param_type in tool.get_parameters().items() # noqa: E501
1841
+ ],
1842
+ }
1843
+ return tool_info
1844
+
1845
+ # Now register everything using decorators
1846
+ mcp_server.tool()(step)
1847
+ mcp_server.tool()(reset)
1848
+ mcp_server.tool()(set_output_language)
1849
+
1850
+ mcp_server.resource("agent://")(get_agent_info)
1851
+ mcp_server.tool()(get_agent_info)
1852
+
1853
+ mcp_server.resource("history://")(get_chat_history)
1854
+ mcp_server.tool()(get_chat_history)
1855
+
1856
+ mcp_server.resource("tools://")(get_available_tools)
1857
+ mcp_server.tool()(get_available_tools)
1858
+
1859
+ return mcp_server
@@ -191,7 +191,7 @@ class MCPAgent(ChatAgent):
191
191
  self.mcp_toolkit = self._initialize_mcp_toolkit()
192
192
 
193
193
  # If already connected, reconnect to apply changes
194
- if self.mcp_toolkit and self.mcp_toolkit.is_connected():
194
+ if self.mcp_toolkit and self.mcp_toolkit.is_connected:
195
195
  try:
196
196
  asyncio.run(self.disconnect())
197
197
  asyncio.run(self.connect())
@@ -325,7 +325,7 @@ class MCPAgent(ChatAgent):
325
325
  Returns:
326
326
  ChatAgentResponse: The response from the agent.
327
327
  """
328
- if self.mcp_toolkit and not self.mcp_toolkit.is_connected():
328
+ if self.mcp_toolkit and not self.mcp_toolkit.is_connected:
329
329
  await self.connect()
330
330
 
331
331
  if self.function_calling_available:
@@ -378,14 +378,14 @@ class MCPAgent(ChatAgent):
378
378
  if (
379
379
  not isinstance(server_idx, int)
380
380
  or server_idx < 0
381
- or server_idx >= len(self.mcp_toolkit.servers)
381
+ or server_idx >= len(self.mcp_toolkit.clients)
382
382
  ):
383
383
  logger.warning(
384
384
  f"Invalid server index: {server_idx}"
385
385
  )
386
386
  continue
387
387
 
388
- server = self.mcp_toolkit.servers[server_idx]
388
+ server = self.mcp_toolkit.clients[server_idx]
389
389
  result = await server.call_tool(tool_name, tool_args)
390
390
 
391
391
  # Safely access content
@@ -431,7 +431,7 @@ class MCPAgent(ChatAgent):
431
431
  # Use create_task and run with a future
432
432
  coro = self.astep(input_message, *args, **kwargs)
433
433
  future = asyncio.ensure_future(coro)
434
- return asyncio.run_coroutine_threadsafe(future, loop).result()
434
+ return asyncio.run_coroutine_threadsafe(future, loop).result() # type: ignore [arg-type]
435
435
  else:
436
436
  # Safe to run normally
437
437
  return asyncio.run(self.astep(input_message, *args, **kwargs))
@@ -56,14 +56,14 @@ class AnthropicConfig(BaseConfig):
56
56
  metadata about the request. Can include user_id as an external
57
57
  identifier for the user associated with the request.
58
58
  (default: :obj:`None`)
59
- thinking (dict, optional): Configuration for enabling
60
- Claude's extended thinking. When enabled, responses include
61
- thinking content blocks showing Claude's thinking process.
62
- (default: :obj:`None`)
63
59
  tool_choice (dict, optional): How the model should
64
60
  use the provided tools. The model can use a specific tool, any
65
61
  available tool, decide by itself, or not use tools at all.
66
62
  (default: :obj:`None`)
63
+ extra_headers (Optional[dict], optional): Additional headers for the
64
+ request. (default: :obj:`None`)
65
+ extra_body (dict, optional): Extra body parameters to be passed to
66
+ the Anthropic API.
67
67
  """
68
68
 
69
69
  max_tokens: Optional[int] = None
@@ -73,8 +73,9 @@ class AnthropicConfig(BaseConfig):
73
73
  top_k: Optional[int] = None
74
74
  stream: Optional[bool] = None
75
75
  metadata: Optional[dict] = None
76
- thinking: Optional[dict] = None
77
76
  tool_choice: Optional[dict] = None
77
+ extra_headers: Optional[dict] = None
78
+ extra_body: Optional[dict] = None
78
79
 
79
80
 
80
81
  ANTHROPIC_API_PARAMS = {param for param in AnthropicConfig.model_fields.keys()}
@@ -17,7 +17,7 @@ from typing import Any, Dict, List, Optional, Union
17
17
  from typing_extensions import Self
18
18
 
19
19
  from camel.agents import ChatAgent
20
- from camel.data_collector.base import BaseDataCollector
20
+ from camel.data_collectors.base import BaseDataCollector
21
21
  from camel.messages import AlpacaItem, BaseMessage
22
22
  from camel.schemas import OpenAISchemaConverter
23
23
 
@@ -19,7 +19,7 @@ from pydantic import BaseModel
19
19
  from typing_extensions import Self
20
20
 
21
21
  from camel.agents import ChatAgent
22
- from camel.data_collector.base import BaseDataCollector
22
+ from camel.data_collectors.base import BaseDataCollector
23
23
  from camel.messages import BaseMessage
24
24
  from camel.messages.conversion.conversation_models import (
25
25
  ShareGPTConversation,
@@ -38,24 +38,27 @@ class BaseScorer(ABC):
38
38
 
39
39
  class MathScorer(BaseScorer):
40
40
  def __init__(self, agent: Optional[ChatAgent] = None):
41
- self.system_msg = (
42
- "You are an evaluator for math problems. Your task is to compare "
43
- "a new math problem against a reference math problem, and rate it "
44
- "in **four dimensions**, each scored from 1 to 5.\n\n"
45
- "1. Diversity (1-5): How novel is the new problem compared to the "
46
- "reference? 1 = very similar, 5 = completely different.\n"
47
- "2. Difficulty (1-5): Rate the relative difficulty compared to the"
48
- " reference problem. 1 = much less difficult, "
49
- "3 = similar difficulty, 5 = much more difficult.\n"
50
- "3. Validity (1-5): How well-defined and sound is the problem?"
51
- "1 = very vague or flawed, 5 = very clear and rigorous.\n"
52
- "4. Solvability (1-5): How likely is the problem solvable using "
53
- "standard math techniques? 1 = very unsolvable or ambiguous, "
54
- "5 = very clearly solvable.\n\n"
55
- "Respond with a JSON object like: "
56
- "{ \"diversity\": ..., \"difficulty\": ..., "
57
- "\"validity\": ..., \"solvability\": ... }"
58
- )
41
+ self.system_msg = """
42
+ You are an evaluator for math problems. Your task is to compare a new math
43
+ problem against a reference math problem by trying to solve it, and rate it
44
+ in **three dimensions**.
45
+
46
+ 1. Diversity (1-5): How novel is the new problem compared to the
47
+ reference? 1 = almost the same, 5 = completely different.
48
+
49
+ 2. Difficulty (1-10): Rate the relative difficulty compared to the reference
50
+ problem. 1 = much less difficult, 5 = similar difficulty, 10 = much more
51
+ difficult. The difficulty should be based on the complexity of reasoning—i.e.,
52
+ problems that require multi-step reasoning or clever methods to solve.
53
+
54
+ 3. Solvability (1-10): How likely is the problem solvable using standard math
55
+ techniques and only contain one question that could be answered by a number or
56
+ a formula? 1 = very unsolvable or ambiguous, 10 = solvable and could be
57
+ answered by a number or a formula.
58
+
59
+ Respond with a JSON object like:
60
+ { "solution": ..., "diversity": ..., "difficulty": ..., "solvability": ... }
61
+ """
59
62
  self.agent = agent or ChatAgent(self.system_msg)
60
63
 
61
64
  class MathScoreSchema(BaseModel):
@@ -69,10 +72,6 @@ class MathScorer(BaseScorer):
69
72
  difficulty: int = Field(
70
73
  ..., description="Score for the relative difficulty"
71
74
  )
72
- validity: int = Field(
73
- ...,
74
- description="Score for how well-defined and sound the problem is",
75
- )
76
75
  solvability: int = Field(
77
76
  ...,
78
77
  description="Score for the solvability of the problem",
@@ -95,7 +94,7 @@ class MathScorer(BaseScorer):
95
94
  query = (
96
95
  f"Reference problem:\n{reference_problem}\n\n"
97
96
  f"New problem:\n{new_problem}\n\n"
98
- "Provide scores in JSON format."
97
+ "Try to solve the new problem. Then provide scores in JSON format."
99
98
  )
100
99
  response = self.agent.step(query, response_format=self.MathScoreSchema)
101
100
  score_data = json.loads(response.msg.content)
@@ -208,54 +208,54 @@ class MathEvolInstructTemplates(BaseEvolInstructTemplates):
208
208
  r"""Contains templates for MathEvolInstruct prompt transformations."""
209
209
 
210
210
  # Meta-instructions for in-depth evolving
211
- INST_IN_DEPTH = (
212
- "Please act as a math expert. Your objective is to create a new math "
213
- "problem that is more challenging yet concise than the given math "
214
- "problem. Ensure that the mathematical content (including any "
215
- "equations or figures) is preserved, and rephrase the problem to "
216
- "increase its complexity and depth. The generated problem should be "
217
- "clearly stated, strictly mathematical, and suitable for solving with "
218
- "symbolic computation (e.g., using sympy). You will be given a method "
219
- "to guide your creation. Make sure to follow the method strictly. "
220
- "Consolidate any multiple parts into one integrated question that "
221
- "ask for one definitive answer. Respond with your generated problem "
222
- "directly. "
223
- "#Original Problem#:\n{prompt}\n"
224
- "#Generated Problem#:\n"
225
- ).lstrip()
211
+ INST_IN_DEPTH = """
212
+ Please act as a math expert. Your objective is to create a new math problem
213
+ that is more challenging yet concise than the given math problem. Modify the
214
+ problem to increase its complexity and depth. The generated problem should be
215
+ clearly stated, strictly mathematical, and suitable for solving with symbolic
216
+ computation (e.g., using sympy). You will be given a method to guide your
217
+ creation. Make sure to follow the method strictly. Consolidate any multiple
218
+ parts into one integrated question that ask for one definitive answer. Do not
219
+ include multiple-choice, true/false, or proof-based questions. The final
220
+ answer should be a number or a formula. Respond with your generated problem
221
+ directly. The difficulty should be based on the complexity of reasoning—i.e.,
222
+ problems that require multi-step reasoning or clever methods to solve. The
223
+ challenge of a problem should not stem purely from computational complexity;
224
+ while complex calculations may be involved, a problem should not be considered
225
+ difficult solely because lengthy computations increase solving time.
226
+ #Original Problem#:
227
+ {prompt}
228
+ #Generated Problem#:
229
+ """
226
230
 
227
231
  EVOL_METHODS = {
228
- "constraints": (
229
- "Add one or more significant constraints or requirements into the "
230
- "'#Given Prompt#'. The added constraints must meaningfully alter "
231
- "how the model would respond. For example, specify additional "
232
- "rules, contexts, or limitations that demand creative adjustments."
233
- ),
234
- "deepening": (
235
- "Increase the difficulty of the #Given Prompt# by integrating "
236
- "additional layers of reasoning and rigor. Refine the problem so "
237
- "that all added difficulty is consolidated into a single coherent "
238
- "question requiring one final answer, avoiding fragmentation into "
239
- "multiple sub-problems."
240
- ),
241
- "expansion": (
242
- "Expand the #Given Prompt# by incorporating additional "
243
- "perspectives or layers of complexity into the problem statement. "
244
- "Ensure that the revised problem remains a single, unified "
245
- "question with one final answer, rather than a series of separate "
246
- "sub-questions."
247
- ),
248
- "condense": (
249
- "Reformulate the given math problem into a well-structured and "
250
- "formally stated mathematical question.\n"
251
- "- Present the problem in a structured and rigorous mathematical "
252
- "format.\n"
253
- "- Removing unnecessary instructions, explanations, or hints.\n"
254
- "- If the given problem contains several sub-questions, make "
255
- "necessary changes to let the problem could be answered with one "
256
- "number or expression by removing the sub-questions or combining "
257
- "them into one."
258
- ),
232
+ "constraints": """
233
+ Add one or more significant constraints or requirements into the
234
+ '#Given Prompt#'. The added constraints must meaningfully alter how the model
235
+ would respond. For example, specify additional rules, contexts, or limitations
236
+ that demand creative adjustments. This method should make the problem more
237
+ challenging in the reasoning and the solution of it should be clever and
238
+ elegant.
239
+ """,
240
+ "deepening": """
241
+ Increase the difficulty of the #Given Prompt# by integrating additional layers
242
+ of reasoning and rigor. Refine the problem so that all added difficulty is
243
+ consolidated into a single coherent question requiring one final answer,
244
+ avoiding fragmentation into multiple sub-problems.
245
+ """,
246
+ "expansion": """
247
+ Expand the #Given Prompt# by incorporating additional perspectives or layers
248
+ of complexity into the problem statement. Ensure that the revised problem
249
+ remains a single, unified question with one final answer, rather than a
250
+ series of separate sub-questions.
251
+ """,
252
+ "condense": """
253
+ Reformulate the given math problem into a well-structured and formally stated
254
+ mathematical question. Remove unnecessary instructions, explanations, or hints.
255
+ If the given problem contains several sub-questions, make necessary changes
256
+ to let the problem could be answered with one number or one expression by
257
+ removing the sub-questions or combining them into one.
258
+ """,
259
259
  }
260
260
 
261
261
  IN_DEPTH_KEYS = ['constraints', 'deepening', 'expansion']