camel-ai 0.1.9__tar.gz → 0.2.0__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 (196) hide show
  1. {camel_ai-0.1.9 → camel_ai-0.2.0}/PKG-INFO +3 -2
  2. {camel_ai-0.1.9 → camel_ai-0.2.0}/README.md +1 -1
  3. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/__init__.py +1 -1
  4. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/agents/chat_agent.py +10 -0
  5. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/models/openai_model.py +16 -0
  6. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/__init__.py +15 -24
  7. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/google_maps_toolkit.py +0 -7
  8. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/linkedin_toolkit.py +0 -3
  9. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/open_api_toolkit.py +0 -3
  10. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/reddit_toolkit.py +0 -3
  11. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/retrieval_toolkit.py +0 -4
  12. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/slack_toolkit.py +0 -3
  13. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/twitter_toolkit.py +2 -5
  14. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/utils/token_counting.py +8 -2
  15. {camel_ai-0.1.9 → camel_ai-0.2.0}/pyproject.toml +5 -4
  16. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/agents/__init__.py +0 -0
  17. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/agents/base.py +0 -0
  18. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/agents/critic_agent.py +0 -0
  19. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/agents/deductive_reasoner_agent.py +0 -0
  20. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/agents/embodied_agent.py +0 -0
  21. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/agents/knowledge_graph_agent.py +0 -0
  22. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/agents/role_assignment_agent.py +0 -0
  23. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/agents/search_agent.py +0 -0
  24. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/agents/task_agent.py +0 -0
  25. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/agents/tool_agents/__init__.py +0 -0
  26. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/agents/tool_agents/base.py +0 -0
  27. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/agents/tool_agents/hugging_face_tool_agent.py +0 -0
  28. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/configs/__init__.py +0 -0
  29. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/configs/anthropic_config.py +0 -0
  30. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/configs/base_config.py +0 -0
  31. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/configs/gemini_config.py +0 -0
  32. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/configs/groq_config.py +0 -0
  33. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/configs/litellm_config.py +0 -0
  34. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/configs/mistral_config.py +0 -0
  35. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/configs/ollama_config.py +0 -0
  36. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/configs/openai_config.py +0 -0
  37. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/configs/reka_config.py +0 -0
  38. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/configs/samba_config.py +0 -0
  39. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/configs/togetherai_config.py +0 -0
  40. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/configs/vllm_config.py +0 -0
  41. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/configs/zhipuai_config.py +0 -0
  42. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/embeddings/__init__.py +0 -0
  43. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/embeddings/base.py +0 -0
  44. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/embeddings/mistral_embedding.py +0 -0
  45. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/embeddings/openai_embedding.py +0 -0
  46. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/embeddings/sentence_transformers_embeddings.py +0 -0
  47. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/embeddings/vlm_embedding.py +0 -0
  48. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/generators.py +0 -0
  49. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/human.py +0 -0
  50. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/interpreters/__init__.py +0 -0
  51. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/interpreters/base.py +0 -0
  52. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/interpreters/docker_interpreter.py +0 -0
  53. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/interpreters/internal_python_interpreter.py +0 -0
  54. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/interpreters/interpreter_error.py +0 -0
  55. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/interpreters/ipython_interpreter.py +0 -0
  56. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/interpreters/subprocess_interpreter.py +0 -0
  57. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/loaders/__init__.py +0 -0
  58. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/loaders/base_io.py +0 -0
  59. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/loaders/firecrawl_reader.py +0 -0
  60. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/loaders/jina_url_reader.py +0 -0
  61. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/loaders/unstructured_io.py +0 -0
  62. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/memories/__init__.py +0 -0
  63. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/memories/agent_memories.py +0 -0
  64. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/memories/base.py +0 -0
  65. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/memories/blocks/__init__.py +0 -0
  66. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/memories/blocks/chat_history_block.py +0 -0
  67. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/memories/blocks/vectordb_block.py +0 -0
  68. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/memories/context_creators/__init__.py +0 -0
  69. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/memories/context_creators/score_based.py +0 -0
  70. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/memories/records.py +0 -0
  71. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/messages/__init__.py +0 -0
  72. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/messages/base.py +0 -0
  73. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/messages/func_message.py +0 -0
  74. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/models/__init__.py +0 -0
  75. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/models/anthropic_model.py +0 -0
  76. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/models/azure_openai_model.py +0 -0
  77. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/models/base_model.py +0 -0
  78. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/models/gemini_model.py +0 -0
  79. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/models/groq_model.py +0 -0
  80. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/models/litellm_model.py +0 -0
  81. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/models/mistral_model.py +0 -0
  82. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/models/model_factory.py +0 -0
  83. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/models/nemotron_model.py +0 -0
  84. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/models/ollama_model.py +0 -0
  85. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/models/open_source_model.py +0 -0
  86. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/models/openai_audio_models.py +0 -0
  87. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/models/openai_compatibility_model.py +0 -0
  88. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/models/reka_model.py +0 -0
  89. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/models/samba_model.py +0 -0
  90. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/models/stub_model.py +0 -0
  91. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/models/togetherai_model.py +0 -0
  92. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/models/vllm_model.py +0 -0
  93. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/models/zhipuai_model.py +0 -0
  94. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/prompts/__init__.py +0 -0
  95. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/prompts/ai_society.py +0 -0
  96. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/prompts/base.py +0 -0
  97. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/prompts/code.py +0 -0
  98. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/prompts/evaluation.py +0 -0
  99. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/prompts/generate_text_embedding_data.py +0 -0
  100. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/prompts/image_craft.py +0 -0
  101. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/prompts/misalignment.py +0 -0
  102. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/prompts/multi_condition_image_craft.py +0 -0
  103. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/prompts/object_recognition.py +0 -0
  104. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/prompts/prompt_templates.py +0 -0
  105. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/prompts/role_description_prompt_template.py +0 -0
  106. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/prompts/solution_extraction.py +0 -0
  107. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/prompts/task_prompt_template.py +0 -0
  108. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/prompts/translation.py +0 -0
  109. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/prompts/video_description_prompt.py +0 -0
  110. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/responses/__init__.py +0 -0
  111. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/responses/agent_responses.py +0 -0
  112. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/retrievers/__init__.py +0 -0
  113. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/retrievers/auto_retriever.py +0 -0
  114. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/retrievers/base.py +0 -0
  115. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/retrievers/bm25_retriever.py +0 -0
  116. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/retrievers/cohere_rerank_retriever.py +0 -0
  117. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/retrievers/vector_retriever.py +0 -0
  118. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/societies/__init__.py +0 -0
  119. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/societies/babyagi_playing.py +0 -0
  120. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/societies/role_playing.py +0 -0
  121. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/storages/__init__.py +0 -0
  122. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/storages/graph_storages/__init__.py +0 -0
  123. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/storages/graph_storages/base.py +0 -0
  124. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/storages/graph_storages/graph_element.py +0 -0
  125. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/storages/graph_storages/neo4j_graph.py +0 -0
  126. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/storages/key_value_storages/__init__.py +0 -0
  127. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/storages/key_value_storages/base.py +0 -0
  128. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/storages/key_value_storages/in_memory.py +0 -0
  129. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/storages/key_value_storages/json.py +0 -0
  130. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/storages/key_value_storages/redis.py +0 -0
  131. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/storages/object_storages/__init__.py +0 -0
  132. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/storages/object_storages/amazon_s3.py +0 -0
  133. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/storages/object_storages/azure_blob.py +0 -0
  134. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/storages/object_storages/base.py +0 -0
  135. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/storages/object_storages/google_cloud.py +0 -0
  136. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/storages/vectordb_storages/__init__.py +0 -0
  137. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/storages/vectordb_storages/base.py +0 -0
  138. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/storages/vectordb_storages/milvus.py +0 -0
  139. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/storages/vectordb_storages/qdrant.py +0 -0
  140. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/tasks/__init__.py +0 -0
  141. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/tasks/task.py +0 -0
  142. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/tasks/task_prompt.py +0 -0
  143. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/terminators/__init__.py +0 -0
  144. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/terminators/base.py +0 -0
  145. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/terminators/response_terminator.py +0 -0
  146. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/terminators/token_limit_terminator.py +0 -0
  147. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/base.py +0 -0
  148. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/code_execution.py +0 -0
  149. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/dalle_toolkit.py +0 -0
  150. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/github_toolkit.py +0 -0
  151. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/math_toolkit.py +0 -0
  152. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/open_api_specs/biztoc/__init__.py +0 -0
  153. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/open_api_specs/biztoc/ai-plugin.json +0 -0
  154. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/open_api_specs/biztoc/openapi.yaml +0 -0
  155. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/open_api_specs/coursera/__init__.py +0 -0
  156. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/open_api_specs/coursera/openapi.yaml +0 -0
  157. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/open_api_specs/create_qr_code/__init__.py +0 -0
  158. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/open_api_specs/create_qr_code/openapi.yaml +0 -0
  159. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/open_api_specs/klarna/__init__.py +0 -0
  160. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/open_api_specs/klarna/openapi.yaml +0 -0
  161. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/open_api_specs/nasa_apod/__init__.py +0 -0
  162. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/open_api_specs/nasa_apod/openapi.yaml +0 -0
  163. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/open_api_specs/outschool/__init__.py +0 -0
  164. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/open_api_specs/outschool/ai-plugin.json +0 -0
  165. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/open_api_specs/outschool/openapi.yaml +0 -0
  166. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/open_api_specs/outschool/paths/__init__.py +0 -0
  167. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/open_api_specs/outschool/paths/get_classes.py +0 -0
  168. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/open_api_specs/outschool/paths/search_teachers.py +0 -0
  169. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/open_api_specs/security_config.py +0 -0
  170. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/open_api_specs/speak/__init__.py +0 -0
  171. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/open_api_specs/speak/openapi.yaml +0 -0
  172. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/open_api_specs/web_scraper/__init__.py +0 -0
  173. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/open_api_specs/web_scraper/ai-plugin.json +0 -0
  174. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/open_api_specs/web_scraper/openapi.yaml +0 -0
  175. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/open_api_specs/web_scraper/paths/__init__.py +0 -0
  176. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/open_api_specs/web_scraper/paths/scraper.py +0 -0
  177. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/openai_function.py +0 -0
  178. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/search_toolkit.py +0 -0
  179. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/toolkits/weather_toolkit.py +0 -0
  180. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/types/__init__.py +0 -0
  181. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/types/enums.py +0 -0
  182. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/types/openai_types.py +0 -0
  183. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/utils/__init__.py +0 -0
  184. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/utils/async_func.py +0 -0
  185. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/utils/commons.py +0 -0
  186. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/utils/constants.py +0 -0
  187. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/workforce/__init__.py +0 -0
  188. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/workforce/base.py +0 -0
  189. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/workforce/manager_node.py +0 -0
  190. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/workforce/role_playing_node.py +0 -0
  191. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/workforce/single_agent_node.py +0 -0
  192. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/workforce/task_channel.py +0 -0
  193. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/workforce/utils.py +0 -0
  194. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/workforce/worker_node.py +0 -0
  195. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/workforce/workforce.py +0 -0
  196. {camel_ai-0.1.9 → camel_ai-0.2.0}/camel/workforce/workforce_prompt.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: camel-ai
3
- Version: 0.1.9
3
+ Version: 0.2.0
4
4
  Summary: Communicative Agents for AI Society Study
5
5
  Home-page: https://www.camel-ai.org/
6
6
  License: Apache-2.0
@@ -59,6 +59,7 @@ Requires-Dist: numpy (>=1,<2)
59
59
  Requires-Dist: openai (>=1.45.0,<2.0.0)
60
60
  Requires-Dist: openapi-spec-validator (>=0.7.1,<0.8.0) ; extra == "tools" or extra == "all"
61
61
  Requires-Dist: opencv-python (>=4,<5) ; extra == "huggingface-agent" or extra == "all"
62
+ Requires-Dist: pandoc
62
63
  Requires-Dist: pathlib (>=1.0.1,<2.0.0)
63
64
  Requires-Dist: pillow (>=10.2.0,<11.0.0) ; extra == "tools" or extra == "all"
64
65
  Requires-Dist: prance (>=23.6.21.0,<24.0.0.0) ; extra == "tools" or extra == "all"
@@ -213,7 +214,7 @@ conda create --name camel python=3.10
213
214
  conda activate camel
214
215
 
215
216
  # Clone github repo
216
- git clone -b v0.1.9 https://github.com/camel-ai/camel.git
217
+ git clone -b v0.2.0 https://github.com/camel-ai/camel.git
217
218
 
218
219
  # Change directory into project directory
219
220
  cd camel
@@ -119,7 +119,7 @@ conda create --name camel python=3.10
119
119
  conda activate camel
120
120
 
121
121
  # Clone github repo
122
- git clone -b v0.1.9 https://github.com/camel-ai/camel.git
122
+ git clone -b v0.2.0 https://github.com/camel-ai/camel.git
123
123
 
124
124
  # Change directory into project directory
125
125
  cd camel
@@ -12,7 +12,7 @@
12
12
  # limitations under the License.
13
13
  # =========== Copyright 2023 @ CAMEL-AI.org. All Rights Reserved. ===========
14
14
 
15
- __version__ = '0.1.9'
15
+ __version__ = '0.2.0'
16
16
 
17
17
  __all__ = [
18
18
  '__version__',
@@ -181,6 +181,16 @@ class ChatAgent(BaseAgent):
181
181
  tool.get_function_name(): tool.func for tool in all_tools
182
182
  }
183
183
 
184
+ # If the user hasn't configured tools in `BaseModelBackend`,
185
+ # the tools set from `ChatAgent` will be used.
186
+ # This design simplifies the interface while retaining tool-running
187
+ # capabilities for `BaseModelBackend`.
188
+ if all_tools and not self.model_backend.model_config_dict['tools']:
189
+ tool_schema_list = [
190
+ tool.get_openai_tool_schema() for tool in all_tools
191
+ ]
192
+ self.model_backend.model_config_dict['tools'] = tool_schema_list
193
+
184
194
  self.model_config_dict = self.model_backend.model_config_dict
185
195
 
186
196
  self.model_token_limit = token_limit or self.model_backend.token_limit
@@ -93,6 +93,22 @@ class OpenAIModel(BaseModelBackend):
93
93
  `ChatCompletion` in the non-stream mode, or
94
94
  `Stream[ChatCompletionChunk]` in the stream mode.
95
95
  """
96
+ # o1-preview and o1-mini have Beta limitations
97
+ # reference: https://platform.openai.com/docs/guides/reasoning
98
+ if self.model_type in [ModelType.O1_MINI, ModelType.O1_PREVIEW]:
99
+ # Remove system message that is not supported in o1 model.
100
+ messages = [msg for msg in messages if msg.get("role") != "system"]
101
+
102
+ # Remove unsupported parameters and reset the fixed parameters
103
+ del self.model_config_dict["stream"]
104
+ del self.model_config_dict["tools"]
105
+ del self.model_config_dict["tool_choice"]
106
+ self.model_config_dict["temperature"] = 1.0
107
+ self.model_config_dict["top_p"] = 1.0
108
+ self.model_config_dict["n"] = 1.0
109
+ self.model_config_dict["presence_penalty"] = 0.0
110
+ self.model_config_dict["frequency_penalty"] = 0.0
111
+
96
112
  response = self._client.chat.completions.create(
97
113
  messages=messages,
98
114
  model=self.model_type.value,
@@ -19,19 +19,18 @@ from .openai_function import (
19
19
  )
20
20
  from .open_api_specs.security_config import openapi_security_config
21
21
 
22
- from .google_maps_toolkit import MAP_FUNCS, GoogleMapsToolkit
23
- from .math_toolkit import MATH_FUNCS, MathToolkit
24
- from .open_api_toolkit import OPENAPI_FUNCS, OpenAPIToolkit
25
- from .retrieval_toolkit import RETRIEVAL_FUNCS, RetrievalToolkit
26
- from .search_toolkit import SEARCH_FUNCS, SearchToolkit
27
- from .twitter_toolkit import TWITTER_FUNCS, TwitterToolkit
28
- from .weather_toolkit import WEATHER_FUNCS, WeatherToolkit
29
- from .slack_toolkit import SLACK_FUNCS, SlackToolkit
30
- from .dalle_toolkit import DALLE_FUNCS, DalleToolkit
31
- from .linkedin_toolkit import LINKEDIN_FUNCS, LinkedInToolkit
32
- from .reddit_toolkit import REDDIT_FUNCS, RedditToolkit
22
+ from .google_maps_toolkit import GoogleMapsToolkit
23
+ from .math_toolkit import MathToolkit, MATH_FUNCS
24
+ from .open_api_toolkit import OpenAPIToolkit
25
+ from .retrieval_toolkit import RetrievalToolkit
26
+ from .search_toolkit import SearchToolkit, SEARCH_FUNCS
27
+ from .twitter_toolkit import TwitterToolkit
28
+ from .weather_toolkit import WeatherToolkit, WEATHER_FUNCS
29
+ from .slack_toolkit import SlackToolkit
30
+ from .dalle_toolkit import DalleToolkit, DALLE_FUNCS
31
+ from .linkedin_toolkit import LinkedInToolkit
32
+ from .reddit_toolkit import RedditToolkit
33
33
 
34
- from .base import BaseToolkit
35
34
  from .code_execution import CodeExecutionToolkit
36
35
  from .github_toolkit import GithubToolkit
37
36
 
@@ -40,18 +39,6 @@ __all__ = [
40
39
  'get_openai_function_schema',
41
40
  'get_openai_tool_schema',
42
41
  'openapi_security_config',
43
- 'MATH_FUNCS',
44
- 'MAP_FUNCS',
45
- 'OPENAPI_FUNCS',
46
- 'RETRIEVAL_FUNCS',
47
- 'SEARCH_FUNCS',
48
- 'TWITTER_FUNCS',
49
- 'WEATHER_FUNCS',
50
- 'SLACK_FUNCS',
51
- 'DALLE_FUNCS',
52
- 'LINKEDIN_FUNCS',
53
- 'REDDIT_FUNCS',
54
- 'BaseToolkit',
55
42
  'GithubToolkit',
56
43
  'MathToolkit',
57
44
  'GoogleMapsToolkit',
@@ -65,4 +52,8 @@ __all__ = [
65
52
  'LinkedInToolkit',
66
53
  'RedditToolkit',
67
54
  'CodeExecutionToolkit',
55
+ 'MATH_FUNCS',
56
+ 'SEARCH_FUNCS',
57
+ 'WEATHER_FUNCS',
58
+ 'DALLE_FUNCS',
68
59
  ]
@@ -142,10 +142,6 @@ class GoogleMapsToolkit(BaseToolkit):
142
142
  information on address completion, formatted address,
143
143
  geographical coordinates (latitude and longitude), and metadata
144
144
  types true for the address.
145
-
146
- Raises:
147
- ImportError: If the `googlemaps` library is not installed.
148
- Exception: For unexpected errors during the address validation.
149
145
  """
150
146
  addressvalidation_result = self.gmaps.addressvalidation(
151
147
  [address],
@@ -304,6 +300,3 @@ class GoogleMapsToolkit(BaseToolkit):
304
300
  OpenAIFunction(self.get_elevation),
305
301
  OpenAIFunction(self.get_timezone),
306
302
  ]
307
-
308
-
309
- MAP_FUNCS: List[OpenAIFunction] = GoogleMapsToolkit().get_tools()
@@ -225,6 +225,3 @@ class LinkedInToolkit(BaseToolkit):
225
225
  if not token:
226
226
  return "Access token not found. Please set LINKEDIN_ACCESS_TOKEN."
227
227
  return token
228
-
229
-
230
- LINKEDIN_FUNCS: List[OpenAIFunction] = LinkedInToolkit().get_tools()
@@ -542,6 +542,3 @@ class OpenAPIToolkit:
542
542
  OpenAIFunction(a_func, a_schema)
543
543
  for a_func, a_schema in zip(all_funcs_lst, all_schemas_lst)
544
544
  ]
545
-
546
-
547
- OPENAPI_FUNCS: List[OpenAIFunction] = OpenAPIToolkit().get_tools()
@@ -232,6 +232,3 @@ class RedditToolkit(BaseToolkit):
232
232
  OpenAIFunction(self.perform_sentiment_analysis),
233
233
  OpenAIFunction(self.track_keyword_discussions),
234
234
  ]
235
-
236
-
237
- REDDIT_FUNCS: List[OpenAIFunction] = RedditToolkit().get_tools()
@@ -86,7 +86,3 @@ class RetrievalToolkit(BaseToolkit):
86
86
  return [
87
87
  OpenAIFunction(self.information_retrieval),
88
88
  ]
89
-
90
-
91
- # add the function to OpenAIFunction list
92
- RETRIEVAL_FUNCS: List[OpenAIFunction] = RetrievalToolkit().get_tools()
@@ -303,6 +303,3 @@ class SlackToolkit(BaseToolkit):
303
303
  OpenAIFunction(self.send_slack_message),
304
304
  OpenAIFunction(self.delete_slack_message),
305
305
  ]
306
-
307
-
308
- SLACK_FUNCS: List[OpenAIFunction] = SlackToolkit().get_tools()
@@ -410,7 +410,7 @@ class TwitterToolkit(BaseToolkit):
410
410
  return TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET
411
411
 
412
412
  def _get_oauth_session(self) -> requests.Session:
413
- r'''Initiates an OAuth1Session with Twitter's API and returns it.
413
+ r"""Initiates an OAuth1Session with Twitter's API and returns it.
414
414
 
415
415
  The function first fetches a request token, then prompts the user to
416
416
  authorize the application. After the user has authorized the
@@ -431,7 +431,7 @@ class TwitterToolkit(BaseToolkit):
431
431
  Manage-Tweets/create_tweet.py
432
432
  https://github.com/twitterdev/Twitter-API-v2-sample-code/blob/main/
433
433
  User-Lookup/get_users_me_user_context.py
434
- '''
434
+ """
435
435
  try:
436
436
  from requests_oauthlib import OAuth1Session
437
437
  except ImportError:
@@ -517,6 +517,3 @@ class TwitterToolkit(BaseToolkit):
517
517
  return "HTTP Exception"
518
518
  else:
519
519
  return "Unexpected Exception"
520
-
521
-
522
- TWITTER_FUNCS: List[OpenAIFunction] = TwitterToolkit().get_tools()
@@ -193,8 +193,14 @@ def get_model_encoding(value_for_tiktoken: str):
193
193
  try:
194
194
  encoding = tiktoken.encoding_for_model(value_for_tiktoken)
195
195
  except KeyError:
196
- print("Model not found. Using cl100k_base encoding.")
197
- encoding = tiktoken.get_encoding("cl100k_base")
196
+ if value_for_tiktoken in [
197
+ ModelType.O1_MINI.value,
198
+ ModelType.O1_PREVIEW.value,
199
+ ]:
200
+ encoding = tiktoken.get_encoding("o200k_base")
201
+ else:
202
+ print("Model not found. Using cl100k_base encoding.")
203
+ encoding = tiktoken.get_encoding("cl100k_base")
198
204
  return encoding
199
205
 
200
206
 
@@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"
4
4
 
5
5
  [tool.poetry]
6
6
  name = "camel-ai"
7
- version = "0.1.9"
7
+ version = "0.2.0"
8
8
  authors = ["CAMEL-AI.org"]
9
9
  description = "Communicative Agents for AI Society Study"
10
10
  readme = "README.md"
@@ -43,7 +43,7 @@ eval-type-backport = "0.2.0"
43
43
  curl_cffi = "0.6.2"
44
44
  jupyter_client = "^8.6.2"
45
45
  ipykernel = "^6.0.0"
46
-
46
+ pandoc = "*"
47
47
  pillow = "^10.2.0"
48
48
 
49
49
  # model-platforms
@@ -281,10 +281,11 @@ types-requests = "^2"
281
281
  [tool.poetry.group.docs]
282
282
  optional = true
283
283
  [tool.poetry.group.docs.dependencies]
284
- sphinx = "^6"
284
+ sphinx = "^7"
285
285
  sphinx_book_theme = "*"
286
- recommonmark = "*"
287
286
  docutils = "<0.20.0"
287
+ myst-parser = "*"
288
+ nbsphinx = "*"
288
289
 
289
290
  [tool.ruff]
290
291
  line-length = 79
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes