camel-ai 0.2.9__tar.gz → 0.2.11__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.
- {camel_ai-0.2.9 → camel_ai-0.2.11}/PKG-INFO +108 -56
- {camel_ai-0.2.9 → camel_ai-0.2.11}/README.md +101 -52
- camel_ai-0.2.11/camel/__init__.py +25 -0
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/agents/__init__.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/agents/base.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/agents/chat_agent.py +106 -42
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/agents/critic_agent.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/agents/deductive_reasoner_agent.py +8 -5
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/agents/embodied_agent.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/agents/knowledge_graph_agent.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/agents/role_assignment_agent.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/agents/search_agent.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/agents/task_agent.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/agents/tool_agents/__init__.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/agents/tool_agents/base.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/agents/tool_agents/hugging_face_tool_agent.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/bots/__init__.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/bots/discord_app.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/bots/slack/__init__.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/bots/slack/models.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/bots/slack/slack_app.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/bots/telegram_bot.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/configs/__init__.py +13 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/configs/anthropic_config.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/configs/base_config.py +4 -4
- camel_ai-0.2.11/camel/configs/cohere_config.py +76 -0
- camel_ai-0.2.11/camel/configs/deepseek_config.py +134 -0
- camel_ai-0.2.11/camel/configs/gemini_config.py +114 -0
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/configs/groq_config.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/configs/litellm_config.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/configs/mistral_config.py +4 -7
- camel_ai-0.2.11/camel/configs/nvidia_config.py +70 -0
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/configs/ollama_config.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/configs/openai_config.py +32 -7
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/configs/qwen_config.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/configs/reka_config.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/configs/samba_config.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/configs/togetherai_config.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/configs/vllm_config.py +14 -5
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/configs/yi_config.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/configs/zhipuai_config.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/embeddings/__init__.py +6 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/embeddings/base.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/embeddings/mistral_embedding.py +4 -4
- camel_ai-0.2.11/camel/embeddings/openai_compatible_embedding.py +91 -0
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/embeddings/openai_embedding.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/embeddings/sentence_transformers_embeddings.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/embeddings/vlm_embedding.py +8 -5
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/generators.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/human.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/interpreters/__init__.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/interpreters/base.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/interpreters/docker_interpreter.py +11 -6
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/interpreters/internal_python_interpreter.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/interpreters/interpreter_error.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/interpreters/ipython_interpreter.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/interpreters/subprocess_interpreter.py +11 -6
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/loaders/__init__.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/loaders/apify_reader.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/loaders/base_io.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/loaders/chunkr_reader.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/loaders/firecrawl_reader.py +4 -7
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/loaders/jina_url_reader.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/loaders/unstructured_io.py +4 -4
- camel_ai-0.2.11/camel/logger.py +112 -0
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/memories/__init__.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/memories/agent_memories.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/memories/base.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/memories/blocks/__init__.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/memories/blocks/chat_history_block.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/memories/blocks/vectordb_block.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/memories/context_creators/__init__.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/memories/context_creators/score_based.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/memories/records.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/messages/__init__.py +20 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/messages/base.py +118 -11
- camel_ai-0.2.11/camel/messages/conversion/__init__.py +31 -0
- camel_ai-0.2.11/camel/messages/conversion/alpaca.py +122 -0
- camel_ai-0.2.11/camel/messages/conversion/conversation_models.py +178 -0
- {camel_ai-0.2.9/camel → camel_ai-0.2.11/camel/messages/conversion/sharegpt}/__init__.py +7 -7
- camel_ai-0.2.11/camel/messages/conversion/sharegpt/function_call_formatter.py +49 -0
- camel_ai-0.2.11/camel/messages/conversion/sharegpt/hermes/__init__.py +19 -0
- camel_ai-0.2.11/camel/messages/conversion/sharegpt/hermes/hermes_function_formatter.py +128 -0
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/messages/func_message.py +50 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/models/__init__.py +13 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/models/anthropic_model.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/models/azure_openai_model.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/models/base_model.py +4 -4
- camel_ai-0.2.11/camel/models/cohere_model.py +282 -0
- camel_ai-0.2.11/camel/models/deepseek_model.py +139 -0
- camel_ai-0.2.11/camel/models/gemini_model.py +138 -0
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/models/groq_model.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/models/litellm_model.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/models/mistral_model.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/models/model_factory.py +13 -4
- camel_ai-0.2.11/camel/models/model_manager.py +212 -0
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/models/nemotron_model.py +4 -4
- camel_ai-0.2.11/camel/models/nvidia_model.py +141 -0
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/models/ollama_model.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/models/openai_audio_models.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/models/openai_compatible_model.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/models/openai_model.py +43 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/models/qwen_model.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/models/reka_model.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/models/samba_model.py +6 -5
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/models/stub_model.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/models/togetherai_model.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/models/vllm_model.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/models/yi_model.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/models/zhipuai_model.py +4 -4
- camel_ai-0.2.11/camel/personas/__init__.py +17 -0
- camel_ai-0.2.11/camel/personas/persona.py +103 -0
- camel_ai-0.2.11/camel/personas/persona_hub.py +293 -0
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/prompts/__init__.py +6 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/prompts/ai_society.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/prompts/base.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/prompts/code.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/prompts/evaluation.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/prompts/generate_text_embedding_data.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/prompts/image_craft.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/prompts/misalignment.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/prompts/multi_condition_image_craft.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/prompts/object_recognition.py +4 -4
- camel_ai-0.2.11/camel/prompts/persona_hub.py +61 -0
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/prompts/prompt_templates.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/prompts/role_description_prompt_template.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/prompts/solution_extraction.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/prompts/task_prompt_template.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/prompts/translation.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/prompts/video_description_prompt.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/responses/__init__.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/responses/agent_responses.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/retrievers/__init__.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/retrievers/auto_retriever.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/retrievers/base.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/retrievers/bm25_retriever.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/retrievers/cohere_rerank_retriever.py +7 -9
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/retrievers/vector_retriever.py +26 -9
- camel_ai-0.2.11/camel/runtime/__init__.py +29 -0
- camel_ai-0.2.11/camel/runtime/api.py +93 -0
- camel_ai-0.2.11/camel/runtime/base.py +45 -0
- camel_ai-0.2.11/camel/runtime/configs.py +56 -0
- camel_ai-0.2.11/camel/runtime/docker_runtime.py +404 -0
- camel_ai-0.2.11/camel/runtime/llm_guard_runtime.py +199 -0
- camel_ai-0.2.11/camel/runtime/remote_http_runtime.py +204 -0
- camel_ai-0.2.11/camel/runtime/utils/__init__.py +20 -0
- camel_ai-0.2.11/camel/runtime/utils/function_risk_toolkit.py +58 -0
- camel_ai-0.2.11/camel/runtime/utils/ignore_risk_toolkit.py +72 -0
- camel_ai-0.2.11/camel/schemas/__init__.py +17 -0
- camel_ai-0.2.11/camel/schemas/base.py +45 -0
- camel_ai-0.2.11/camel/schemas/openai_converter.py +116 -0
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/societies/__init__.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/societies/babyagi_playing.py +8 -5
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/societies/role_playing.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/societies/workforce/__init__.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/societies/workforce/base.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/societies/workforce/prompts.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/societies/workforce/role_playing_worker.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/societies/workforce/single_agent_worker.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/societies/workforce/task_channel.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/societies/workforce/utils.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/societies/workforce/worker.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/societies/workforce/workforce.py +7 -7
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/storages/__init__.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/storages/graph_storages/__init__.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/storages/graph_storages/base.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/storages/graph_storages/graph_element.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/storages/graph_storages/nebula_graph.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/storages/graph_storages/neo4j_graph.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/storages/key_value_storages/__init__.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/storages/key_value_storages/base.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/storages/key_value_storages/in_memory.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/storages/key_value_storages/json.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/storages/key_value_storages/redis.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/storages/object_storages/__init__.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/storages/object_storages/amazon_s3.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/storages/object_storages/azure_blob.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/storages/object_storages/base.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/storages/object_storages/google_cloud.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/storages/vectordb_storages/__init__.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/storages/vectordb_storages/base.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/storages/vectordb_storages/milvus.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/storages/vectordb_storages/qdrant.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/tasks/__init__.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/tasks/task.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/tasks/task_prompt.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/terminators/__init__.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/terminators/base.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/terminators/response_terminator.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/terminators/token_limit_terminator.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/__init__.py +16 -17
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/arxiv_toolkit.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/ask_news_toolkit.py +7 -18
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/base.py +4 -4
- camel_ai-0.2.11/camel/toolkits/code_execution.py +115 -0
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/dalle_toolkit.py +4 -7
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/data_commons_toolkit.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/function_tool.py +220 -69
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/github_toolkit.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/google_maps_toolkit.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/google_scholar_toolkit.py +4 -4
- camel_ai-0.2.11/camel/toolkits/human_toolkit.py +53 -0
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/linkedin_toolkit.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/math_toolkit.py +4 -7
- camel_ai-0.2.11/camel/toolkits/meshy_toolkit.py +185 -0
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/notion_toolkit.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/open_api_specs/biztoc/__init__.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/open_api_specs/coursera/__init__.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/open_api_specs/create_qr_code/__init__.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/open_api_specs/klarna/__init__.py +4 -4
- camel_ai-0.2.11/camel/toolkits/open_api_specs/nasa_apod/__init__.py +13 -0
- camel_ai-0.2.11/camel/toolkits/open_api_specs/outschool/__init__.py +13 -0
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/open_api_specs/outschool/paths/__init__.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/open_api_specs/outschool/paths/get_classes.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/open_api_specs/outschool/paths/search_teachers.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/open_api_specs/security_config.py +4 -4
- camel_ai-0.2.11/camel/toolkits/open_api_specs/speak/__init__.py +13 -0
- camel_ai-0.2.11/camel/toolkits/open_api_specs/web_scraper/__init__.py +13 -0
- camel_ai-0.2.11/camel/toolkits/open_api_specs/web_scraper/paths/__init__.py +13 -0
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/open_api_specs/web_scraper/paths/scraper.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/open_api_toolkit.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/reddit_toolkit.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/retrieval_toolkit.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/search_toolkit.py +49 -29
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/slack_toolkit.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/twitter_toolkit.py +13 -13
- camel_ai-0.2.11/camel/toolkits/video_toolkit.py +211 -0
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/weather_toolkit.py +4 -7
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/whatsapp_toolkit.py +6 -6
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/types/__init__.py +6 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/types/enums.py +118 -15
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/types/openai_types.py +6 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/types/unified_model_type.py +9 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/utils/__init__.py +35 -33
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/utils/async_func.py +4 -4
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/utils/commons.py +26 -9
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/utils/constants.py +4 -4
- camel_ai-0.2.11/camel/utils/response_format.py +63 -0
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/utils/token_counting.py +8 -5
- {camel_ai-0.2.9 → camel_ai-0.2.11}/pyproject.toml +26 -5
- camel_ai-0.2.9/camel/configs/gemini_config.py +0 -156
- camel_ai-0.2.9/camel/models/gemini_model.py +0 -223
- camel_ai-0.2.9/camel/toolkits/code_execution.py +0 -68
- camel_ai-0.2.9/camel/toolkits/open_api_specs/nasa_apod/__init__.py +0 -13
- camel_ai-0.2.9/camel/toolkits/open_api_specs/outschool/__init__.py +0 -13
- camel_ai-0.2.9/camel/toolkits/open_api_specs/speak/__init__.py +0 -13
- camel_ai-0.2.9/camel/toolkits/open_api_specs/web_scraper/__init__.py +0 -13
- camel_ai-0.2.9/camel/toolkits/open_api_specs/web_scraper/paths/__init__.py +0 -13
- {camel_ai-0.2.9 → camel_ai-0.2.11}/LICENSE +0 -0
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/open_api_specs/biztoc/ai-plugin.json +0 -0
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/open_api_specs/biztoc/openapi.yaml +0 -0
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/open_api_specs/coursera/openapi.yaml +0 -0
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/open_api_specs/create_qr_code/openapi.yaml +0 -0
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/open_api_specs/klarna/openapi.yaml +0 -0
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/open_api_specs/nasa_apod/openapi.yaml +0 -0
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/open_api_specs/outschool/ai-plugin.json +0 -0
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/open_api_specs/outschool/openapi.yaml +0 -0
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/open_api_specs/speak/openapi.yaml +0 -0
- {camel_ai-0.2.9 → camel_ai-0.2.11}/camel/toolkits/open_api_specs/web_scraper/ai-plugin.json +0 -0
- {camel_ai-0.2.9 → camel_ai-0.2.11}/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.
|
|
3
|
+
Version: 0.2.11
|
|
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 (>=
|
|
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,<
|
|
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.
|
|
260
|
+
git clone -b v0.2.11 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
|
-
##
|
|
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
|
-
|
|
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
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
147
|
+
git clone -b v0.2.11 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
|
-
##
|
|
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
|
-
|
|
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
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# ========= Copyright 2023-2024 @ CAMEL-AI.org. All Rights Reserved. =========
|
|
2
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
|
+
# you may not use this file except in compliance with the License.
|
|
4
|
+
# You may obtain a copy of the License at
|
|
5
|
+
#
|
|
6
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
7
|
+
#
|
|
8
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
9
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
10
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
+
# See the License for the specific language governing permissions and
|
|
12
|
+
# limitations under the License.
|
|
13
|
+
# ========= Copyright 2023-2024 @ CAMEL-AI.org. All Rights Reserved. =========
|
|
14
|
+
|
|
15
|
+
from camel.logger import disable_logging, enable_logging, set_log_level
|
|
16
|
+
|
|
17
|
+
__version__ = '0.2.11'
|
|
18
|
+
|
|
19
|
+
__all__ = [
|
|
20
|
+
'__version__',
|
|
21
|
+
'camel',
|
|
22
|
+
'disable_logging',
|
|
23
|
+
'enable_logging',
|
|
24
|
+
'set_log_level',
|
|
25
|
+
]
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Licensed under the Apache License, Version 2.0 (the
|
|
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
|
|
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
|
-
#
|
|
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
|
-
#
|
|
2
|
-
# Licensed under the Apache License, Version 2.0 (the
|
|
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
|
|
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
|
-
#
|
|
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
|
|