camel-ai 0.2.50__tar.gz → 0.2.51__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 (399) hide show
  1. {camel_ai-0.2.50 → camel_ai-0.2.51}/PKG-INFO +1 -1
  2. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/__init__.py +1 -1
  3. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/environments/single_step.py +79 -11
  4. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/azure_openai_model.py +27 -9
  5. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/ollama_model.py +15 -10
  6. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/vllm_model.py +15 -9
  7. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/types/enums.py +3 -0
  8. {camel_ai-0.2.50 → camel_ai-0.2.51}/pyproject.toml +1 -1
  9. {camel_ai-0.2.50 → camel_ai-0.2.51}/.gitignore +0 -0
  10. {camel_ai-0.2.50 → camel_ai-0.2.51}/LICENSE +0 -0
  11. {camel_ai-0.2.50 → camel_ai-0.2.51}/README.md +0 -0
  12. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/agents/__init__.py +0 -0
  13. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/agents/_types.py +0 -0
  14. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/agents/_utils.py +0 -0
  15. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/agents/base.py +0 -0
  16. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/agents/chat_agent.py +0 -0
  17. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/agents/critic_agent.py +0 -0
  18. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/agents/deductive_reasoner_agent.py +0 -0
  19. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/agents/embodied_agent.py +0 -0
  20. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/agents/knowledge_graph_agent.py +0 -0
  21. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/agents/multi_hop_generator_agent.py +0 -0
  22. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/agents/programmed_agent_instruction.py +0 -0
  23. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/agents/repo_agent.py +0 -0
  24. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/agents/role_assignment_agent.py +0 -0
  25. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/agents/search_agent.py +0 -0
  26. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/agents/task_agent.py +0 -0
  27. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/agents/tool_agents/__init__.py +0 -0
  28. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/agents/tool_agents/base.py +0 -0
  29. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/agents/tool_agents/hugging_face_tool_agent.py +0 -0
  30. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/benchmarks/__init__.py +0 -0
  31. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/benchmarks/apibank.py +0 -0
  32. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/benchmarks/apibench.py +0 -0
  33. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/benchmarks/base.py +0 -0
  34. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/benchmarks/gaia.py +0 -0
  35. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/benchmarks/nexus.py +0 -0
  36. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/benchmarks/ragbench.py +0 -0
  37. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/bots/__init__.py +0 -0
  38. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/bots/discord/__init__.py +0 -0
  39. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/bots/discord/discord_app.py +0 -0
  40. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/bots/discord/discord_installation.py +0 -0
  41. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/bots/discord/discord_store.py +0 -0
  42. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/bots/slack/__init__.py +0 -0
  43. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/bots/slack/models.py +0 -0
  44. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/bots/slack/slack_app.py +0 -0
  45. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/bots/telegram_bot.py +0 -0
  46. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/configs/__init__.py +0 -0
  47. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/configs/aiml_config.py +0 -0
  48. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/configs/anthropic_config.py +0 -0
  49. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/configs/base_config.py +0 -0
  50. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/configs/bedrock_config.py +0 -0
  51. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/configs/cohere_config.py +0 -0
  52. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/configs/deepseek_config.py +0 -0
  53. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/configs/gemini_config.py +0 -0
  54. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/configs/groq_config.py +0 -0
  55. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/configs/internlm_config.py +0 -0
  56. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/configs/litellm_config.py +0 -0
  57. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/configs/lmstudio_config.py +0 -0
  58. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/configs/mistral_config.py +0 -0
  59. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/configs/modelscope_config.py +0 -0
  60. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/configs/moonshot_config.py +0 -0
  61. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/configs/netmind_config.py +0 -0
  62. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/configs/novita_config.py +0 -0
  63. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/configs/nvidia_config.py +0 -0
  64. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/configs/ollama_config.py +0 -0
  65. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/configs/openai_config.py +0 -0
  66. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/configs/openrouter_config.py +0 -0
  67. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/configs/ppio_config.py +0 -0
  68. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/configs/qwen_config.py +0 -0
  69. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/configs/reka_config.py +0 -0
  70. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/configs/samba_config.py +0 -0
  71. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/configs/sglang_config.py +0 -0
  72. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/configs/siliconflow_config.py +0 -0
  73. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/configs/togetherai_config.py +0 -0
  74. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/configs/vllm_config.py +0 -0
  75. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/configs/watsonx_config.py +0 -0
  76. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/configs/yi_config.py +0 -0
  77. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/configs/zhipuai_config.py +0 -0
  78. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/data_collector/__init__.py +0 -0
  79. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/data_collector/alpaca_collector.py +0 -0
  80. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/data_collector/base.py +0 -0
  81. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/data_collector/sharegpt_collector.py +0 -0
  82. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/datagen/__init__.py +0 -0
  83. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/datagen/cot_datagen.py +0 -0
  84. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/datagen/evol_instruct/__init__.py +0 -0
  85. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/datagen/evol_instruct/evol_instruct.py +0 -0
  86. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/datagen/evol_instruct/scorer.py +0 -0
  87. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/datagen/evol_instruct/templates.py +0 -0
  88. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/datagen/self_improving_cot.py +0 -0
  89. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/datagen/self_instruct/__init__.py +0 -0
  90. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/datagen/self_instruct/filter/__init__.py +0 -0
  91. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/datagen/self_instruct/filter/filter_function.py +0 -0
  92. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/datagen/self_instruct/filter/filter_registry.py +0 -0
  93. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/datagen/self_instruct/filter/instruction_filter.py +0 -0
  94. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/datagen/self_instruct/self_instruct.py +0 -0
  95. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/datagen/self_instruct/templates.py +0 -0
  96. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/datagen/source2synth/__init__.py +0 -0
  97. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/datagen/source2synth/data_processor.py +0 -0
  98. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/datagen/source2synth/models.py +0 -0
  99. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/datagen/source2synth/user_data_processor_config.py +0 -0
  100. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/datahubs/__init__.py +0 -0
  101. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/datahubs/base.py +0 -0
  102. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/datahubs/huggingface.py +0 -0
  103. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/datahubs/models.py +0 -0
  104. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/datasets/__init__.py +0 -0
  105. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/datasets/base_generator.py +0 -0
  106. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/datasets/few_shot_generator.py +0 -0
  107. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/datasets/models.py +0 -0
  108. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/datasets/self_instruct_generator.py +0 -0
  109. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/datasets/static_dataset.py +0 -0
  110. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/embeddings/__init__.py +0 -0
  111. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/embeddings/azure_embedding.py +0 -0
  112. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/embeddings/base.py +0 -0
  113. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/embeddings/jina_embedding.py +0 -0
  114. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/embeddings/mistral_embedding.py +0 -0
  115. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/embeddings/openai_compatible_embedding.py +0 -0
  116. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/embeddings/openai_embedding.py +0 -0
  117. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/embeddings/sentence_transformers_embeddings.py +0 -0
  118. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/embeddings/together_embedding.py +0 -0
  119. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/embeddings/vlm_embedding.py +0 -0
  120. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/environments/__init__.py +0 -0
  121. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/environments/models.py +0 -0
  122. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/environments/multi_step.py +0 -0
  123. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/environments/tic_tac_toe.py +0 -0
  124. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/extractors/__init__.py +0 -0
  125. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/extractors/base.py +0 -0
  126. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/extractors/python_strategies.py +0 -0
  127. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/generators.py +0 -0
  128. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/human.py +0 -0
  129. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/interpreters/__init__.py +0 -0
  130. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/interpreters/base.py +0 -0
  131. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/interpreters/docker/Dockerfile +0 -0
  132. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/interpreters/docker_interpreter.py +0 -0
  133. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/interpreters/e2b_interpreter.py +0 -0
  134. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/interpreters/internal_python_interpreter.py +0 -0
  135. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/interpreters/interpreter_error.py +0 -0
  136. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/interpreters/ipython_interpreter.py +0 -0
  137. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/interpreters/subprocess_interpreter.py +0 -0
  138. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/loaders/__init__.py +0 -0
  139. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/loaders/apify_reader.py +0 -0
  140. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/loaders/base_io.py +0 -0
  141. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/loaders/chunkr_reader.py +0 -0
  142. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/loaders/crawl4ai_reader.py +0 -0
  143. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/loaders/firecrawl_reader.py +0 -0
  144. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/loaders/jina_url_reader.py +0 -0
  145. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/loaders/mineru_extractor.py +0 -0
  146. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/loaders/pandas_reader.py +0 -0
  147. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/loaders/scrapegraph_reader.py +0 -0
  148. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/loaders/unstructured_io.py +0 -0
  149. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/logger.py +0 -0
  150. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/memories/__init__.py +0 -0
  151. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/memories/agent_memories.py +0 -0
  152. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/memories/base.py +0 -0
  153. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/memories/blocks/__init__.py +0 -0
  154. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/memories/blocks/chat_history_block.py +0 -0
  155. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/memories/blocks/vectordb_block.py +0 -0
  156. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/memories/context_creators/__init__.py +0 -0
  157. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/memories/context_creators/score_based.py +0 -0
  158. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/memories/records.py +0 -0
  159. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/messages/__init__.py +0 -0
  160. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/messages/base.py +0 -0
  161. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/messages/conversion/__init__.py +0 -0
  162. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/messages/conversion/alpaca.py +0 -0
  163. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/messages/conversion/conversation_models.py +0 -0
  164. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/messages/conversion/sharegpt/__init__.py +0 -0
  165. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/messages/conversion/sharegpt/function_call_formatter.py +0 -0
  166. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/messages/conversion/sharegpt/hermes/__init__.py +0 -0
  167. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/messages/conversion/sharegpt/hermes/hermes_function_formatter.py +0 -0
  168. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/messages/func_message.py +0 -0
  169. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/__init__.py +0 -0
  170. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/_utils.py +0 -0
  171. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/aiml_model.py +0 -0
  172. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/anthropic_model.py +0 -0
  173. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/aws_bedrock_model.py +0 -0
  174. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/base_audio_model.py +0 -0
  175. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/base_model.py +0 -0
  176. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/cohere_model.py +0 -0
  177. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/deepseek_model.py +0 -0
  178. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/fish_audio_model.py +0 -0
  179. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/gemini_model.py +0 -0
  180. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/groq_model.py +0 -0
  181. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/internlm_model.py +0 -0
  182. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/litellm_model.py +0 -0
  183. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/lmstudio_model.py +0 -0
  184. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/mistral_model.py +0 -0
  185. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/model_factory.py +0 -0
  186. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/model_manager.py +0 -0
  187. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/modelscope_model.py +0 -0
  188. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/moonshot_model.py +0 -0
  189. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/nemotron_model.py +0 -0
  190. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/netmind_model.py +0 -0
  191. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/novita_model.py +0 -0
  192. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/nvidia_model.py +0 -0
  193. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/openai_audio_models.py +0 -0
  194. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/openai_compatible_model.py +0 -0
  195. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/openai_model.py +0 -0
  196. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/openrouter_model.py +0 -0
  197. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/ppio_model.py +0 -0
  198. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/qwen_model.py +0 -0
  199. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/reka_model.py +0 -0
  200. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/reward/__init__.py +0 -0
  201. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/reward/base_reward_model.py +0 -0
  202. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/reward/evaluator.py +0 -0
  203. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/reward/nemotron_model.py +0 -0
  204. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/reward/skywork_model.py +0 -0
  205. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/samba_model.py +0 -0
  206. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/sglang_model.py +0 -0
  207. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/siliconflow_model.py +0 -0
  208. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/stub_model.py +0 -0
  209. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/togetherai_model.py +0 -0
  210. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/volcano_model.py +0 -0
  211. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/watsonx_model.py +0 -0
  212. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/yi_model.py +0 -0
  213. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/models/zhipuai_model.py +0 -0
  214. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/personas/__init__.py +0 -0
  215. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/personas/persona.py +0 -0
  216. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/personas/persona_hub.py +0 -0
  217. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/prompts/__init__.py +0 -0
  218. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/prompts/ai_society.py +0 -0
  219. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/prompts/base.py +0 -0
  220. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/prompts/code.py +0 -0
  221. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/prompts/evaluation.py +0 -0
  222. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/prompts/generate_text_embedding_data.py +0 -0
  223. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/prompts/image_craft.py +0 -0
  224. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/prompts/misalignment.py +0 -0
  225. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/prompts/multi_condition_image_craft.py +0 -0
  226. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/prompts/object_recognition.py +0 -0
  227. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/prompts/persona_hub.py +0 -0
  228. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/prompts/prompt_templates.py +0 -0
  229. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/prompts/role_description_prompt_template.py +0 -0
  230. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/prompts/solution_extraction.py +0 -0
  231. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/prompts/task_prompt_template.py +0 -0
  232. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/prompts/translation.py +0 -0
  233. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/prompts/video_description_prompt.py +0 -0
  234. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/py.typed +0 -0
  235. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/responses/__init__.py +0 -0
  236. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/responses/agent_responses.py +0 -0
  237. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/retrievers/__init__.py +0 -0
  238. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/retrievers/auto_retriever.py +0 -0
  239. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/retrievers/base.py +0 -0
  240. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/retrievers/bm25_retriever.py +0 -0
  241. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/retrievers/cohere_rerank_retriever.py +0 -0
  242. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/retrievers/hybrid_retrival.py +0 -0
  243. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/retrievers/vector_retriever.py +0 -0
  244. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/runtime/__init__.py +0 -0
  245. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/runtime/api.py +0 -0
  246. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/runtime/base.py +0 -0
  247. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/runtime/configs.py +0 -0
  248. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/runtime/docker_runtime.py +0 -0
  249. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/runtime/llm_guard_runtime.py +0 -0
  250. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/runtime/remote_http_runtime.py +0 -0
  251. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/runtime/ubuntu_docker_runtime.py +0 -0
  252. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/runtime/utils/__init__.py +0 -0
  253. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/runtime/utils/function_risk_toolkit.py +0 -0
  254. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/runtime/utils/ignore_risk_toolkit.py +0 -0
  255. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/schemas/__init__.py +0 -0
  256. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/schemas/base.py +0 -0
  257. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/schemas/openai_converter.py +0 -0
  258. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/schemas/outlines_converter.py +0 -0
  259. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/societies/__init__.py +0 -0
  260. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/societies/babyagi_playing.py +0 -0
  261. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/societies/role_playing.py +0 -0
  262. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/societies/workforce/__init__.py +0 -0
  263. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/societies/workforce/base.py +0 -0
  264. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/societies/workforce/prompts.py +0 -0
  265. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/societies/workforce/role_playing_worker.py +0 -0
  266. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/societies/workforce/single_agent_worker.py +0 -0
  267. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/societies/workforce/task_channel.py +0 -0
  268. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/societies/workforce/utils.py +0 -0
  269. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/societies/workforce/worker.py +0 -0
  270. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/societies/workforce/workforce.py +0 -0
  271. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/storages/__init__.py +0 -0
  272. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/storages/graph_storages/__init__.py +0 -0
  273. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/storages/graph_storages/base.py +0 -0
  274. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/storages/graph_storages/graph_element.py +0 -0
  275. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/storages/graph_storages/nebula_graph.py +0 -0
  276. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/storages/graph_storages/neo4j_graph.py +0 -0
  277. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/storages/key_value_storages/__init__.py +0 -0
  278. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/storages/key_value_storages/base.py +0 -0
  279. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/storages/key_value_storages/in_memory.py +0 -0
  280. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/storages/key_value_storages/json.py +0 -0
  281. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/storages/key_value_storages/mem0_cloud.py +0 -0
  282. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/storages/key_value_storages/redis.py +0 -0
  283. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/storages/object_storages/__init__.py +0 -0
  284. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/storages/object_storages/amazon_s3.py +0 -0
  285. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/storages/object_storages/azure_blob.py +0 -0
  286. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/storages/object_storages/base.py +0 -0
  287. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/storages/object_storages/google_cloud.py +0 -0
  288. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/storages/vectordb_storages/__init__.py +0 -0
  289. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/storages/vectordb_storages/base.py +0 -0
  290. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/storages/vectordb_storages/milvus.py +0 -0
  291. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/storages/vectordb_storages/oceanbase.py +0 -0
  292. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/storages/vectordb_storages/qdrant.py +0 -0
  293. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/storages/vectordb_storages/tidb.py +0 -0
  294. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/tasks/__init__.py +0 -0
  295. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/tasks/task.py +0 -0
  296. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/tasks/task_prompt.py +0 -0
  297. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/terminators/__init__.py +0 -0
  298. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/terminators/base.py +0 -0
  299. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/terminators/response_terminator.py +0 -0
  300. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/terminators/token_limit_terminator.py +0 -0
  301. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/__init__.py +0 -0
  302. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/arxiv_toolkit.py +0 -0
  303. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/ask_news_toolkit.py +0 -0
  304. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/audio_analysis_toolkit.py +0 -0
  305. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/base.py +0 -0
  306. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/browser_toolkit.py +0 -0
  307. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/code_execution.py +0 -0
  308. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/dalle_toolkit.py +0 -0
  309. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/dappier_toolkit.py +0 -0
  310. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/data_commons_toolkit.py +0 -0
  311. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/excel_toolkit.py +0 -0
  312. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/file_write_toolkit.py +0 -0
  313. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/function_tool.py +0 -0
  314. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/github_toolkit.py +0 -0
  315. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/google_calendar_toolkit.py +0 -0
  316. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/google_maps_toolkit.py +0 -0
  317. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/google_scholar_toolkit.py +0 -0
  318. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/human_toolkit.py +0 -0
  319. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/image_analysis_toolkit.py +0 -0
  320. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/jina_reranker_toolkit.py +0 -0
  321. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/linkedin_toolkit.py +0 -0
  322. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/math_toolkit.py +0 -0
  323. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/mcp_toolkit.py +0 -0
  324. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/memory_toolkit.py +0 -0
  325. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/meshy_toolkit.py +0 -0
  326. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/mineru_toolkit.py +0 -0
  327. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/networkx_toolkit.py +0 -0
  328. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/notion_toolkit.py +0 -0
  329. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/open_api_specs/biztoc/__init__.py +0 -0
  330. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/open_api_specs/biztoc/ai-plugin.json +0 -0
  331. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/open_api_specs/biztoc/openapi.yaml +0 -0
  332. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/open_api_specs/coursera/__init__.py +0 -0
  333. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/open_api_specs/coursera/openapi.yaml +0 -0
  334. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/open_api_specs/create_qr_code/__init__.py +0 -0
  335. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/open_api_specs/create_qr_code/openapi.yaml +0 -0
  336. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/open_api_specs/klarna/__init__.py +0 -0
  337. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/open_api_specs/klarna/openapi.yaml +0 -0
  338. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/open_api_specs/nasa_apod/__init__.py +0 -0
  339. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/open_api_specs/nasa_apod/openapi.yaml +0 -0
  340. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/open_api_specs/outschool/__init__.py +0 -0
  341. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/open_api_specs/outschool/ai-plugin.json +0 -0
  342. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/open_api_specs/outschool/openapi.yaml +0 -0
  343. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/open_api_specs/outschool/paths/__init__.py +0 -0
  344. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/open_api_specs/outschool/paths/get_classes.py +0 -0
  345. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/open_api_specs/outschool/paths/search_teachers.py +0 -0
  346. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/open_api_specs/security_config.py +0 -0
  347. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/open_api_specs/speak/__init__.py +0 -0
  348. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/open_api_specs/speak/openapi.yaml +0 -0
  349. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/open_api_specs/web_scraper/__init__.py +0 -0
  350. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/open_api_specs/web_scraper/ai-plugin.json +0 -0
  351. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/open_api_specs/web_scraper/openapi.yaml +0 -0
  352. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/open_api_specs/web_scraper/paths/__init__.py +0 -0
  353. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/open_api_specs/web_scraper/paths/scraper.py +0 -0
  354. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/open_api_toolkit.py +0 -0
  355. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/openai_agent_toolkit.py +0 -0
  356. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/openbb_toolkit.py +0 -0
  357. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/page_script.js +0 -0
  358. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/pubmed_toolkit.py +0 -0
  359. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/pyautogui_toolkit.py +0 -0
  360. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/reddit_toolkit.py +0 -0
  361. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/retrieval_toolkit.py +0 -0
  362. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/search_toolkit.py +0 -0
  363. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/searxng_toolkit.py +0 -0
  364. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/semantic_scholar_toolkit.py +0 -0
  365. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/slack_toolkit.py +0 -0
  366. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/stripe_toolkit.py +0 -0
  367. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/sympy_toolkit.py +0 -0
  368. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/terminal_toolkit.py +0 -0
  369. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/thinking_toolkit.py +0 -0
  370. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/twitter_toolkit.py +0 -0
  371. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/video_analysis_toolkit.py +0 -0
  372. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/video_download_toolkit.py +0 -0
  373. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/weather_toolkit.py +0 -0
  374. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/whatsapp_toolkit.py +0 -0
  375. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/toolkits/zapier_toolkit.py +0 -0
  376. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/types/__init__.py +0 -0
  377. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/types/agents/__init__.py +0 -0
  378. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/types/agents/tool_calling_record.py +0 -0
  379. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/types/openai_types.py +0 -0
  380. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/types/unified_model_type.py +0 -0
  381. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/utils/__init__.py +0 -0
  382. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/utils/async_func.py +0 -0
  383. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/utils/chunker/__init__.py +0 -0
  384. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/utils/chunker/base.py +0 -0
  385. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/utils/chunker/code_chunker.py +0 -0
  386. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/utils/chunker/uio_chunker.py +0 -0
  387. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/utils/commons.py +0 -0
  388. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/utils/constants.py +0 -0
  389. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/utils/deduplication.py +0 -0
  390. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/utils/filename.py +0 -0
  391. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/utils/mcp.py +0 -0
  392. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/utils/response_format.py +0 -0
  393. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/utils/token_counting.py +0 -0
  394. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/verifiers/__init__.py +0 -0
  395. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/verifiers/base.py +0 -0
  396. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/verifiers/math_verifier.py +0 -0
  397. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/verifiers/models.py +0 -0
  398. {camel_ai-0.2.50 → camel_ai-0.2.51}/camel/verifiers/physics_verifier.py +0 -0
  399. {camel_ai-0.2.50 → camel_ai-0.2.51}/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.50
3
+ Version: 0.2.51
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
@@ -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.50'
17
+ __version__ = '0.2.51'
18
18
 
19
19
  __all__ = [
20
20
  '__version__',
@@ -12,6 +12,7 @@
12
12
  # limitations under the License.
13
13
  # ========= Copyright 2023-2024 @ CAMEL-AI.org. All Rights Reserved. =========
14
14
 
15
+ import asyncio
15
16
  import random
16
17
  from typing import Any, Dict, List, Optional, Tuple, Union
17
18
 
@@ -58,6 +59,7 @@ class SingleStepEnv:
58
59
  self,
59
60
  dataset: Union[StaticDataset, BaseGenerator],
60
61
  verifier: BaseVerifier,
62
+ timeout: Optional[float] = 180.0,
61
63
  **kwargs,
62
64
  ) -> None:
63
65
  r"""Initialize the SingleStepEnv.
@@ -67,12 +69,15 @@ class SingleStepEnv:
67
69
  problems from.
68
70
  verifier (BaseVerifier): Verifier used to evaluate LLM responses
69
71
  against ground-truth answers.
72
+ timeout (Optional[float], optional): The execution timeout in
73
+ seconds. (default: :obj:`180.0`)
70
74
  **kwargs: Optional metadata or configuration values.
71
75
 
72
76
  Notes:
73
77
  This class assumes all interactions are single-step: one question,
74
78
  one LLM response, one reward.
75
79
  """
80
+ self._timeout = timeout
76
81
  self.dataset = dataset
77
82
  self.verifier = verifier
78
83
  self._metadata = kwargs
@@ -279,6 +284,7 @@ class SingleStepEnv:
279
284
  or if `reset()` has not been called.
280
285
  ValueError: If invalid action format, duplicate indices,
281
286
  or out-of-bounds indices are detected.
287
+ asyncio.TimeoutError: If the step execution exceeds the timeout.
282
288
  """
283
289
 
284
290
  if not self._is_setup:
@@ -307,18 +313,34 @@ class SingleStepEnv:
307
313
  f"total batch size ({self.current_batch_size})"
308
314
  )
309
315
 
310
- indices = [act.index for act in actions]
311
316
  proposed_solutions = [act.llm_response for act in actions]
312
- ground_truths: List[str] = []
313
- for idx in indices:
314
- ground_truths.append(self._states[idx].final_answer)
317
+ ground_truths: List[str] = [
318
+ self._states[idx].final_answer for idx in indices
319
+ ]
315
320
 
316
321
  try:
317
- verification_results = await self.verifier.verify_batch(
318
- solutions=proposed_solutions,
319
- reference_answers=ground_truths, # type: ignore [arg-type]
320
- raise_on_error=True,
322
+ verification_results = await asyncio.wait_for(
323
+ self.verifier.verify_batch(
324
+ solutions=proposed_solutions,
325
+ reference_answers=ground_truths, # type: ignore [arg-type]
326
+ raise_on_error=True,
327
+ ),
328
+ timeout=self._timeout,
329
+ )
330
+ except asyncio.TimeoutError as e:
331
+ logger.error(
332
+ f"Step verification timed out after {self._timeout}s: {e}"
321
333
  )
334
+ # Return timeout verification results
335
+ verification_results = [
336
+ VerificationResult(
337
+ result="",
338
+ status=VerificationOutcome.TIMEOUT,
339
+ error_message=f"Verification timed out "
340
+ f"after {self._timeout}s",
341
+ )
342
+ for _ in range(len(proposed_solutions))
343
+ ]
322
344
  except Exception as e:
323
345
  logger.error(f"Verification failed: {e}")
324
346
  # Return failed verification results with status=FAILURE
@@ -331,9 +353,55 @@ class SingleStepEnv:
331
353
  for _ in range(len(proposed_solutions))
332
354
  ]
333
355
 
334
- total_rewards, rewards_dicts = await self._compute_reward_batch(
335
- proposed_solutions, verification_results
336
- )
356
+ # Track which solutions have been processed and which have timed out
357
+ total_rewards = [0.0] * len(proposed_solutions)
358
+ rewards_dicts = [{"correctness": 0.0}] * len(proposed_solutions)
359
+
360
+ try:
361
+ # First try to compute all rewards with a timeout
362
+ computed_rewards, computed_rewards_dicts = await asyncio.wait_for(
363
+ self._compute_reward_batch(
364
+ proposed_solutions, verification_results
365
+ ),
366
+ timeout=self._timeout,
367
+ )
368
+ # If successful, use all the computed values
369
+ total_rewards = computed_rewards
370
+ rewards_dicts = computed_rewards_dicts
371
+ except asyncio.TimeoutError as e:
372
+ logger.error(
373
+ f"Reward computation timed out after {self._timeout}s: {e}"
374
+ )
375
+ # Try to compute rewards one by one to identify which ones time out
376
+ for i, (solution, result) in enumerate(
377
+ zip(proposed_solutions, verification_results)
378
+ ):
379
+ try:
380
+ individual_rewards = await asyncio.wait_for(
381
+ self._compute_custom_reward(solution, result),
382
+ timeout=self._timeout,
383
+ )
384
+ # If successful, calculate the reward for this solution
385
+ correctness_reward = (
386
+ self.ACCURACY_REWARD if result.status else 0.0
387
+ )
388
+ rewards_dict = {
389
+ "correctness": correctness_reward,
390
+ **individual_rewards,
391
+ }
392
+ total_rewards[i] = sum(rewards_dict.values())
393
+ rewards_dicts[i] = rewards_dict
394
+ except asyncio.TimeoutError:
395
+ logger.warning(
396
+ f"Reward computation for solution {i} timed out"
397
+ )
398
+ except Exception as e:
399
+ logger.warning(
400
+ f"Error computing reward for solution {i}: {e}"
401
+ )
402
+ except Exception as e:
403
+ logger.error(f"Reward computation failed: {e}")
404
+
337
405
  # Create and return step results in batch
338
406
  step_results = [
339
407
  StepResult(
@@ -12,7 +12,7 @@
12
12
  # limitations under the License.
13
13
  # ========= Copyright 2023-2024 @ CAMEL-AI.org. All Rights Reserved. =========
14
14
  import os
15
- from typing import Any, Dict, List, Optional, Type, Union
15
+ from typing import Any, Callable, Dict, List, Optional, Type, Union
16
16
 
17
17
  from openai import AsyncAzureOpenAI, AsyncStream, AzureOpenAI, Stream
18
18
  from pydantic import BaseModel
@@ -27,6 +27,8 @@ from camel.types import (
27
27
  )
28
28
  from camel.utils import BaseTokenCounter, OpenAITokenCounter
29
29
 
30
+ AzureADTokenProvider = Callable[[], str]
31
+
30
32
 
31
33
  class AzureOpenAIModel(BaseModelBackend):
32
34
  r"""Azure OpenAI API in a unified BaseModelBackend interface.
@@ -46,6 +48,12 @@ class AzureOpenAIModel(BaseModelBackend):
46
48
  (default: :obj:`None`)
47
49
  azure_deployment_name (Optional[str], optional): The deployment name
48
50
  you chose when you deployed an azure model. (default: :obj:`None`)
51
+ azure_ad_token (Optional[str], optional): Your Azure Active Directory
52
+ token, https://www.microsoft.com/en-us/security/business/
53
+ identity-access/microsoft-entra-id. (default: :obj:`None`)
54
+ azure_ad_token_provider (Optional[AzureADTokenProvider], optional): A
55
+ function that returns an Azure Active Directory token, will be
56
+ invoked on every request. (default: :obj:`None`)
49
57
  token_counter (Optional[BaseTokenCounter], optional): Token counter to
50
58
  use for the model. If not provided, :obj:`OpenAITokenCounter`
51
59
  will be used. (default: :obj:`None`)
@@ -68,6 +76,8 @@ class AzureOpenAIModel(BaseModelBackend):
68
76
  token_counter: Optional[BaseTokenCounter] = None,
69
77
  api_version: Optional[str] = None,
70
78
  azure_deployment_name: Optional[str] = None,
79
+ azure_ad_token_provider: Optional["AzureADTokenProvider"] = None,
80
+ azure_ad_token: Optional[str] = None,
71
81
  ) -> None:
72
82
  if model_config_dict is None:
73
83
  model_config_dict = ChatGPTConfig().as_dict()
@@ -79,15 +89,19 @@ class AzureOpenAIModel(BaseModelBackend):
79
89
  )
80
90
 
81
91
  self.api_version = api_version or os.environ.get("AZURE_API_VERSION")
82
- self.azure_deployment_name = azure_deployment_name or os.environ.get(
92
+ self._azure_deployment_name = azure_deployment_name or os.environ.get(
83
93
  "AZURE_DEPLOYMENT_NAME"
84
94
  )
95
+ self._azure_ad_token = azure_ad_token or os.environ.get(
96
+ "AZURE_AD_TOKEN"
97
+ )
98
+ self.azure_ad_token_provider = azure_ad_token_provider
85
99
  if self.api_version is None:
86
100
  raise ValueError(
87
101
  "Must provide either the `api_version` argument "
88
102
  "or `AZURE_API_VERSION` environment variable."
89
103
  )
90
- if self.azure_deployment_name is None:
104
+ if self._azure_deployment_name is None:
91
105
  raise ValueError(
92
106
  "Must provide either the `azure_deployment_name` argument "
93
107
  "or `AZURE_DEPLOYMENT_NAME` environment variable."
@@ -95,18 +109,22 @@ class AzureOpenAIModel(BaseModelBackend):
95
109
 
96
110
  self._client = AzureOpenAI(
97
111
  azure_endpoint=str(self._url),
98
- azure_deployment=self.azure_deployment_name,
112
+ azure_deployment=self._azure_deployment_name,
99
113
  api_version=self.api_version,
100
114
  api_key=self._api_key,
115
+ azure_ad_token=self._azure_ad_token,
116
+ azure_ad_token_provider=self.azure_ad_token_provider,
101
117
  timeout=self._timeout,
102
118
  max_retries=3,
103
119
  )
104
120
 
105
121
  self._async_client = AsyncAzureOpenAI(
106
122
  azure_endpoint=str(self._url),
107
- azure_deployment=self.azure_deployment_name,
123
+ azure_deployment=self._azure_deployment_name,
108
124
  api_version=self.api_version,
109
125
  api_key=self._api_key,
126
+ azure_ad_token=self._azure_ad_token,
127
+ azure_ad_token_provider=self.azure_ad_token_provider,
110
128
  timeout=self._timeout,
111
129
  max_retries=3,
112
130
  )
@@ -193,7 +211,7 @@ class AzureOpenAIModel(BaseModelBackend):
193
211
 
194
212
  return self._client.chat.completions.create(
195
213
  messages=messages,
196
- model=self.azure_deployment_name, # type:ignore[arg-type]
214
+ model=self._azure_deployment_name, # type:ignore[arg-type]
197
215
  **request_config,
198
216
  )
199
217
 
@@ -209,7 +227,7 @@ class AzureOpenAIModel(BaseModelBackend):
209
227
 
210
228
  return await self._async_client.chat.completions.create(
211
229
  messages=messages,
212
- model=self.azure_deployment_name, # type:ignore[arg-type]
230
+ model=self._azure_deployment_name, # type:ignore[arg-type]
213
231
  **request_config,
214
232
  )
215
233
 
@@ -232,7 +250,7 @@ class AzureOpenAIModel(BaseModelBackend):
232
250
 
233
251
  return self._client.beta.chat.completions.parse(
234
252
  messages=messages,
235
- model=self.azure_deployment_name, # type:ignore[arg-type]
253
+ model=self._azure_deployment_name, # type:ignore[arg-type]
236
254
  **request_config,
237
255
  )
238
256
 
@@ -255,7 +273,7 @@ class AzureOpenAIModel(BaseModelBackend):
255
273
 
256
274
  return await self._async_client.beta.chat.completions.parse(
257
275
  messages=messages,
258
- model=self.azure_deployment_name, # type:ignore[arg-type]
276
+ model=self._azure_deployment_name, # type:ignore[arg-type]
259
277
  **request_config,
260
278
  )
261
279
 
@@ -16,10 +16,13 @@ import subprocess
16
16
  from typing import Any, Dict, Optional, Union
17
17
 
18
18
  from camel.configs import OLLAMA_API_PARAMS, OllamaConfig
19
+ from camel.logger import get_logger
19
20
  from camel.models.openai_compatible_model import OpenAICompatibleModel
20
21
  from camel.types import ModelType
21
22
  from camel.utils import BaseTokenCounter
22
23
 
24
+ logger = get_logger(__name__)
25
+
23
26
 
24
27
  class OllamaModel(OpenAICompatibleModel):
25
28
  r"""Ollama service interface.
@@ -60,20 +63,22 @@ class OllamaModel(OpenAICompatibleModel):
60
63
  ) -> None:
61
64
  if model_config_dict is None:
62
65
  model_config_dict = OllamaConfig().as_dict()
63
- url = url or os.environ.get("OLLAMA_BASE_URL")
66
+ self._url = url or os.environ.get("OLLAMA_BASE_URL")
64
67
  timeout = timeout or float(os.environ.get("MODEL_TIMEOUT", 180))
68
+ self._model_type = model_type
69
+
70
+ if not self._url:
71
+ self._start_server()
72
+
65
73
  super().__init__(
66
- model_type=model_type,
74
+ model_type=self._model_type,
67
75
  model_config_dict=model_config_dict,
68
- api_key=api_key,
69
- url=url,
76
+ api_key="Not_Used",
77
+ url=self._url,
70
78
  token_counter=token_counter,
71
79
  timeout=timeout,
72
80
  )
73
81
 
74
- if not self._url:
75
- self._start_server()
76
-
77
82
  def _start_server(self) -> None:
78
83
  r"""Starts the Ollama server in a subprocess."""
79
84
  try:
@@ -83,12 +88,12 @@ class OllamaModel(OpenAICompatibleModel):
83
88
  stderr=subprocess.PIPE,
84
89
  )
85
90
  self._url = "http://localhost:11434/v1"
86
- print(
91
+ logger.info(
87
92
  f"Ollama server started on {self._url} "
88
- f"for {self.model_type} model."
93
+ f"for {self._model_type} model."
89
94
  )
90
95
  except Exception as e:
91
- print(f"Failed to start Ollama server: {e}.")
96
+ logger.error(f"Failed to start Ollama server: {e}.")
92
97
 
93
98
  def check_model_config(self):
94
99
  r"""Check whether the model configuration contains any
@@ -16,10 +16,13 @@ import subprocess
16
16
  from typing import Any, Dict, Optional, Union
17
17
 
18
18
  from camel.configs import VLLM_API_PARAMS, VLLMConfig
19
+ from camel.logger import get_logger
19
20
  from camel.models.openai_compatible_model import OpenAICompatibleModel
20
21
  from camel.types import ModelType
21
22
  from camel.utils import BaseTokenCounter
22
23
 
24
+ logger = get_logger(__name__)
25
+
23
26
 
24
27
  # flake8: noqa: E501
25
28
  class VLLMModel(OpenAICompatibleModel):
@@ -62,18 +65,21 @@ class VLLMModel(OpenAICompatibleModel):
62
65
  ) -> None:
63
66
  if model_config_dict is None:
64
67
  model_config_dict = VLLMConfig().as_dict()
65
- url = url or os.environ.get("VLLM_BASE_URL")
68
+ self._url = url or os.environ.get("VLLM_BASE_URL")
66
69
  timeout = timeout or float(os.environ.get("MODEL_TIMEOUT", 180))
70
+ self._model_type = model_type
71
+
72
+ if not self._url:
73
+ self._start_server()
74
+
67
75
  super().__init__(
68
- model_type=model_type,
76
+ model_type=self._model_type,
69
77
  model_config_dict=model_config_dict,
70
- api_key=api_key,
71
- url=url,
78
+ api_key="Not_Used",
79
+ url=self._url,
72
80
  token_counter=token_counter,
73
81
  timeout=timeout,
74
82
  )
75
- if not self._url:
76
- self._start_server()
77
83
 
78
84
  def _start_server(self) -> None:
79
85
  r"""Starts the vllm server in a subprocess."""
@@ -84,12 +90,12 @@ class VLLMModel(OpenAICompatibleModel):
84
90
  stderr=subprocess.PIPE,
85
91
  )
86
92
  self._url = "http://localhost:8000/v1"
87
- print(
93
+ logger.info(
88
94
  f"vllm server started on {self._url} "
89
- f"for {self.model_type} model."
95
+ f"for {self._model_type} model."
90
96
  )
91
97
  except Exception as e:
92
- print(f"Failed to start vllm server: {e}.")
98
+ logger.error(f"Failed to start vllm server: {e}.")
93
99
 
94
100
  def check_model_config(self):
95
101
  r"""Check whether the model configuration contains any
@@ -105,6 +105,7 @@ class ModelType(UnifiedModelType, Enum):
105
105
  TOGETHER_LLAMA_4_SCOUT = "meta-llama/Llama-4-Scout-17B-16E-Instruct"
106
106
 
107
107
  # PPIO platform models support tool calling
108
+ PPIO_DEEPSEEK_PROVER_V2_671B = "deepseek/deepseek-prover-v2-671b"
108
109
  PPIO_DEEPSEEK_R1_TURBO = "deepseek/deepseek-r1-turbo"
109
110
  PPIO_DEEPSEEK_V3_TURBO = "deepseek/deepseek-v3-turbo"
110
111
  PPIO_DEEPSEEK_R1_COMMUNITY = "deepseek/deepseek-r1/community"
@@ -716,6 +717,7 @@ class ModelType(UnifiedModelType, Enum):
716
717
  @property
717
718
  def is_ppio(self) -> bool:
718
719
  return self in {
720
+ ModelType.PPIO_DEEPSEEK_PROVER_V2_671B,
719
721
  ModelType.PPIO_DEEPSEEK_R1_TURBO,
720
722
  ModelType.PPIO_DEEPSEEK_V3_TURBO,
721
723
  ModelType.PPIO_DEEPSEEK_R1_COMMUNITY,
@@ -928,6 +930,7 @@ class ModelType(UnifiedModelType, Enum):
928
930
  }:
929
931
  return 14_336
930
932
  elif self in {
933
+ ModelType.PPIO_DEEPSEEK_PROVER_V2_671B,
931
934
  ModelType.NOVITA_DOLPHIN_MIXTRAL_8X22B,
932
935
  }:
933
936
  return 16_000
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "camel-ai"
7
- version = "0.2.50"
7
+ version = "0.2.51"
8
8
  description = "Communicative Agents for AI Society Study"
9
9
  authors = [{ name = "CAMEL-AI.org" }]
10
10
  requires-python = ">=3.10,<3.13"
File without changes
File without changes
File without changes