camel-ai 0.2.8__tar.gz → 0.2.10__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 (253) hide show
  1. {camel_ai-0.2.8 → camel_ai-0.2.10}/PKG-INFO +108 -56
  2. {camel_ai-0.2.8 → camel_ai-0.2.10}/README.md +101 -52
  3. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/__init__.py +5 -5
  4. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/agents/__init__.py +4 -4
  5. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/agents/base.py +4 -4
  6. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/agents/chat_agent.py +32 -37
  7. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/agents/critic_agent.py +4 -4
  8. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/agents/deductive_reasoner_agent.py +4 -4
  9. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/agents/embodied_agent.py +4 -4
  10. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/agents/knowledge_graph_agent.py +4 -4
  11. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/agents/role_assignment_agent.py +4 -4
  12. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/agents/search_agent.py +4 -4
  13. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/agents/task_agent.py +4 -4
  14. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/agents/tool_agents/__init__.py +4 -4
  15. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/agents/tool_agents/base.py +4 -4
  16. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/agents/tool_agents/hugging_face_tool_agent.py +4 -4
  17. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/bots/__init__.py +4 -4
  18. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/bots/discord_app.py +4 -4
  19. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/bots/slack/__init__.py +4 -4
  20. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/bots/slack/models.py +4 -4
  21. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/bots/slack/slack_app.py +4 -4
  22. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/bots/telegram_bot.py +4 -4
  23. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/configs/__init__.py +10 -4
  24. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/configs/anthropic_config.py +4 -4
  25. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/configs/base_config.py +4 -4
  26. camel_ai-0.2.10/camel/configs/cohere_config.py +76 -0
  27. camel_ai-0.2.10/camel/configs/deepseek_config.py +134 -0
  28. camel_ai-0.2.10/camel/configs/gemini_config.py +114 -0
  29. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/configs/groq_config.py +4 -4
  30. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/configs/litellm_config.py +4 -4
  31. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/configs/mistral_config.py +4 -4
  32. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/configs/ollama_config.py +4 -4
  33. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/configs/openai_config.py +32 -7
  34. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/configs/qwen_config.py +4 -4
  35. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/configs/reka_config.py +4 -4
  36. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/configs/samba_config.py +4 -4
  37. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/configs/togetherai_config.py +4 -4
  38. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/configs/vllm_config.py +4 -4
  39. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/configs/yi_config.py +4 -4
  40. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/configs/zhipuai_config.py +4 -4
  41. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/embeddings/__init__.py +6 -4
  42. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/embeddings/base.py +4 -4
  43. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/embeddings/mistral_embedding.py +4 -4
  44. camel_ai-0.2.10/camel/embeddings/openai_compatible_embedding.py +91 -0
  45. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/embeddings/openai_embedding.py +4 -4
  46. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/embeddings/sentence_transformers_embeddings.py +4 -4
  47. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/embeddings/vlm_embedding.py +4 -4
  48. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/generators.py +4 -4
  49. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/human.py +4 -4
  50. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/interpreters/__init__.py +4 -4
  51. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/interpreters/base.py +4 -4
  52. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/interpreters/docker_interpreter.py +4 -4
  53. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/interpreters/internal_python_interpreter.py +4 -4
  54. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/interpreters/interpreter_error.py +4 -4
  55. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/interpreters/ipython_interpreter.py +4 -4
  56. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/interpreters/subprocess_interpreter.py +4 -4
  57. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/loaders/__init__.py +4 -4
  58. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/loaders/apify_reader.py +4 -4
  59. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/loaders/base_io.py +4 -4
  60. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/loaders/chunkr_reader.py +4 -4
  61. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/loaders/firecrawl_reader.py +4 -4
  62. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/loaders/jina_url_reader.py +4 -4
  63. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/loaders/unstructured_io.py +4 -4
  64. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/memories/__init__.py +4 -4
  65. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/memories/agent_memories.py +4 -4
  66. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/memories/base.py +4 -4
  67. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/memories/blocks/__init__.py +4 -4
  68. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/memories/blocks/chat_history_block.py +4 -4
  69. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/memories/blocks/vectordb_block.py +4 -4
  70. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/memories/context_creators/__init__.py +4 -4
  71. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/memories/context_creators/score_based.py +4 -4
  72. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/memories/records.py +4 -4
  73. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/messages/__init__.py +20 -4
  74. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/messages/base.py +108 -4
  75. camel_ai-0.2.10/camel/messages/conversion/__init__.py +29 -0
  76. camel_ai-0.2.10/camel/messages/conversion/models.py +178 -0
  77. camel_ai-0.2.10/camel/messages/conversion/sharegpt/__init__.py +20 -0
  78. camel_ai-0.2.10/camel/messages/conversion/sharegpt/function_call_formatter.py +49 -0
  79. camel_ai-0.2.10/camel/messages/conversion/sharegpt/hermes/__init__.py +19 -0
  80. camel_ai-0.2.10/camel/messages/conversion/sharegpt/hermes/hermes_function_formatter.py +128 -0
  81. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/messages/func_message.py +50 -4
  82. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/models/__init__.py +8 -4
  83. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/models/anthropic_model.py +4 -4
  84. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/models/azure_openai_model.py +4 -4
  85. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/models/base_model.py +4 -4
  86. camel_ai-0.2.10/camel/models/cohere_model.py +282 -0
  87. camel_ai-0.2.10/camel/models/deepseek_model.py +139 -0
  88. camel_ai-0.2.10/camel/models/gemini_model.py +138 -0
  89. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/models/groq_model.py +4 -4
  90. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/models/litellm_model.py +4 -4
  91. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/models/mistral_model.py +4 -4
  92. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/models/model_factory.py +10 -4
  93. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/models/nemotron_model.py +4 -4
  94. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/models/ollama_model.py +4 -4
  95. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/models/openai_audio_models.py +4 -4
  96. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/models/openai_compatible_model.py +4 -4
  97. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/models/openai_model.py +42 -4
  98. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/models/qwen_model.py +4 -4
  99. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/models/reka_model.py +4 -4
  100. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/models/samba_model.py +6 -5
  101. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/models/stub_model.py +4 -4
  102. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/models/togetherai_model.py +4 -4
  103. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/models/vllm_model.py +4 -4
  104. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/models/yi_model.py +4 -4
  105. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/models/zhipuai_model.py +4 -4
  106. camel_ai-0.2.10/camel/personas/__init__.py +17 -0
  107. camel_ai-0.2.10/camel/personas/persona.py +103 -0
  108. camel_ai-0.2.10/camel/personas/persona_hub.py +293 -0
  109. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/prompts/__init__.py +6 -4
  110. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/prompts/ai_society.py +4 -4
  111. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/prompts/base.py +4 -4
  112. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/prompts/code.py +4 -4
  113. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/prompts/evaluation.py +4 -4
  114. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/prompts/generate_text_embedding_data.py +4 -4
  115. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/prompts/image_craft.py +4 -4
  116. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/prompts/misalignment.py +4 -4
  117. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/prompts/multi_condition_image_craft.py +4 -4
  118. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/prompts/object_recognition.py +4 -4
  119. camel_ai-0.2.10/camel/prompts/persona_hub.py +61 -0
  120. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/prompts/prompt_templates.py +4 -4
  121. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/prompts/role_description_prompt_template.py +4 -4
  122. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/prompts/solution_extraction.py +4 -4
  123. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/prompts/task_prompt_template.py +4 -4
  124. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/prompts/translation.py +4 -4
  125. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/prompts/video_description_prompt.py +4 -4
  126. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/responses/__init__.py +4 -4
  127. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/responses/agent_responses.py +4 -4
  128. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/retrievers/__init__.py +4 -4
  129. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/retrievers/auto_retriever.py +4 -4
  130. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/retrievers/base.py +4 -4
  131. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/retrievers/bm25_retriever.py +4 -4
  132. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/retrievers/cohere_rerank_retriever.py +7 -9
  133. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/retrievers/vector_retriever.py +4 -4
  134. camel_ai-0.2.10/camel/runtime/__init__.py +29 -0
  135. camel_ai-0.2.10/camel/runtime/api.py +93 -0
  136. camel_ai-0.2.10/camel/runtime/base.py +45 -0
  137. camel_ai-0.2.10/camel/runtime/configs.py +56 -0
  138. camel_ai-0.2.10/camel/runtime/docker_runtime.py +404 -0
  139. camel_ai-0.2.10/camel/runtime/llm_guard_runtime.py +199 -0
  140. camel_ai-0.2.10/camel/runtime/remote_http_runtime.py +204 -0
  141. camel_ai-0.2.10/camel/runtime/utils/__init__.py +20 -0
  142. camel_ai-0.2.10/camel/runtime/utils/function_risk_toolkit.py +58 -0
  143. camel_ai-0.2.10/camel/runtime/utils/ignore_risk_toolkit.py +72 -0
  144. camel_ai-0.2.10/camel/schemas/__init__.py +17 -0
  145. camel_ai-0.2.10/camel/schemas/base.py +45 -0
  146. camel_ai-0.2.10/camel/schemas/openai_converter.py +116 -0
  147. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/societies/__init__.py +4 -4
  148. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/societies/babyagi_playing.py +4 -4
  149. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/societies/role_playing.py +7 -14
  150. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/societies/workforce/__init__.py +4 -4
  151. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/societies/workforce/base.py +4 -4
  152. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/societies/workforce/prompts.py +4 -4
  153. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/societies/workforce/role_playing_worker.py +4 -4
  154. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/societies/workforce/single_agent_worker.py +4 -4
  155. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/societies/workforce/task_channel.py +4 -4
  156. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/societies/workforce/utils.py +4 -4
  157. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/societies/workforce/worker.py +4 -4
  158. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/societies/workforce/workforce.py +7 -7
  159. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/storages/__init__.py +4 -4
  160. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/storages/graph_storages/__init__.py +4 -4
  161. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/storages/graph_storages/base.py +4 -4
  162. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/storages/graph_storages/graph_element.py +4 -4
  163. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/storages/graph_storages/nebula_graph.py +4 -4
  164. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/storages/graph_storages/neo4j_graph.py +4 -4
  165. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/storages/key_value_storages/__init__.py +4 -4
  166. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/storages/key_value_storages/base.py +4 -4
  167. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/storages/key_value_storages/in_memory.py +4 -4
  168. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/storages/key_value_storages/json.py +4 -4
  169. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/storages/key_value_storages/redis.py +4 -4
  170. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/storages/object_storages/__init__.py +4 -4
  171. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/storages/object_storages/amazon_s3.py +4 -4
  172. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/storages/object_storages/azure_blob.py +4 -4
  173. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/storages/object_storages/base.py +4 -4
  174. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/storages/object_storages/google_cloud.py +4 -4
  175. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/storages/vectordb_storages/__init__.py +4 -4
  176. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/storages/vectordb_storages/base.py +4 -4
  177. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/storages/vectordb_storages/milvus.py +4 -4
  178. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/storages/vectordb_storages/qdrant.py +4 -4
  179. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/tasks/__init__.py +4 -4
  180. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/tasks/task.py +4 -4
  181. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/tasks/task_prompt.py +4 -4
  182. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/terminators/__init__.py +4 -4
  183. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/terminators/base.py +4 -4
  184. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/terminators/response_terminator.py +4 -4
  185. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/terminators/token_limit_terminator.py +4 -4
  186. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/__init__.py +13 -17
  187. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/arxiv_toolkit.py +4 -4
  188. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/ask_news_toolkit.py +7 -18
  189. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/base.py +4 -4
  190. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/code_execution.py +20 -7
  191. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/dalle_toolkit.py +4 -7
  192. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/data_commons_toolkit.py +4 -4
  193. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/function_tool.py +220 -69
  194. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/github_toolkit.py +4 -4
  195. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/google_maps_toolkit.py +4 -4
  196. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/google_scholar_toolkit.py +4 -4
  197. camel_ai-0.2.10/camel/toolkits/human_toolkit.py +52 -0
  198. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/linkedin_toolkit.py +4 -4
  199. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/math_toolkit.py +4 -7
  200. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/notion_toolkit.py +4 -4
  201. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/open_api_specs/biztoc/__init__.py +4 -4
  202. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/open_api_specs/coursera/__init__.py +4 -4
  203. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/open_api_specs/create_qr_code/__init__.py +4 -4
  204. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/open_api_specs/klarna/__init__.py +4 -4
  205. camel_ai-0.2.10/camel/toolkits/open_api_specs/nasa_apod/__init__.py +13 -0
  206. camel_ai-0.2.10/camel/toolkits/open_api_specs/outschool/__init__.py +13 -0
  207. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/open_api_specs/outschool/paths/__init__.py +4 -4
  208. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/open_api_specs/outschool/paths/get_classes.py +4 -4
  209. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/open_api_specs/outschool/paths/search_teachers.py +4 -4
  210. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/open_api_specs/security_config.py +4 -4
  211. camel_ai-0.2.10/camel/toolkits/open_api_specs/speak/__init__.py +13 -0
  212. camel_ai-0.2.10/camel/toolkits/open_api_specs/web_scraper/__init__.py +13 -0
  213. camel_ai-0.2.10/camel/toolkits/open_api_specs/web_scraper/paths/__init__.py +13 -0
  214. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/open_api_specs/web_scraper/paths/scraper.py +4 -4
  215. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/open_api_toolkit.py +4 -4
  216. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/reddit_toolkit.py +4 -4
  217. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/retrieval_toolkit.py +4 -4
  218. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/search_toolkit.py +49 -29
  219. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/slack_toolkit.py +4 -4
  220. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/twitter_toolkit.py +10 -13
  221. camel_ai-0.2.10/camel/toolkits/video_toolkit.py +211 -0
  222. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/weather_toolkit.py +4 -7
  223. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/whatsapp_toolkit.py +6 -6
  224. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/types/__init__.py +6 -4
  225. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/types/enums.py +77 -7
  226. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/types/openai_types.py +6 -4
  227. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/types/unified_model_type.py +9 -4
  228. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/utils/__init__.py +35 -33
  229. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/utils/async_func.py +4 -4
  230. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/utils/commons.py +4 -4
  231. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/utils/constants.py +4 -4
  232. camel_ai-0.2.10/camel/utils/response_format.py +63 -0
  233. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/utils/token_counting.py +4 -4
  234. {camel_ai-0.2.8 → camel_ai-0.2.10}/pyproject.toml +26 -5
  235. camel_ai-0.2.8/camel/configs/gemini_config.py +0 -156
  236. camel_ai-0.2.8/camel/models/gemini_model.py +0 -223
  237. camel_ai-0.2.8/camel/toolkits/open_api_specs/nasa_apod/__init__.py +0 -13
  238. camel_ai-0.2.8/camel/toolkits/open_api_specs/outschool/__init__.py +0 -13
  239. camel_ai-0.2.8/camel/toolkits/open_api_specs/speak/__init__.py +0 -13
  240. camel_ai-0.2.8/camel/toolkits/open_api_specs/web_scraper/__init__.py +0 -13
  241. camel_ai-0.2.8/camel/toolkits/open_api_specs/web_scraper/paths/__init__.py +0 -13
  242. {camel_ai-0.2.8 → camel_ai-0.2.10}/LICENSE +0 -0
  243. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/open_api_specs/biztoc/ai-plugin.json +0 -0
  244. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/open_api_specs/biztoc/openapi.yaml +0 -0
  245. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/open_api_specs/coursera/openapi.yaml +0 -0
  246. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/open_api_specs/create_qr_code/openapi.yaml +0 -0
  247. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/open_api_specs/klarna/openapi.yaml +0 -0
  248. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/open_api_specs/nasa_apod/openapi.yaml +0 -0
  249. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/open_api_specs/outschool/ai-plugin.json +0 -0
  250. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/open_api_specs/outschool/openapi.yaml +0 -0
  251. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/open_api_specs/speak/openapi.yaml +0 -0
  252. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/open_api_specs/web_scraper/ai-plugin.json +0 -0
  253. {camel_ai-0.2.8 → camel_ai-0.2.10}/camel/toolkits/open_api_specs/web_scraper/openapi.yaml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: camel-ai
3
- Version: 0.2.8
3
+ Version: 0.2.10
4
4
  Summary: Communicative Agents for AI Society Study
5
5
  Home-page: https://www.camel-ai.org/
6
6
  License: Apache-2.0
@@ -21,6 +21,7 @@ Provides-Extra: model-platforms
21
21
  Provides-Extra: object-storages
22
22
  Provides-Extra: rag
23
23
  Provides-Extra: retrievers
24
+ Provides-Extra: runtime
24
25
  Provides-Extra: search-tools
25
26
  Provides-Extra: test
26
27
  Provides-Extra: tools
@@ -36,7 +37,7 @@ Requires-Dist: asknews (>=0.7.43,<0.8.0) ; extra == "tools" or extra == "all"
36
37
  Requires-Dist: azure-storage-blob (>=12.21.0,<13.0.0) ; extra == "object-storages" or extra == "all"
37
38
  Requires-Dist: beautifulsoup4 (>=4,<5) ; extra == "tools" or extra == "all"
38
39
  Requires-Dist: botocore (>=1.35.3,<2.0.0) ; extra == "object-storages" or extra == "all"
39
- Requires-Dist: cohere (>=4.56,<5.0) ; extra == "rag" or extra == "retrievers" or extra == "all"
40
+ Requires-Dist: cohere (>=5.11.0,<6.0.0) ; extra == "rag" or extra == "model-platforms" or extra == "retrievers" or extra == "all" or extra == "all"
40
41
  Requires-Dist: colorama (>=0,<1)
41
42
  Requires-Dist: curl_cffi (==0.6.2)
42
43
  Requires-Dist: datacommons (>=1.4.3,<2.0.0) ; extra == "tools" or extra == "all"
@@ -44,11 +45,12 @@ Requires-Dist: datacommons_pandas (>=0.0.3,<0.0.4) ; extra == "tools" or extra =
44
45
  Requires-Dist: datasets (>=2,<3) ; extra == "huggingface-agent" or extra == "all"
45
46
  Requires-Dist: diffusers (>=0,<1) ; extra == "huggingface-agent" or extra == "all"
46
47
  Requires-Dist: discord.py (>=2.3.2,<3.0.0) ; extra == "tools" or extra == "all"
47
- Requires-Dist: docker (>=7.1.0,<8.0.0) ; extra == "tools" or extra == "all"
48
+ Requires-Dist: docker (>=7.1.0,<8.0.0) ; extra == "tools" or extra == "runtime" or extra == "all"
48
49
  Requires-Dist: docstring-parser (>=0.15,<0.16)
49
50
  Requires-Dist: docx2txt (>=0.8,<0.9) ; extra == "tools" or extra == "all"
50
51
  Requires-Dist: duckduckgo-search (>=6.2.12,<7.0.0) ; extra == "search-tools" or extra == "tools" or extra == "all"
51
52
  Requires-Dist: eval-type-backport (==0.2.0)
53
+ Requires-Dist: ffmpeg-python (>=0.2.0,<0.3.0) ; extra == "tools" or extra == "all"
52
54
  Requires-Dist: firecrawl-py (>=1.0.0,<2.0.0) ; extra == "tools" or extra == "all"
53
55
  Requires-Dist: google-cloud-storage (>=2.18.0,<3.0.0) ; extra == "object-storages" or extra == "all"
54
56
  Requires-Dist: google-generativeai (>=0.6.0,<0.7.0) ; extra == "model-platforms" or extra == "all"
@@ -77,7 +79,7 @@ Requires-Dist: prance (>=23.6.21.0,<24.0.0.0) ; extra == "tools" or extra == "al
77
79
  Requires-Dist: praw (>=7.7.1,<8.0.0) ; extra == "tools" or extra == "all"
78
80
  Requires-Dist: protobuf (>=4,<5)
79
81
  Requires-Dist: pyTelegramBotAPI (>=4.18.0,<5.0.0) ; extra == "tools" or extra == "all"
80
- Requires-Dist: pydantic (>=1.9,<3)
82
+ Requires-Dist: pydantic (>=1.9,<2.10)
81
83
  Requires-Dist: pydub (>=0.25.1,<0.26.0) ; extra == "tools" or extra == "all"
82
84
  Requires-Dist: pygithub (>=2.3.0,<3.0.0) ; extra == "tools" or extra == "all"
83
85
  Requires-Dist: pymilvus (>=2.4.0,<3.0.0) ; extra == "rag" or extra == "vector-databases" or extra == "all"
@@ -104,6 +106,7 @@ Requires-Dist: transformers (>=4,<5) ; extra == "huggingface-agent" or extra ==
104
106
  Requires-Dist: unstructured[all-docs] (>=0.14,<0.15) ; extra == "rag" or extra == "tools" or extra == "all"
105
107
  Requires-Dist: wikipedia (>=1,<2) ; extra == "search-tools" or extra == "tools" or extra == "all"
106
108
  Requires-Dist: wolframalpha (>=5.0.0,<6.0.0) ; extra == "search-tools" or extra == "tools" or extra == "all"
109
+ Requires-Dist: yt-dlp (>=2024.11.4,<2025.0.0) ; extra == "tools" or extra == "all"
107
110
  Project-URL: Documentation, https://docs.camel-ai.org
108
111
  Project-URL: Repository, https://github.com/camel-ai/camel
109
112
  Description-Content-Type: text/markdown
@@ -254,7 +257,7 @@ conda create --name camel python=3.10
254
257
  conda activate camel
255
258
 
256
259
  # Clone github repo
257
- git clone -b v0.2.8 https://github.com/camel-ai/camel.git
260
+ git clone -b v0.2.10 https://github.com/camel-ai/camel.git
258
261
 
259
262
  # Change directory into project directory
260
263
  cd camel
@@ -270,62 +273,24 @@ pip install -e .[all] # (Optional)
270
273
 
271
274
  Detailed guidance can be find [here](https://github.com/camel-ai/camel/blob/master/.container/README.md)
272
275
 
273
- ## Documentation
274
-
275
- The [complete documentation](https://camel-ai.github.io/camel/) pages for the CAMEL package. Also, detailed tutorials for each part are provided below:
276
-
277
- ### Agents
278
- Explore different types of agents, their roles, and their applications.
279
-
280
- - **[Creating Your First Agent](https://docs.camel-ai.org/cookbooks/create_your_first_agent.html)**
281
- - **[Creating Your First Agent Society](https://docs.camel-ai.org/cookbooks/create_your_first_agents_society.html)**
282
- - **[Embodied Agents](https://docs.camel-ai.org/cookbooks/embodied_agents.html)**
283
- - **[Critic Agents](https://docs.camel-ai.org/cookbooks/critic_agents_and_tree_search.html)**
284
-
285
- ---
276
+ ## Quick Start
286
277
 
287
- ### Key Modules
288
- Core components and utilities to build, operate, and enhance CAMEL-AI agents and societies.
278
+ By default, the agent uses the `ModelType.DEFAULT` model from the `ModelPlatformType.DEFAULT`. You can configure the default model platform and model type using environment variables. If these are not set, the agent will fall back to the default settings:
289
279
 
290
- | Module | Description |
291
- |:---|:---|
292
- | **[Models](https://docs.camel-ai.org/key_modules/models.html)** | Model architectures and customization options for agent intelligence. |
293
- | **[Messages](https://docs.camel-ai.org/key_modules/messages.html)** | Messaging protocols for agent communication. |
294
- | **[Memory](https://docs.camel-ai.org/key_modules/memory.html)** | Memory storage and retrieval mechanisms. |
295
- | **[Tools](https://docs.camel-ai.org/key_modules/tools.html)** | Tools integration for specialized agent tasks. |
296
- | **[Prompts](https://docs.camel-ai.org/key_modules/prompts.html)** | Prompt engineering and customization. |
297
- | **[Tasks](https://docs.camel-ai.org/key_modules/tasks.html)** | Task creation and management for agent workflows. |
298
- | **[Loaders](https://docs.camel-ai.org/key_modules/loaders.html)** | Data loading tools for agent operation. |
299
- | **[Storages](https://docs.camel-ai.org/key_modules/storages.html)** | Storage solutions for agent. |
300
- | **[Society](https://docs.camel-ai.org/key_modules/society.html)** | Components for building agent societies and inter-agent collaboration. |
301
- | **[Embeddings](https://docs.camel-ai.org/key_modules/embeddings.html)** | Embedding models for RAG. |
302
- | **[Retrievers](https://docs.camel-ai.org/key_modules/retrievers.html)** | Retrieval methods for knowledge access. |
303
- ---
304
-
305
- ### Cookbooks
306
- Practical guides and tutorials for implementing specific functionalities in CAMEL-AI agents and societies.
280
+ ```bash
281
+ ModelPlatformType.DEFAULT = "openai"
282
+ ModelType.DEFAULT = "gpt-4o-mini"
283
+ ```
307
284
 
308
- | Cookbook | Description |
309
- |:---|:---|
310
- | **[Creating Your First Agent](https://docs.camel-ai.org/cookbooks/create_your_first_agent.html)** | A step-by-step guide to building your first agent. |
311
- | **[Creating Your First Agent Society](https://docs.camel-ai.org/cookbooks/create_your_first_agents_society.html)** | Learn to build a collaborative society of agents. |
312
- | **[Society Cookbook](https://docs.camel-ai.org/cookbooks/agents_society.html)** | Advanced configurations for agent societies. |
313
- | **[Model Speed Comparison Cookbook](https://docs.camel-ai.org/cookbooks/model_speed_comparison.html)** | Benchmarking models for performance. |
314
- | **[Message Cookbook](https://docs.camel-ai.org/cookbooks/agents_message.html)** | Best practices for message handling in agents. |
315
- | **[Tools Cookbook](https://docs.camel-ai.org/cookbooks/agents_with_tools.html)** | Integrating tools for enhanced functionality. |
316
- | **[Memory Cookbook](https://docs.camel-ai.org/cookbooks/agents_with_memory.html)** | Implementing memory systems in agents. |
317
- | **[RAG Cookbook](https://docs.camel-ai.org/cookbooks/agents_with_rag.html)** | Recipes for Retrieval-Augmented Generation. |
318
- | **[Prompting Cookbook](https://docs.camel-ai.org/cookbooks/agents_prompting.html)** | Techniques for effective prompt creation. |
319
- | **[Task Generation Cookbook](https://docs.camel-ai.org/cookbooks/task_generation.html)** | Automating task generation for agents. |
320
- | **[Graph RAG Cookbook](https://docs.camel-ai.org/cookbooks/knowledge_graph.html)** | Leveraging knowledge graphs with RAG. |
321
- | **[Role-Playing Scraper for Report & Knowledge Graph Generation](https://docs.camel-ai.org/cookbooks/roleplaying_scraper.html)** | Create role-playing agents for data scraping and reporting. |
322
- | **[Video Analysis](https://docs.camel-ai.org/cookbooks/video_analysis.html)** | Techniques for agents in video data analysis. |
323
- | **[Track CAMEL Agents with AgentOps](https://docs.camel-ai.org/cookbooks/agents_tracking.html)** | Tools for tracking and managing agents in operations. |
324
- | **[Create A Hackathon Judge Committee with Workforce](https://docs.camel-ai.org/cookbooks/workforce_judge_committee.html)** | Building a team of agents for collaborative judging. |
285
+ ### Setting Default Model Platform and Model Type (Optional)
325
286
 
326
- ## Examples
287
+ You can customize the default model platform and model type by setting the following environment variables:
288
+ ```bash
289
+ export DEFAULT_MODEL_PLATFORM_TYPE=<your preferred platform> # e.g., openai, anthropic, etc.
290
+ export DEFAULT_MODEL_TYPE=<your preferred model> # e.g., gpt-3.5-turbo, gpt-4o-mini, etc.
291
+ ```
327
292
 
328
- First, you need to add your OpenAI API key to system environment variables. The method to do this depends on your operating system and the shell you're using.
293
+ ### Setting Your Model API Key (Using OpenAI as an Example)
329
294
 
330
295
  **For Bash shell (Linux, macOS, Git Bash on Windows):**
331
296
 
@@ -356,6 +321,37 @@ Replace `<insert your OpenAI API key>` with your actual OpenAI API key in each c
356
321
 
357
322
  Please note that the environment variable is session-specific. If you open a new terminal window or tab, you will need to set the API key again in that new session.
358
323
 
324
+ **For `.env` File:**
325
+
326
+ To simplify the process of managing API Keys, you can use store information in a `.env` file and load them into your application dynamically.
327
+
328
+ 1. Modify .env file in the root directory of CAMEL and fill the following lines:
329
+
330
+ ```bash
331
+ OPENAI_API_KEY=<fill your API KEY here>
332
+ ```
333
+
334
+ Replace <fill your API KEY here> with your actual API key.
335
+
336
+ 2. Load the .env file in your Python script: Use the load_dotenv() function from the dotenv module to load the variables from the .env file into the environment. Here's an example:
337
+
338
+ ```python
339
+ from dotenv import load_dotenv
340
+ import os
341
+
342
+ # Load environment variables from the .env file
343
+ load_dotenv()
344
+ ```
345
+ For more details about the key names in project and how to apply key,
346
+ you can refer to [here](https://github.com/camel-ai/camel/.env).
347
+
348
+ > [!TIP]
349
+ > By default, the load_dotenv() function does not overwrite existing environment variables that are already set in your system. It only populates variables that are missing.
350
+ If you need to overwrite existing environment variables with the values from your `.env` file, use the `override=True` parameter:
351
+ > ```python
352
+ > load_dotenv(override=True)
353
+ > ```
354
+
359
355
  After setting the OpenAI API key, you can run the `role_playing.py` script. Find tasks for various assistant-user roles [here](https://drive.google.com/file/d/194PPaSTBR07m-PzjS-Ty6KlPLdFIPQDd/view?usp=share_link).
360
356
 
361
357
  ```bash
@@ -385,6 +381,60 @@ python examples/vision/image_crafting.py
385
381
  ```
386
382
  For additional feature examples, see the [`examples`](https://github.com/camel-ai/camel/tree/master/examples) directory.
387
383
 
384
+ ## Documentation
385
+
386
+ The [complete documentation](https://camel-ai.github.io/camel/) pages for the CAMEL package. Also, detailed tutorials for each part are provided below:
387
+
388
+ ### Agents
389
+ Explore different types of agents, their roles, and their applications.
390
+
391
+ - **[Creating Your First Agent](https://docs.camel-ai.org/cookbooks/create_your_first_agent.html)**
392
+ - **[Creating Your First Agent Society](https://docs.camel-ai.org/cookbooks/create_your_first_agents_society.html)**
393
+ - **[Embodied Agents](https://docs.camel-ai.org/cookbooks/embodied_agents.html)**
394
+ - **[Critic Agents](https://docs.camel-ai.org/cookbooks/critic_agents_and_tree_search.html)**
395
+
396
+ ---
397
+
398
+ ### Key Modules
399
+ Core components and utilities to build, operate, and enhance CAMEL-AI agents and societies.
400
+
401
+ | Module | Description |
402
+ |:---|:---|
403
+ | **[Models](https://docs.camel-ai.org/key_modules/models.html)** | Model architectures and customization options for agent intelligence. |
404
+ | **[Messages](https://docs.camel-ai.org/key_modules/messages.html)** | Messaging protocols for agent communication. |
405
+ | **[Memory](https://docs.camel-ai.org/key_modules/memory.html)** | Memory storage and retrieval mechanisms. |
406
+ | **[Tools](https://docs.camel-ai.org/key_modules/tools.html)** | Tools integration for specialized agent tasks. |
407
+ | **[Prompts](https://docs.camel-ai.org/key_modules/prompts.html)** | Prompt engineering and customization. |
408
+ | **[Tasks](https://docs.camel-ai.org/key_modules/tasks.html)** | Task creation and management for agent workflows. |
409
+ | **[Loaders](https://docs.camel-ai.org/key_modules/loaders.html)** | Data loading tools for agent operation. |
410
+ | **[Storages](https://docs.camel-ai.org/key_modules/storages.html)** | Storage solutions for agent. |
411
+ | **[Society](https://docs.camel-ai.org/key_modules/society.html)** | Components for building agent societies and inter-agent collaboration. |
412
+ | **[Embeddings](https://docs.camel-ai.org/key_modules/embeddings.html)** | Embedding models for RAG. |
413
+ | **[Retrievers](https://docs.camel-ai.org/key_modules/retrievers.html)** | Retrieval methods for knowledge access. |
414
+ ---
415
+
416
+ ### Cookbooks
417
+ Practical guides and tutorials for implementing specific functionalities in CAMEL-AI agents and societies.
418
+
419
+ | Cookbook | Description |
420
+ |:---|:---|
421
+ | **[Creating Your First Agent](https://docs.camel-ai.org/cookbooks/create_your_first_agent.html)** | A step-by-step guide to building your first agent. |
422
+ | **[Creating Your First Agent Society](https://docs.camel-ai.org/cookbooks/create_your_first_agents_society.html)** | Learn to build a collaborative society of agents. |
423
+ | **[Society Cookbook](https://docs.camel-ai.org/cookbooks/agents_society.html)** | Advanced configurations for agent societies. |
424
+ | **[Model Speed Comparison Cookbook](https://docs.camel-ai.org/cookbooks/model_speed_comparison.html)** | Benchmarking models for performance. |
425
+ | **[Message Cookbook](https://docs.camel-ai.org/cookbooks/agents_message.html)** | Best practices for message handling in agents. |
426
+ | **[Tools Cookbook](https://docs.camel-ai.org/cookbooks/agents_with_tools.html)** | Integrating tools for enhanced functionality. |
427
+ | **[Memory Cookbook](https://docs.camel-ai.org/cookbooks/agents_with_memory.html)** | Implementing memory systems in agents. |
428
+ | **[RAG Cookbook](https://docs.camel-ai.org/cookbooks/agents_with_rag.html)** | Recipes for Retrieval-Augmented Generation. |
429
+ | **[Prompting Cookbook](https://docs.camel-ai.org/cookbooks/agents_prompting.html)** | Techniques for effective prompt creation. |
430
+ | **[Task Generation Cookbook](https://docs.camel-ai.org/cookbooks/task_generation.html)** | Automating task generation for agents. |
431
+ | **[Graph RAG Cookbook](https://docs.camel-ai.org/cookbooks/knowledge_graph.html)** | Leveraging knowledge graphs with RAG. |
432
+ | **[Role-Playing Scraper for Report & Knowledge Graph Generation](https://docs.camel-ai.org/cookbooks/roleplaying_scraper.html)** | Create role-playing agents for data scraping and reporting. |
433
+ | **[Video Analysis](https://docs.camel-ai.org/cookbooks/video_analysis.html)** | Techniques for agents in video data analysis. |
434
+ | **[Track CAMEL Agents with AgentOps](https://docs.camel-ai.org/cookbooks/agents_tracking.html)** | Tools for tracking and managing agents in operations. |
435
+ | **[Create A Hackathon Judge Committee with Workforce](https://docs.camel-ai.org/cookbooks/workforce_judge_committee.html)** | Building a team of agents for collaborative judging. |
436
+ | **[3 Ways to Ingest Data from Websites with Firecrawl](https://docs.camel-ai.org/cookbooks/ingest_data_from_websites_with_Firecrawl.html)** | Explore three methods for extracting and processing data from websites using Firecrawl. |
437
+
388
438
  ## Utilize Various LLMs as Backends
389
439
 
390
440
  For more details, please see our [`Models Documentation`](https://docs.camel-ai.org/key_modules/models.html#).
@@ -411,6 +461,8 @@ For more details, please see our [`Models Documentation`](https://docs.camel-ai.
411
461
  We implemented amazing research ideas from other works for you to build, compare and customize your agents. If you use any of these modules, please kindly cite the original works:
412
462
  - `TaskCreationAgent`, `TaskPrioritizationAgent` and `BabyAGI` from *Nakajima et al.*: [Task-Driven Autonomous Agent](https://yoheinakajima.com/task-driven-autonomous-agent-utilizing-gpt-4-pinecone-and-langchain-for-diverse-applications/). [[Example](https://github.com/camel-ai/camel/blob/master/examples/ai_society/babyagi_playing.py)]
413
463
 
464
+ - `PersonaHub` from *Tao Ge et al.*: [Scaling Synthetic Data Creation with 1,000,000,000 Personas](https://arxiv.org/pdf/2406.20094). [[Example](https://github.com/camel-ai/camel/blob/master/examples/personas/personas_generation.py)]
465
+
414
466
  ## Other Research Works Based on Camel
415
467
  - [Agent Trust](http://agent-trust.camel-ai.org/): Can Large Language Model Agents Simulate Human Trust Behavior?
416
468
 
@@ -144,7 +144,7 @@ conda create --name camel python=3.10
144
144
  conda activate camel
145
145
 
146
146
  # Clone github repo
147
- git clone -b v0.2.8 https://github.com/camel-ai/camel.git
147
+ git clone -b v0.2.10 https://github.com/camel-ai/camel.git
148
148
 
149
149
  # Change directory into project directory
150
150
  cd camel
@@ -160,62 +160,24 @@ pip install -e .[all] # (Optional)
160
160
 
161
161
  Detailed guidance can be find [here](https://github.com/camel-ai/camel/blob/master/.container/README.md)
162
162
 
163
- ## Documentation
164
-
165
- The [complete documentation](https://camel-ai.github.io/camel/) pages for the CAMEL package. Also, detailed tutorials for each part are provided below:
166
-
167
- ### Agents
168
- Explore different types of agents, their roles, and their applications.
169
-
170
- - **[Creating Your First Agent](https://docs.camel-ai.org/cookbooks/create_your_first_agent.html)**
171
- - **[Creating Your First Agent Society](https://docs.camel-ai.org/cookbooks/create_your_first_agents_society.html)**
172
- - **[Embodied Agents](https://docs.camel-ai.org/cookbooks/embodied_agents.html)**
173
- - **[Critic Agents](https://docs.camel-ai.org/cookbooks/critic_agents_and_tree_search.html)**
174
-
175
- ---
163
+ ## Quick Start
176
164
 
177
- ### Key Modules
178
- Core components and utilities to build, operate, and enhance CAMEL-AI agents and societies.
165
+ By default, the agent uses the `ModelType.DEFAULT` model from the `ModelPlatformType.DEFAULT`. You can configure the default model platform and model type using environment variables. If these are not set, the agent will fall back to the default settings:
179
166
 
180
- | Module | Description |
181
- |:---|:---|
182
- | **[Models](https://docs.camel-ai.org/key_modules/models.html)** | Model architectures and customization options for agent intelligence. |
183
- | **[Messages](https://docs.camel-ai.org/key_modules/messages.html)** | Messaging protocols for agent communication. |
184
- | **[Memory](https://docs.camel-ai.org/key_modules/memory.html)** | Memory storage and retrieval mechanisms. |
185
- | **[Tools](https://docs.camel-ai.org/key_modules/tools.html)** | Tools integration for specialized agent tasks. |
186
- | **[Prompts](https://docs.camel-ai.org/key_modules/prompts.html)** | Prompt engineering and customization. |
187
- | **[Tasks](https://docs.camel-ai.org/key_modules/tasks.html)** | Task creation and management for agent workflows. |
188
- | **[Loaders](https://docs.camel-ai.org/key_modules/loaders.html)** | Data loading tools for agent operation. |
189
- | **[Storages](https://docs.camel-ai.org/key_modules/storages.html)** | Storage solutions for agent. |
190
- | **[Society](https://docs.camel-ai.org/key_modules/society.html)** | Components for building agent societies and inter-agent collaboration. |
191
- | **[Embeddings](https://docs.camel-ai.org/key_modules/embeddings.html)** | Embedding models for RAG. |
192
- | **[Retrievers](https://docs.camel-ai.org/key_modules/retrievers.html)** | Retrieval methods for knowledge access. |
193
- ---
194
-
195
- ### Cookbooks
196
- Practical guides and tutorials for implementing specific functionalities in CAMEL-AI agents and societies.
167
+ ```bash
168
+ ModelPlatformType.DEFAULT = "openai"
169
+ ModelType.DEFAULT = "gpt-4o-mini"
170
+ ```
197
171
 
198
- | Cookbook | Description |
199
- |:---|:---|
200
- | **[Creating Your First Agent](https://docs.camel-ai.org/cookbooks/create_your_first_agent.html)** | A step-by-step guide to building your first agent. |
201
- | **[Creating Your First Agent Society](https://docs.camel-ai.org/cookbooks/create_your_first_agents_society.html)** | Learn to build a collaborative society of agents. |
202
- | **[Society Cookbook](https://docs.camel-ai.org/cookbooks/agents_society.html)** | Advanced configurations for agent societies. |
203
- | **[Model Speed Comparison Cookbook](https://docs.camel-ai.org/cookbooks/model_speed_comparison.html)** | Benchmarking models for performance. |
204
- | **[Message Cookbook](https://docs.camel-ai.org/cookbooks/agents_message.html)** | Best practices for message handling in agents. |
205
- | **[Tools Cookbook](https://docs.camel-ai.org/cookbooks/agents_with_tools.html)** | Integrating tools for enhanced functionality. |
206
- | **[Memory Cookbook](https://docs.camel-ai.org/cookbooks/agents_with_memory.html)** | Implementing memory systems in agents. |
207
- | **[RAG Cookbook](https://docs.camel-ai.org/cookbooks/agents_with_rag.html)** | Recipes for Retrieval-Augmented Generation. |
208
- | **[Prompting Cookbook](https://docs.camel-ai.org/cookbooks/agents_prompting.html)** | Techniques for effective prompt creation. |
209
- | **[Task Generation Cookbook](https://docs.camel-ai.org/cookbooks/task_generation.html)** | Automating task generation for agents. |
210
- | **[Graph RAG Cookbook](https://docs.camel-ai.org/cookbooks/knowledge_graph.html)** | Leveraging knowledge graphs with RAG. |
211
- | **[Role-Playing Scraper for Report & Knowledge Graph Generation](https://docs.camel-ai.org/cookbooks/roleplaying_scraper.html)** | Create role-playing agents for data scraping and reporting. |
212
- | **[Video Analysis](https://docs.camel-ai.org/cookbooks/video_analysis.html)** | Techniques for agents in video data analysis. |
213
- | **[Track CAMEL Agents with AgentOps](https://docs.camel-ai.org/cookbooks/agents_tracking.html)** | Tools for tracking and managing agents in operations. |
214
- | **[Create A Hackathon Judge Committee with Workforce](https://docs.camel-ai.org/cookbooks/workforce_judge_committee.html)** | Building a team of agents for collaborative judging. |
172
+ ### Setting Default Model Platform and Model Type (Optional)
215
173
 
216
- ## Examples
174
+ You can customize the default model platform and model type by setting the following environment variables:
175
+ ```bash
176
+ export DEFAULT_MODEL_PLATFORM_TYPE=<your preferred platform> # e.g., openai, anthropic, etc.
177
+ export DEFAULT_MODEL_TYPE=<your preferred model> # e.g., gpt-3.5-turbo, gpt-4o-mini, etc.
178
+ ```
217
179
 
218
- First, you need to add your OpenAI API key to system environment variables. The method to do this depends on your operating system and the shell you're using.
180
+ ### Setting Your Model API Key (Using OpenAI as an Example)
219
181
 
220
182
  **For Bash shell (Linux, macOS, Git Bash on Windows):**
221
183
 
@@ -246,6 +208,37 @@ Replace `<insert your OpenAI API key>` with your actual OpenAI API key in each c
246
208
 
247
209
  Please note that the environment variable is session-specific. If you open a new terminal window or tab, you will need to set the API key again in that new session.
248
210
 
211
+ **For `.env` File:**
212
+
213
+ To simplify the process of managing API Keys, you can use store information in a `.env` file and load them into your application dynamically.
214
+
215
+ 1. Modify .env file in the root directory of CAMEL and fill the following lines:
216
+
217
+ ```bash
218
+ OPENAI_API_KEY=<fill your API KEY here>
219
+ ```
220
+
221
+ Replace <fill your API KEY here> with your actual API key.
222
+
223
+ 2. Load the .env file in your Python script: Use the load_dotenv() function from the dotenv module to load the variables from the .env file into the environment. Here's an example:
224
+
225
+ ```python
226
+ from dotenv import load_dotenv
227
+ import os
228
+
229
+ # Load environment variables from the .env file
230
+ load_dotenv()
231
+ ```
232
+ For more details about the key names in project and how to apply key,
233
+ you can refer to [here](https://github.com/camel-ai/camel/.env).
234
+
235
+ > [!TIP]
236
+ > By default, the load_dotenv() function does not overwrite existing environment variables that are already set in your system. It only populates variables that are missing.
237
+ If you need to overwrite existing environment variables with the values from your `.env` file, use the `override=True` parameter:
238
+ > ```python
239
+ > load_dotenv(override=True)
240
+ > ```
241
+
249
242
  After setting the OpenAI API key, you can run the `role_playing.py` script. Find tasks for various assistant-user roles [here](https://drive.google.com/file/d/194PPaSTBR07m-PzjS-Ty6KlPLdFIPQDd/view?usp=share_link).
250
243
 
251
244
  ```bash
@@ -275,6 +268,60 @@ python examples/vision/image_crafting.py
275
268
  ```
276
269
  For additional feature examples, see the [`examples`](https://github.com/camel-ai/camel/tree/master/examples) directory.
277
270
 
271
+ ## Documentation
272
+
273
+ The [complete documentation](https://camel-ai.github.io/camel/) pages for the CAMEL package. Also, detailed tutorials for each part are provided below:
274
+
275
+ ### Agents
276
+ Explore different types of agents, their roles, and their applications.
277
+
278
+ - **[Creating Your First Agent](https://docs.camel-ai.org/cookbooks/create_your_first_agent.html)**
279
+ - **[Creating Your First Agent Society](https://docs.camel-ai.org/cookbooks/create_your_first_agents_society.html)**
280
+ - **[Embodied Agents](https://docs.camel-ai.org/cookbooks/embodied_agents.html)**
281
+ - **[Critic Agents](https://docs.camel-ai.org/cookbooks/critic_agents_and_tree_search.html)**
282
+
283
+ ---
284
+
285
+ ### Key Modules
286
+ Core components and utilities to build, operate, and enhance CAMEL-AI agents and societies.
287
+
288
+ | Module | Description |
289
+ |:---|:---|
290
+ | **[Models](https://docs.camel-ai.org/key_modules/models.html)** | Model architectures and customization options for agent intelligence. |
291
+ | **[Messages](https://docs.camel-ai.org/key_modules/messages.html)** | Messaging protocols for agent communication. |
292
+ | **[Memory](https://docs.camel-ai.org/key_modules/memory.html)** | Memory storage and retrieval mechanisms. |
293
+ | **[Tools](https://docs.camel-ai.org/key_modules/tools.html)** | Tools integration for specialized agent tasks. |
294
+ | **[Prompts](https://docs.camel-ai.org/key_modules/prompts.html)** | Prompt engineering and customization. |
295
+ | **[Tasks](https://docs.camel-ai.org/key_modules/tasks.html)** | Task creation and management for agent workflows. |
296
+ | **[Loaders](https://docs.camel-ai.org/key_modules/loaders.html)** | Data loading tools for agent operation. |
297
+ | **[Storages](https://docs.camel-ai.org/key_modules/storages.html)** | Storage solutions for agent. |
298
+ | **[Society](https://docs.camel-ai.org/key_modules/society.html)** | Components for building agent societies and inter-agent collaboration. |
299
+ | **[Embeddings](https://docs.camel-ai.org/key_modules/embeddings.html)** | Embedding models for RAG. |
300
+ | **[Retrievers](https://docs.camel-ai.org/key_modules/retrievers.html)** | Retrieval methods for knowledge access. |
301
+ ---
302
+
303
+ ### Cookbooks
304
+ Practical guides and tutorials for implementing specific functionalities in CAMEL-AI agents and societies.
305
+
306
+ | Cookbook | Description |
307
+ |:---|:---|
308
+ | **[Creating Your First Agent](https://docs.camel-ai.org/cookbooks/create_your_first_agent.html)** | A step-by-step guide to building your first agent. |
309
+ | **[Creating Your First Agent Society](https://docs.camel-ai.org/cookbooks/create_your_first_agents_society.html)** | Learn to build a collaborative society of agents. |
310
+ | **[Society Cookbook](https://docs.camel-ai.org/cookbooks/agents_society.html)** | Advanced configurations for agent societies. |
311
+ | **[Model Speed Comparison Cookbook](https://docs.camel-ai.org/cookbooks/model_speed_comparison.html)** | Benchmarking models for performance. |
312
+ | **[Message Cookbook](https://docs.camel-ai.org/cookbooks/agents_message.html)** | Best practices for message handling in agents. |
313
+ | **[Tools Cookbook](https://docs.camel-ai.org/cookbooks/agents_with_tools.html)** | Integrating tools for enhanced functionality. |
314
+ | **[Memory Cookbook](https://docs.camel-ai.org/cookbooks/agents_with_memory.html)** | Implementing memory systems in agents. |
315
+ | **[RAG Cookbook](https://docs.camel-ai.org/cookbooks/agents_with_rag.html)** | Recipes for Retrieval-Augmented Generation. |
316
+ | **[Prompting Cookbook](https://docs.camel-ai.org/cookbooks/agents_prompting.html)** | Techniques for effective prompt creation. |
317
+ | **[Task Generation Cookbook](https://docs.camel-ai.org/cookbooks/task_generation.html)** | Automating task generation for agents. |
318
+ | **[Graph RAG Cookbook](https://docs.camel-ai.org/cookbooks/knowledge_graph.html)** | Leveraging knowledge graphs with RAG. |
319
+ | **[Role-Playing Scraper for Report & Knowledge Graph Generation](https://docs.camel-ai.org/cookbooks/roleplaying_scraper.html)** | Create role-playing agents for data scraping and reporting. |
320
+ | **[Video Analysis](https://docs.camel-ai.org/cookbooks/video_analysis.html)** | Techniques for agents in video data analysis. |
321
+ | **[Track CAMEL Agents with AgentOps](https://docs.camel-ai.org/cookbooks/agents_tracking.html)** | Tools for tracking and managing agents in operations. |
322
+ | **[Create A Hackathon Judge Committee with Workforce](https://docs.camel-ai.org/cookbooks/workforce_judge_committee.html)** | Building a team of agents for collaborative judging. |
323
+ | **[3 Ways to Ingest Data from Websites with Firecrawl](https://docs.camel-ai.org/cookbooks/ingest_data_from_websites_with_Firecrawl.html)** | Explore three methods for extracting and processing data from websites using Firecrawl. |
324
+
278
325
  ## Utilize Various LLMs as Backends
279
326
 
280
327
  For more details, please see our [`Models Documentation`](https://docs.camel-ai.org/key_modules/models.html#).
@@ -301,6 +348,8 @@ For more details, please see our [`Models Documentation`](https://docs.camel-ai.
301
348
  We implemented amazing research ideas from other works for you to build, compare and customize your agents. If you use any of these modules, please kindly cite the original works:
302
349
  - `TaskCreationAgent`, `TaskPrioritizationAgent` and `BabyAGI` from *Nakajima et al.*: [Task-Driven Autonomous Agent](https://yoheinakajima.com/task-driven-autonomous-agent-utilizing-gpt-4-pinecone-and-langchain-for-diverse-applications/). [[Example](https://github.com/camel-ai/camel/blob/master/examples/ai_society/babyagi_playing.py)]
303
350
 
351
+ - `PersonaHub` from *Tao Ge et al.*: [Scaling Synthetic Data Creation with 1,000,000,000 Personas](https://arxiv.org/pdf/2406.20094). [[Example](https://github.com/camel-ai/camel/blob/master/examples/personas/personas_generation.py)]
352
+
304
353
  ## Other Research Works Based on Camel
305
354
  - [Agent Trust](http://agent-trust.camel-ai.org/): Can Large Language Model Agents Simulate Human Trust Behavior?
306
355
 
@@ -1,18 +1,18 @@
1
- # =========== Copyright 2023 @ CAMEL-AI.org. All Rights Reserved. ===========
2
- # Licensed under the Apache License, Version 2.0 (the License);
1
+ # ========= Copyright 2023-2024 @ CAMEL-AI.org. All Rights Reserved. =========
2
+ # Licensed under the Apache License, Version 2.0 (the "License");
3
3
  # you may not use this file except in compliance with the License.
4
4
  # You may obtain a copy of the License at
5
5
  #
6
6
  # http://www.apache.org/licenses/LICENSE-2.0
7
7
  #
8
8
  # Unless required by applicable law or agreed to in writing, software
9
- # distributed under the License is distributed on an AS IS BASIS,
9
+ # distributed under the License is distributed on an "AS IS" BASIS,
10
10
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
11
  # See the License for the specific language governing permissions and
12
12
  # limitations under the License.
13
- # =========== Copyright 2023 @ CAMEL-AI.org. All Rights Reserved. ===========
13
+ # ========= Copyright 2023-2024 @ CAMEL-AI.org. All Rights Reserved. =========
14
14
 
15
- __version__ = '0.2.8'
15
+ __version__ = '0.2.10'
16
16
 
17
17
  __all__ = [
18
18
  '__version__',
@@ -1,16 +1,16 @@
1
- # =========== Copyright 2023 @ CAMEL-AI.org. All Rights Reserved. ===========
2
- # Licensed under the Apache License, Version 2.0 (the License);
1
+ # ========= Copyright 2023-2024 @ CAMEL-AI.org. All Rights Reserved. =========
2
+ # Licensed under the Apache License, Version 2.0 (the "License");
3
3
  # you may not use this file except in compliance with the License.
4
4
  # You may obtain a copy of the License at
5
5
  #
6
6
  # http://www.apache.org/licenses/LICENSE-2.0
7
7
  #
8
8
  # Unless required by applicable law or agreed to in writing, software
9
- # distributed under the License is distributed on an AS IS BASIS,
9
+ # distributed under the License is distributed on an "AS IS" BASIS,
10
10
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
11
  # See the License for the specific language governing permissions and
12
12
  # limitations under the License.
13
- # =========== Copyright 2023 @ CAMEL-AI.org. All Rights Reserved. ===========
13
+ # ========= Copyright 2023-2024 @ CAMEL-AI.org. All Rights Reserved. =========
14
14
  from .base import BaseAgent
15
15
  from .chat_agent import ChatAgent
16
16
  from .critic_agent import CriticAgent
@@ -1,16 +1,16 @@
1
- # =========== Copyright 2023 @ CAMEL-AI.org. All Rights Reserved. ===========
2
- # Licensed under the Apache License, Version 2.0 (the License);
1
+ # ========= Copyright 2023-2024 @ CAMEL-AI.org. All Rights Reserved. =========
2
+ # Licensed under the Apache License, Version 2.0 (the "License");
3
3
  # you may not use this file except in compliance with the License.
4
4
  # You may obtain a copy of the License at
5
5
  #
6
6
  # http://www.apache.org/licenses/LICENSE-2.0
7
7
  #
8
8
  # Unless required by applicable law or agreed to in writing, software
9
- # distributed under the License is distributed on an AS IS BASIS,
9
+ # distributed under the License is distributed on an "AS IS" BASIS,
10
10
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
11
  # See the License for the specific language governing permissions and
12
12
  # limitations under the License.
13
- # =========== Copyright 2023 @ CAMEL-AI.org. All Rights Reserved. ===========
13
+ # ========= Copyright 2023-2024 @ CAMEL-AI.org. All Rights Reserved. =========
14
14
  from abc import ABC, abstractmethod
15
15
  from typing import Any
16
16