camel-ai 0.2.76a1__tar.gz → 0.2.76a3__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.76a1 → camel_ai-0.2.76a3}/PKG-INFO +83 -6
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/README.md +82 -5
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/__init__.py +1 -1
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/environments/tic_tac_toe.py +1 -1
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/base_model.py +30 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/societies/workforce/workforce.py +10 -1
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/hybrid_browser_toolkit/hybrid_browser_toolkit.py +60 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/hybrid_browser_toolkit/ws_wrapper.py +33 -3
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/mcp_toolkit.py +307 -333
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/slack_toolkit.py +50 -1
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/hatch_build_npm.py +12 -1
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/pyproject.toml +1 -1
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/.gitignore +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/LICENSE +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/agents/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/agents/_types.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/agents/_utils.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/agents/base.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/agents/chat_agent.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/agents/critic_agent.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/agents/deductive_reasoner_agent.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/agents/embodied_agent.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/agents/knowledge_graph_agent.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/agents/mcp_agent.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/agents/multi_hop_generator_agent.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/agents/programmed_agent_instruction.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/agents/repo_agent.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/agents/role_assignment_agent.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/agents/search_agent.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/agents/task_agent.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/agents/tool_agents/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/agents/tool_agents/base.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/agents/tool_agents/hugging_face_tool_agent.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/benchmarks/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/benchmarks/apibank.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/benchmarks/apibench.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/benchmarks/base.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/benchmarks/browsecomp.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/benchmarks/gaia.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/benchmarks/mock_website/README.md +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/benchmarks/mock_website/mock_web.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/benchmarks/mock_website/requirements.txt +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/benchmarks/mock_website/shopping_mall/app.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/benchmarks/mock_website/task.json +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/benchmarks/nexus.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/benchmarks/ragbench.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/bots/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/bots/discord/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/bots/discord/discord_app.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/bots/discord/discord_installation.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/bots/discord/discord_store.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/bots/slack/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/bots/slack/models.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/bots/slack/slack_app.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/bots/telegram_bot.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/aiml_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/amd_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/anthropic_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/base_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/bedrock_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/cohere_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/crynux_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/deepseek_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/gemini_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/groq_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/internlm_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/litellm_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/lmstudio_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/mistral_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/modelscope_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/moonshot_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/nebius_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/netmind_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/novita_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/nvidia_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/ollama_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/openai_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/openrouter_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/ppio_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/qianfan_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/qwen_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/reka_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/samba_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/sglang_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/siliconflow_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/togetherai_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/vllm_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/watsonx_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/yi_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/configs/zhipuai_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/data_collectors/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/data_collectors/alpaca_collector.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/data_collectors/base.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/data_collectors/sharegpt_collector.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/datagen/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/datagen/cot_datagen.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/datagen/evol_instruct/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/datagen/evol_instruct/evol_instruct.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/datagen/evol_instruct/scorer.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/datagen/evol_instruct/templates.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/datagen/self_improving_cot.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/datagen/self_instruct/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/datagen/self_instruct/filter/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/datagen/self_instruct/filter/filter_function.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/datagen/self_instruct/filter/filter_registry.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/datagen/self_instruct/filter/instruction_filter.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/datagen/self_instruct/self_instruct.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/datagen/self_instruct/templates.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/datagen/source2synth/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/datagen/source2synth/data_processor.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/datagen/source2synth/models.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/datagen/source2synth/user_data_processor_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/datahubs/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/datahubs/base.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/datahubs/huggingface.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/datahubs/models.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/datasets/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/datasets/base_generator.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/datasets/few_shot_generator.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/datasets/models.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/datasets/self_instruct_generator.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/datasets/static_dataset.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/embeddings/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/embeddings/azure_embedding.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/embeddings/base.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/embeddings/gemini_embedding.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/embeddings/jina_embedding.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/embeddings/mistral_embedding.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/embeddings/openai_compatible_embedding.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/embeddings/openai_embedding.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/embeddings/sentence_transformers_embeddings.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/embeddings/together_embedding.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/embeddings/vlm_embedding.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/environments/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/environments/models.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/environments/multi_step.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/environments/rlcards_env.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/environments/single_step.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/extractors/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/extractors/base.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/extractors/python_strategies.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/generators.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/human.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/interpreters/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/interpreters/base.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/interpreters/docker/Dockerfile +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/interpreters/docker_interpreter.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/interpreters/e2b_interpreter.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/interpreters/internal_python_interpreter.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/interpreters/interpreter_error.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/interpreters/ipython_interpreter.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/interpreters/microsandbox_interpreter.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/interpreters/subprocess_interpreter.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/loaders/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/loaders/apify_reader.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/loaders/base_io.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/loaders/base_loader.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/loaders/chunkr_reader.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/loaders/crawl4ai_reader.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/loaders/firecrawl_reader.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/loaders/jina_url_reader.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/loaders/markitdown.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/loaders/mineru_extractor.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/loaders/mistral_reader.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/loaders/pandas_reader.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/loaders/scrapegraph_reader.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/loaders/unstructured_io.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/logger.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/memories/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/memories/agent_memories.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/memories/base.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/memories/blocks/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/memories/blocks/chat_history_block.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/memories/blocks/vectordb_block.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/memories/context_creators/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/memories/context_creators/score_based.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/memories/records.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/messages/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/messages/base.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/messages/conversion/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/messages/conversion/alpaca.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/messages/conversion/conversation_models.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/messages/conversion/sharegpt/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/messages/conversion/sharegpt/function_call_formatter.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/messages/conversion/sharegpt/hermes/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/messages/conversion/sharegpt/hermes/hermes_function_formatter.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/messages/func_message.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/_utils.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/aiml_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/amd_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/anthropic_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/aws_bedrock_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/azure_openai_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/base_audio_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/cohere_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/crynux_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/deepseek_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/fish_audio_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/gemini_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/groq_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/internlm_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/litellm_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/lmstudio_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/mistral_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/model_factory.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/model_manager.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/modelscope_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/moonshot_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/nebius_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/nemotron_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/netmind_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/novita_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/nvidia_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/ollama_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/openai_audio_models.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/openai_compatible_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/openai_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/openrouter_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/ppio_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/qianfan_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/qwen_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/reka_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/reward/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/reward/base_reward_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/reward/evaluator.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/reward/nemotron_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/reward/skywork_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/samba_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/sglang_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/siliconflow_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/stub_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/togetherai_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/vllm_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/volcano_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/watsonx_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/yi_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/models/zhipuai_model.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/personas/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/personas/persona.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/personas/persona_hub.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/prompts/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/prompts/ai_society.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/prompts/base.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/prompts/code.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/prompts/evaluation.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/prompts/generate_text_embedding_data.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/prompts/image_craft.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/prompts/misalignment.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/prompts/multi_condition_image_craft.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/prompts/object_recognition.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/prompts/persona_hub.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/prompts/prompt_templates.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/prompts/role_description_prompt_template.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/prompts/solution_extraction.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/prompts/task_prompt_template.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/prompts/translation.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/prompts/video_description_prompt.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/py.typed +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/responses/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/responses/agent_responses.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/retrievers/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/retrievers/auto_retriever.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/retrievers/base.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/retrievers/bm25_retriever.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/retrievers/cohere_rerank_retriever.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/retrievers/hybrid_retrival.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/retrievers/vector_retriever.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/runtimes/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/runtimes/api.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/runtimes/base.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/runtimes/configs.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/runtimes/daytona_runtime.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/runtimes/docker_runtime.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/runtimes/llm_guard_runtime.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/runtimes/remote_http_runtime.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/runtimes/ubuntu_docker_runtime.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/runtimes/utils/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/runtimes/utils/function_risk_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/runtimes/utils/ignore_risk_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/schemas/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/schemas/base.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/schemas/openai_converter.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/schemas/outlines_converter.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/services/agent_openapi_server.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/societies/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/societies/babyagi_playing.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/societies/role_playing.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/societies/workforce/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/societies/workforce/base.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/societies/workforce/prompts.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/societies/workforce/role_playing_worker.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/societies/workforce/single_agent_worker.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/societies/workforce/structured_output_handler.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/societies/workforce/task_channel.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/societies/workforce/utils.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/societies/workforce/worker.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/societies/workforce/workforce_logger.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/storages/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/storages/graph_storages/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/storages/graph_storages/base.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/storages/graph_storages/graph_element.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/storages/graph_storages/nebula_graph.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/storages/graph_storages/neo4j_graph.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/storages/key_value_storages/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/storages/key_value_storages/base.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/storages/key_value_storages/in_memory.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/storages/key_value_storages/json.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/storages/key_value_storages/mem0_cloud.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/storages/key_value_storages/redis.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/storages/object_storages/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/storages/object_storages/amazon_s3.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/storages/object_storages/azure_blob.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/storages/object_storages/base.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/storages/object_storages/google_cloud.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/storages/vectordb_storages/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/storages/vectordb_storages/base.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/storages/vectordb_storages/chroma.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/storages/vectordb_storages/faiss.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/storages/vectordb_storages/milvus.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/storages/vectordb_storages/oceanbase.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/storages/vectordb_storages/pgvector.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/storages/vectordb_storages/qdrant.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/storages/vectordb_storages/surreal.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/storages/vectordb_storages/tidb.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/storages/vectordb_storages/weaviate.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/tasks/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/tasks/task.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/tasks/task_prompt.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/terminators/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/terminators/base.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/terminators/response_terminator.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/terminators/token_limit_terminator.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/aci_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/arxiv_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/ask_news_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/async_browser_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/audio_analysis_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/base.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/bohrium_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/browser_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/browser_toolkit_commons.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/code_execution.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/context_summarizer_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/craw4ai_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/dappier_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/data_commons_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/edgeone_pages_mcp_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/excel_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/file_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/function_tool.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/github_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/google_calendar_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/google_drive_mcp_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/google_maps_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/google_scholar_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/human_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/hybrid_browser_toolkit/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/hybrid_browser_toolkit/config_loader.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/hybrid_browser_toolkit/hybrid_browser_toolkit_ts.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/hybrid_browser_toolkit/ts/package-lock.json +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/hybrid_browser_toolkit/ts/package.json +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/hybrid_browser_toolkit/ts/src/browser-scripts.js +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/hybrid_browser_toolkit/ts/src/browser-session.ts +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/hybrid_browser_toolkit/ts/src/config-loader.ts +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/hybrid_browser_toolkit/ts/src/hybrid-browser-toolkit.ts +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/hybrid_browser_toolkit/ts/src/index.ts +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/hybrid_browser_toolkit/ts/src/parent-child-filter.ts +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/hybrid_browser_toolkit/ts/src/snapshot-parser.ts +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/hybrid_browser_toolkit/ts/src/som-screenshot-injected.ts +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/hybrid_browser_toolkit/ts/src/types.ts +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/hybrid_browser_toolkit/ts/tsconfig.json +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/hybrid_browser_toolkit/ts/websocket-server.js +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/hybrid_browser_toolkit_py/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/hybrid_browser_toolkit_py/actions.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/hybrid_browser_toolkit_py/agent.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/hybrid_browser_toolkit_py/browser_session.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/hybrid_browser_toolkit_py/config_loader.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/hybrid_browser_toolkit_py/hybrid_browser_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/hybrid_browser_toolkit_py/snapshot.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/hybrid_browser_toolkit_py/stealth_script.js +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/hybrid_browser_toolkit_py/unified_analyzer.js +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/image_analysis_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/image_generation_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/jina_reranker_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/klavis_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/linkedin_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/markitdown_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/math_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/memory_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/meshy_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/message_agent_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/message_integration.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/mineru_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/minimax_mcp_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/networkx_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/note_taking_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/notion_mcp_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/notion_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/open_api_specs/biztoc/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/open_api_specs/biztoc/ai-plugin.json +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/open_api_specs/biztoc/openapi.yaml +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/open_api_specs/coursera/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/open_api_specs/coursera/openapi.yaml +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/open_api_specs/create_qr_code/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/open_api_specs/create_qr_code/openapi.yaml +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/open_api_specs/klarna/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/open_api_specs/klarna/openapi.yaml +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/open_api_specs/nasa_apod/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/open_api_specs/nasa_apod/openapi.yaml +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/open_api_specs/outschool/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/open_api_specs/outschool/ai-plugin.json +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/open_api_specs/outschool/openapi.yaml +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/open_api_specs/outschool/paths/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/open_api_specs/outschool/paths/get_classes.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/open_api_specs/outschool/paths/search_teachers.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/open_api_specs/security_config.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/open_api_specs/speak/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/open_api_specs/speak/openapi.yaml +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/open_api_specs/web_scraper/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/open_api_specs/web_scraper/ai-plugin.json +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/open_api_specs/web_scraper/openapi.yaml +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/open_api_specs/web_scraper/paths/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/open_api_specs/web_scraper/paths/scraper.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/open_api_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/openbb_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/origene_mcp_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/page_script.js +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/playwright_mcp_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/pptx_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/pubmed_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/pulse_mcp_search_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/pyautogui_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/reddit_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/retrieval_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/screenshot_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/search_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/searxng_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/semantic_scholar_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/stripe_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/sympy_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/task_planning_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/terminal_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/thinking_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/twitter_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/vertex_ai_veo_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/video_analysis_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/video_download_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/weather_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/web_deploy_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/wechat_official_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/whatsapp_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/wolfram_alpha_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/toolkits/zapier_toolkit.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/types/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/types/agents/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/types/agents/tool_calling_record.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/types/enums.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/types/mcp_registries.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/types/openai_types.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/types/unified_model_type.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/utils/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/utils/async_func.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/utils/chunker/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/utils/chunker/base.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/utils/chunker/code_chunker.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/utils/chunker/uio_chunker.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/utils/commons.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/utils/constants.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/utils/context_utils.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/utils/deduplication.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/utils/filename.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/utils/langfuse.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/utils/mcp.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/utils/mcp_client.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/utils/message_summarizer.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/utils/response_format.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/utils/token_counting.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/utils/tool_result.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/verifiers/__init__.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/verifiers/base.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/verifiers/math_verifier.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/verifiers/models.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/verifiers/physics_verifier.py +0 -0
- {camel_ai-0.2.76a1 → camel_ai-0.2.76a3}/camel/verifiers/python_verifier.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: camel-ai
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.76a3
|
|
4
4
|
Summary: Communicative Agents for AI Society Study
|
|
5
5
|
Project-URL: Homepage, https://www.camel-ai.org/
|
|
6
6
|
Project-URL: Repository, https://github.com/camel-ai/camel
|
|
@@ -448,12 +448,52 @@ Join us ([*Discord*](https://discord.camel-ai.org/) or [*WeChat*](https://ghli.o
|
|
|
448
448
|
</div>
|
|
449
449
|
|
|
450
450
|
<div align="center">
|
|
451
|
-
<img src="docs/images/
|
|
451
|
+
<img src="docs/images/stars.gif" alt="Star">
|
|
452
452
|
</a>
|
|
453
453
|
</div>
|
|
454
454
|
|
|
455
455
|
<br>
|
|
456
456
|
|
|
457
|
+
<details>
|
|
458
|
+
<summary><kbd>Table of contents</kbd></summary>
|
|
459
|
+
|
|
460
|
+
<br/>
|
|
461
|
+
|
|
462
|
+
- [CAMEL Framework Design Principles](#camel-framework-design-principles)
|
|
463
|
+
- [Why Use CAMEL for Your Research?](#why-use-camel-for-your-research)
|
|
464
|
+
- [What Can You Build With CAMEL?](#what-can-you-build-with-camel)
|
|
465
|
+
- [Data Generation](#1-data-generation)
|
|
466
|
+
- [Task Automation](#2-task-automation)
|
|
467
|
+
- [World Simulation](#3-world-simulation)
|
|
468
|
+
- [Quick Start](#quick-start)
|
|
469
|
+
- [Starting with ChatAgent](#starting-with-chatagent)
|
|
470
|
+
- [Seeking Help](#seeking-help)
|
|
471
|
+
- [Tech Stack](#tech-stack)
|
|
472
|
+
- [Research](#research)
|
|
473
|
+
- [Synthetic Datasets](#synthetic-datasets)
|
|
474
|
+
- [Cookbooks (Usecases)](#cookbooks-usecases)
|
|
475
|
+
- [Basic Concepts](#1-basic-concepts)
|
|
476
|
+
- [Advanced Features](#2-advanced-features)
|
|
477
|
+
- [Model Training & Data Generation](#3-model-training--data-generation)
|
|
478
|
+
- [Multi-Agent Systems & Applications](#4-multi-agent-systems--applications)
|
|
479
|
+
- [Data Processing](#5-data-processing)
|
|
480
|
+
- [Real-World Usecases](#real-world-usecases)
|
|
481
|
+
- [🧱 Built with CAMEL (Real-world Producs & Research)](#-built-with-camel-real-world-producs--research)
|
|
482
|
+
- [Research Projects](#research-projects)
|
|
483
|
+
- [Product Projects](#product-projects)
|
|
484
|
+
- [🗓️ Events](#️-events)
|
|
485
|
+
- [Contributing to CAMEL](#contributing-to-camel)
|
|
486
|
+
- [Community & Contact](#community--contact)
|
|
487
|
+
- [Citation](#citation)
|
|
488
|
+
- [Acknowledgment](#acknowledgment)
|
|
489
|
+
- [License](#license)
|
|
490
|
+
|
|
491
|
+
####
|
|
492
|
+
|
|
493
|
+
<br/>
|
|
494
|
+
|
|
495
|
+
</details>
|
|
496
|
+
|
|
457
497
|
|
|
458
498
|
## CAMEL Framework Design Principles
|
|
459
499
|
|
|
@@ -687,6 +727,18 @@ We believe that studying these agents on a large scale offers valuable insights
|
|
|
687
727
|
|
|
688
728
|
**Explore our research projects:**
|
|
689
729
|
|
|
730
|
+
<div align="center">
|
|
731
|
+
<a href="https://github.com/camel-ai/owl">
|
|
732
|
+
<img src="docs/images/owl.png" alt="OWL">
|
|
733
|
+
</a>
|
|
734
|
+
</div>
|
|
735
|
+
|
|
736
|
+
<div align="center">
|
|
737
|
+
<a href="https://oasis.camel-ai.org/">
|
|
738
|
+
<img src="docs/images/oasis.png" alt="OASIS">
|
|
739
|
+
</a>
|
|
740
|
+
</div>
|
|
741
|
+
|
|
690
742
|
<div align="center">
|
|
691
743
|
<a href="https://crab.camel-ai.org/">
|
|
692
744
|
<img src="docs/images/crab.png" alt="CRAB">
|
|
@@ -694,14 +746,14 @@ We believe that studying these agents on a large scale offers valuable insights
|
|
|
694
746
|
</div>
|
|
695
747
|
|
|
696
748
|
<div align="center">
|
|
697
|
-
<a href="https://
|
|
698
|
-
<img src="docs/images/
|
|
749
|
+
<a href="https://github.com/camel-ai/loong">
|
|
750
|
+
<img src="docs/images/loong.png" alt="Loong">
|
|
699
751
|
</a>
|
|
700
752
|
</div>
|
|
701
753
|
|
|
702
754
|
<div align="center">
|
|
703
|
-
<a href="https://
|
|
704
|
-
<img src="docs/images/
|
|
755
|
+
<a href="https://agent-trust.camel-ai.org/">
|
|
756
|
+
<img src="docs/images/agent_trust.png" alt="Agent Trust">
|
|
705
757
|
</a>
|
|
706
758
|
</div>
|
|
707
759
|
|
|
@@ -835,6 +887,31 @@ Real-world usecases demonstrating how CAMEL’s multi-agent framework enables re
|
|
|
835
887
|
|
|
836
888
|
<br>
|
|
837
889
|
|
|
890
|
+
## 🧱 Built with CAMEL (Real-world Producs & Research)
|
|
891
|
+
<div align="left">
|
|
892
|
+
<a href="https://www.camel-ai.org/">
|
|
893
|
+
<img src="docs/images/built_with_CAMEL.png" alt="Built with CAMEL" height="40px">
|
|
894
|
+
</a>
|
|
895
|
+
</div>
|
|
896
|
+
|
|
897
|
+
### Research Projects
|
|
898
|
+
|
|
899
|
+
| Name | Description |
|
|
900
|
+
|:---|:---|
|
|
901
|
+
| **[ChatDev](https://github.com/OpenBMB/ChatDev/tree/main/camel)** | Communicative Agents for software Development |
|
|
902
|
+
| **[Paper2Poster](https://github.com/Paper2Poster/Paper2Poster)** | Multimodal poster automation from scientific papers |
|
|
903
|
+
|
|
904
|
+
### Product Projects
|
|
905
|
+
|
|
906
|
+
| Name | Description |
|
|
907
|
+
|:---|:---|
|
|
908
|
+
| **[Eigent](https://www.eigent.ai/)** | The World First Multi-agent Workforce |
|
|
909
|
+
| **[EigentBot](https://bot.eigent.ai/)** | One EigentBot,
|
|
910
|
+
Every Code Answer |
|
|
911
|
+
| **[Matrix](https://matrix.eigent.ai/)** | Social Media Simulation |
|
|
912
|
+
| **[AI Geometric](https://www.linkedin.com/posts/aigeometric_ai-interviewpreparation-careerdevelopment-activity-7261428422516555776-MtaK/?utm_source=share&utm_medium=member_desktop&rcm=ACoAAChHluEB9xRwkjiJ6VSAzqM2Y-U4NI2sKGY)** | AI-powered interview copilot |
|
|
913
|
+
| **[Log10](https://github.com/log10-io/log10/blob/main/src/log10/agents/camel.py)** | AI accuracy, delivered |
|
|
914
|
+
|
|
838
915
|
|
|
839
916
|
## 🗓️ Events
|
|
840
917
|
|
|
@@ -51,12 +51,52 @@ Join us ([*Discord*](https://discord.camel-ai.org/) or [*WeChat*](https://ghli.o
|
|
|
51
51
|
</div>
|
|
52
52
|
|
|
53
53
|
<div align="center">
|
|
54
|
-
<img src="docs/images/
|
|
54
|
+
<img src="docs/images/stars.gif" alt="Star">
|
|
55
55
|
</a>
|
|
56
56
|
</div>
|
|
57
57
|
|
|
58
58
|
<br>
|
|
59
59
|
|
|
60
|
+
<details>
|
|
61
|
+
<summary><kbd>Table of contents</kbd></summary>
|
|
62
|
+
|
|
63
|
+
<br/>
|
|
64
|
+
|
|
65
|
+
- [CAMEL Framework Design Principles](#camel-framework-design-principles)
|
|
66
|
+
- [Why Use CAMEL for Your Research?](#why-use-camel-for-your-research)
|
|
67
|
+
- [What Can You Build With CAMEL?](#what-can-you-build-with-camel)
|
|
68
|
+
- [Data Generation](#1-data-generation)
|
|
69
|
+
- [Task Automation](#2-task-automation)
|
|
70
|
+
- [World Simulation](#3-world-simulation)
|
|
71
|
+
- [Quick Start](#quick-start)
|
|
72
|
+
- [Starting with ChatAgent](#starting-with-chatagent)
|
|
73
|
+
- [Seeking Help](#seeking-help)
|
|
74
|
+
- [Tech Stack](#tech-stack)
|
|
75
|
+
- [Research](#research)
|
|
76
|
+
- [Synthetic Datasets](#synthetic-datasets)
|
|
77
|
+
- [Cookbooks (Usecases)](#cookbooks-usecases)
|
|
78
|
+
- [Basic Concepts](#1-basic-concepts)
|
|
79
|
+
- [Advanced Features](#2-advanced-features)
|
|
80
|
+
- [Model Training & Data Generation](#3-model-training--data-generation)
|
|
81
|
+
- [Multi-Agent Systems & Applications](#4-multi-agent-systems--applications)
|
|
82
|
+
- [Data Processing](#5-data-processing)
|
|
83
|
+
- [Real-World Usecases](#real-world-usecases)
|
|
84
|
+
- [🧱 Built with CAMEL (Real-world Producs & Research)](#-built-with-camel-real-world-producs--research)
|
|
85
|
+
- [Research Projects](#research-projects)
|
|
86
|
+
- [Product Projects](#product-projects)
|
|
87
|
+
- [🗓️ Events](#️-events)
|
|
88
|
+
- [Contributing to CAMEL](#contributing-to-camel)
|
|
89
|
+
- [Community & Contact](#community--contact)
|
|
90
|
+
- [Citation](#citation)
|
|
91
|
+
- [Acknowledgment](#acknowledgment)
|
|
92
|
+
- [License](#license)
|
|
93
|
+
|
|
94
|
+
####
|
|
95
|
+
|
|
96
|
+
<br/>
|
|
97
|
+
|
|
98
|
+
</details>
|
|
99
|
+
|
|
60
100
|
|
|
61
101
|
## CAMEL Framework Design Principles
|
|
62
102
|
|
|
@@ -290,6 +330,18 @@ We believe that studying these agents on a large scale offers valuable insights
|
|
|
290
330
|
|
|
291
331
|
**Explore our research projects:**
|
|
292
332
|
|
|
333
|
+
<div align="center">
|
|
334
|
+
<a href="https://github.com/camel-ai/owl">
|
|
335
|
+
<img src="docs/images/owl.png" alt="OWL">
|
|
336
|
+
</a>
|
|
337
|
+
</div>
|
|
338
|
+
|
|
339
|
+
<div align="center">
|
|
340
|
+
<a href="https://oasis.camel-ai.org/">
|
|
341
|
+
<img src="docs/images/oasis.png" alt="OASIS">
|
|
342
|
+
</a>
|
|
343
|
+
</div>
|
|
344
|
+
|
|
293
345
|
<div align="center">
|
|
294
346
|
<a href="https://crab.camel-ai.org/">
|
|
295
347
|
<img src="docs/images/crab.png" alt="CRAB">
|
|
@@ -297,14 +349,14 @@ We believe that studying these agents on a large scale offers valuable insights
|
|
|
297
349
|
</div>
|
|
298
350
|
|
|
299
351
|
<div align="center">
|
|
300
|
-
<a href="https://
|
|
301
|
-
<img src="docs/images/
|
|
352
|
+
<a href="https://github.com/camel-ai/loong">
|
|
353
|
+
<img src="docs/images/loong.png" alt="Loong">
|
|
302
354
|
</a>
|
|
303
355
|
</div>
|
|
304
356
|
|
|
305
357
|
<div align="center">
|
|
306
|
-
<a href="https://
|
|
307
|
-
<img src="docs/images/
|
|
358
|
+
<a href="https://agent-trust.camel-ai.org/">
|
|
359
|
+
<img src="docs/images/agent_trust.png" alt="Agent Trust">
|
|
308
360
|
</a>
|
|
309
361
|
</div>
|
|
310
362
|
|
|
@@ -438,6 +490,31 @@ Real-world usecases demonstrating how CAMEL’s multi-agent framework enables re
|
|
|
438
490
|
|
|
439
491
|
<br>
|
|
440
492
|
|
|
493
|
+
## 🧱 Built with CAMEL (Real-world Producs & Research)
|
|
494
|
+
<div align="left">
|
|
495
|
+
<a href="https://www.camel-ai.org/">
|
|
496
|
+
<img src="docs/images/built_with_CAMEL.png" alt="Built with CAMEL" height="40px">
|
|
497
|
+
</a>
|
|
498
|
+
</div>
|
|
499
|
+
|
|
500
|
+
### Research Projects
|
|
501
|
+
|
|
502
|
+
| Name | Description |
|
|
503
|
+
|:---|:---|
|
|
504
|
+
| **[ChatDev](https://github.com/OpenBMB/ChatDev/tree/main/camel)** | Communicative Agents for software Development |
|
|
505
|
+
| **[Paper2Poster](https://github.com/Paper2Poster/Paper2Poster)** | Multimodal poster automation from scientific papers |
|
|
506
|
+
|
|
507
|
+
### Product Projects
|
|
508
|
+
|
|
509
|
+
| Name | Description |
|
|
510
|
+
|:---|:---|
|
|
511
|
+
| **[Eigent](https://www.eigent.ai/)** | The World First Multi-agent Workforce |
|
|
512
|
+
| **[EigentBot](https://bot.eigent.ai/)** | One EigentBot,
|
|
513
|
+
Every Code Answer |
|
|
514
|
+
| **[Matrix](https://matrix.eigent.ai/)** | Social Media Simulation |
|
|
515
|
+
| **[AI Geometric](https://www.linkedin.com/posts/aigeometric_ai-interviewpreparation-careerdevelopment-activity-7261428422516555776-MtaK/?utm_source=share&utm_medium=member_desktop&rcm=ACoAAChHluEB9xRwkjiJ6VSAzqM2Y-U4NI2sKGY)** | AI-powered interview copilot |
|
|
516
|
+
| **[Log10](https://github.com/log10-io/log10/blob/main/src/log10/agents/camel.py)** | AI accuracy, delivered |
|
|
517
|
+
|
|
441
518
|
|
|
442
519
|
## 🗓️ Events
|
|
443
520
|
|
|
@@ -483,7 +483,7 @@ class TicTacToeEnv(MultiStepEnv):
|
|
|
483
483
|
# Check all win combinations.
|
|
484
484
|
for a, b, c in TicTacToeEnv.WIN_COMBINATIONS:
|
|
485
485
|
if board[a] != " " and board[a] == board[b] == board[c]:
|
|
486
|
-
return board[a]
|
|
486
|
+
return board[a] # type: ignore[return-value]
|
|
487
487
|
# Check for draw.
|
|
488
488
|
if all(cell != " " for cell in board):
|
|
489
489
|
return "draw"
|
|
@@ -24,6 +24,7 @@ from openai.lib.streaming.chat import (
|
|
|
24
24
|
)
|
|
25
25
|
from pydantic import BaseModel
|
|
26
26
|
|
|
27
|
+
from camel.logger import get_logger as camel_get_logger
|
|
27
28
|
from camel.messages import OpenAIMessage
|
|
28
29
|
from camel.types import (
|
|
29
30
|
ChatCompletion,
|
|
@@ -34,6 +35,21 @@ from camel.types import (
|
|
|
34
35
|
)
|
|
35
36
|
from camel.utils import BaseTokenCounter
|
|
36
37
|
|
|
38
|
+
if os.environ.get("TRACEROOT_ENABLED", "False").lower() == "true":
|
|
39
|
+
try:
|
|
40
|
+
from traceroot import get_logger # type: ignore[import]
|
|
41
|
+
from traceroot import trace as observe # type: ignore[import]
|
|
42
|
+
|
|
43
|
+
logger = get_logger('base_model')
|
|
44
|
+
except ImportError:
|
|
45
|
+
from camel.utils import observe
|
|
46
|
+
|
|
47
|
+
logger = camel_get_logger('base_model')
|
|
48
|
+
else:
|
|
49
|
+
from camel.utils import observe
|
|
50
|
+
|
|
51
|
+
logger = camel_get_logger('base_model')
|
|
52
|
+
|
|
37
53
|
|
|
38
54
|
class ModelBackendMeta(abc.ABCMeta):
|
|
39
55
|
r"""Metaclass that automatically preprocesses messages in run method.
|
|
@@ -364,6 +380,7 @@ class BaseModelBackend(ABC, metaclass=ModelBackendMeta):
|
|
|
364
380
|
"""
|
|
365
381
|
pass
|
|
366
382
|
|
|
383
|
+
@observe()
|
|
367
384
|
def run(
|
|
368
385
|
self,
|
|
369
386
|
messages: List[OpenAIMessage],
|
|
@@ -403,7 +420,13 @@ class BaseModelBackend(ABC, metaclass=ModelBackendMeta):
|
|
|
403
420
|
elif not tools:
|
|
404
421
|
tools = None
|
|
405
422
|
|
|
423
|
+
logger.info("Running model: %s", self.model_type)
|
|
424
|
+
logger.info("Messages: %s", messages)
|
|
425
|
+
logger.info("Response format: %s", response_format)
|
|
426
|
+
logger.info("Tools: %s", tools)
|
|
427
|
+
|
|
406
428
|
result = self._run(messages, response_format, tools)
|
|
429
|
+
logger.info("Result: %s", result)
|
|
407
430
|
|
|
408
431
|
# Log the response if logging is enabled
|
|
409
432
|
if log_path:
|
|
@@ -411,6 +434,7 @@ class BaseModelBackend(ABC, metaclass=ModelBackendMeta):
|
|
|
411
434
|
|
|
412
435
|
return result
|
|
413
436
|
|
|
437
|
+
@observe()
|
|
414
438
|
async def arun(
|
|
415
439
|
self,
|
|
416
440
|
messages: List[OpenAIMessage],
|
|
@@ -448,7 +472,13 @@ class BaseModelBackend(ABC, metaclass=ModelBackendMeta):
|
|
|
448
472
|
elif not tools:
|
|
449
473
|
tools = None
|
|
450
474
|
|
|
475
|
+
logger.info("Running model: %s", self.model_type)
|
|
476
|
+
logger.info("Messages: %s", messages)
|
|
477
|
+
logger.info("Response format: %s", response_format)
|
|
478
|
+
logger.info("Tools: %s", tools)
|
|
479
|
+
|
|
451
480
|
result = await self._arun(messages, response_format, tools)
|
|
481
|
+
logger.info("Result: %s", result)
|
|
452
482
|
|
|
453
483
|
# Log the response if logging is enabled
|
|
454
484
|
if log_path:
|
|
@@ -16,6 +16,7 @@ from __future__ import annotations
|
|
|
16
16
|
import asyncio
|
|
17
17
|
import concurrent.futures
|
|
18
18
|
import json
|
|
19
|
+
import os
|
|
19
20
|
import time
|
|
20
21
|
import uuid
|
|
21
22
|
from collections import deque
|
|
@@ -79,7 +80,15 @@ from camel.utils import dependencies_required
|
|
|
79
80
|
|
|
80
81
|
from .workforce_logger import WorkforceLogger
|
|
81
82
|
|
|
82
|
-
|
|
83
|
+
if os.environ.get("TRACEROOT_ENABLED", "False").lower() == "true":
|
|
84
|
+
try:
|
|
85
|
+
import traceroot # type: ignore[import]
|
|
86
|
+
|
|
87
|
+
logger = traceroot.get_logger('camel')
|
|
88
|
+
except ImportError:
|
|
89
|
+
logger = get_logger(__name__)
|
|
90
|
+
else:
|
|
91
|
+
logger = get_logger(__name__)
|
|
83
92
|
|
|
84
93
|
# Constants for configuration values
|
|
85
94
|
MAX_TASK_RETRIES = 3
|
|
@@ -25,6 +25,66 @@ class HybridBrowserToolkit(BaseToolkit):
|
|
|
25
25
|
This wrapper allows users to choose between:
|
|
26
26
|
- 'typescript': WebSocket-based implementation using TypeScript/Node.js
|
|
27
27
|
- 'python': Pure Python implementation using Playwright directly
|
|
28
|
+
|
|
29
|
+
Args:
|
|
30
|
+
mode (Literal["typescript", "python"]): Implementation mode. -
|
|
31
|
+
'typescript': Uses WebSocket-based TypeScript implementation -
|
|
32
|
+
'python': Uses pure Python Playwright implementation. Defaults to
|
|
33
|
+
"typescript".
|
|
34
|
+
headless (bool): Whether to run browser in headless mode.
|
|
35
|
+
Defaults to True.
|
|
36
|
+
user_data_dir (Optional[str]): Directory for user data
|
|
37
|
+
persistence. Defaults to None.
|
|
38
|
+
stealth (bool): Whether to enable stealth mode. Defaults to
|
|
39
|
+
False.
|
|
40
|
+
web_agent_model (Optional[BaseModelBackend]): Model for web
|
|
41
|
+
agent operations. Defaults to None.
|
|
42
|
+
cache_dir (str): Directory for caching. Defaults to "tmp/".
|
|
43
|
+
enabled_tools (Optional[List[str]]): List of enabled tools.
|
|
44
|
+
Defaults to None.
|
|
45
|
+
browser_log_to_file (bool): Whether to log browser actions to
|
|
46
|
+
file. Defaults to False.
|
|
47
|
+
log_dir (Optional[str]): Custom directory path for log files.
|
|
48
|
+
If None, defaults to "browser_log". Defaults to None.
|
|
49
|
+
session_id (Optional[str]): Session identifier. Defaults to None.
|
|
50
|
+
default_start_url (str): Default URL to start with. Defaults
|
|
51
|
+
to "https://google.com/".
|
|
52
|
+
default_timeout (Optional[int]): Default timeout in
|
|
53
|
+
milliseconds. Defaults to None.
|
|
54
|
+
short_timeout (Optional[int]): Short timeout in milliseconds.
|
|
55
|
+
Defaults to None.
|
|
56
|
+
navigation_timeout (Optional[int]): Navigation timeout in
|
|
57
|
+
milliseconds. Defaults to None.
|
|
58
|
+
network_idle_timeout (Optional[int]): Network idle timeout in
|
|
59
|
+
milliseconds. Defaults to None.
|
|
60
|
+
screenshot_timeout (Optional[int]): Screenshot timeout in
|
|
61
|
+
milliseconds. Defaults to None.
|
|
62
|
+
page_stability_timeout (Optional[int]): Page stability timeout
|
|
63
|
+
in milliseconds. Defaults to None.
|
|
64
|
+
dom_content_loaded_timeout (Optional[int]): DOM content loaded
|
|
65
|
+
timeout in milliseconds. Defaults to None.
|
|
66
|
+
viewport_limit (bool): Whether to filter page snapshot
|
|
67
|
+
elements to only those visible in the current viewport.
|
|
68
|
+
Defaults to False.
|
|
69
|
+
connect_over_cdp (bool): Whether to connect to an existing
|
|
70
|
+
browser via Chrome DevTools Protocol. Defaults to False.
|
|
71
|
+
(Only supported in TypeScript mode)
|
|
72
|
+
cdp_url (Optional[str]): WebSocket endpoint URL for CDP
|
|
73
|
+
connection. Required when connect_over_cdp is True.
|
|
74
|
+
Defaults to None. (Only supported in TypeScript mode)
|
|
75
|
+
cdp_keep_current_page (bool): When True and using CDP mode,
|
|
76
|
+
won't create new pages but use the existing one. Defaults to False.
|
|
77
|
+
(Only supported in TypeScript mode)
|
|
78
|
+
full_visual_mode (bool): When True, browser actions like click,
|
|
79
|
+
browser_open, visit_page, etc. will return 'full visual mode'
|
|
80
|
+
as snapshot instead of actual page content. The
|
|
81
|
+
browser_get_page_snapshot method will still return the actual
|
|
82
|
+
snapshot. Defaults to False.
|
|
83
|
+
**kwargs: Additional keyword arguments passed to the
|
|
84
|
+
implementation.
|
|
85
|
+
|
|
86
|
+
Returns:
|
|
87
|
+
HybridBrowserToolkit instance of the specified implementation.
|
|
28
88
|
"""
|
|
29
89
|
|
|
30
90
|
def __new__(
|
|
@@ -109,6 +109,7 @@ class WebSocketBrowserWrapper:
|
|
|
109
109
|
self._send_lock = asyncio.Lock()
|
|
110
110
|
self._receive_task = None
|
|
111
111
|
self._pending_responses: Dict[str, asyncio.Future[Dict[str, Any]]] = {}
|
|
112
|
+
self._browser_opened = False
|
|
112
113
|
self._server_ready_future = None
|
|
113
114
|
|
|
114
115
|
self.browser_log_to_file = (config or {}).get(
|
|
@@ -191,10 +192,14 @@ class WebSocketBrowserWrapper:
|
|
|
191
192
|
"""Start the WebSocket server and connect to it."""
|
|
192
193
|
await self._cleanup_existing_processes()
|
|
193
194
|
|
|
195
|
+
import platform
|
|
196
|
+
|
|
197
|
+
use_shell = platform.system() == 'Windows'
|
|
194
198
|
npm_check = subprocess.run(
|
|
195
199
|
['npm', '--version'],
|
|
196
200
|
capture_output=True,
|
|
197
201
|
text=True,
|
|
202
|
+
shell=use_shell,
|
|
198
203
|
)
|
|
199
204
|
if npm_check.returncode != 0:
|
|
200
205
|
raise RuntimeError(
|
|
@@ -207,6 +212,7 @@ class WebSocketBrowserWrapper:
|
|
|
207
212
|
['node', '--version'],
|
|
208
213
|
capture_output=True,
|
|
209
214
|
text=True,
|
|
215
|
+
shell=use_shell,
|
|
210
216
|
)
|
|
211
217
|
if node_check.returncode != 0:
|
|
212
218
|
raise RuntimeError(
|
|
@@ -223,6 +229,7 @@ class WebSocketBrowserWrapper:
|
|
|
223
229
|
cwd=self.ts_dir,
|
|
224
230
|
capture_output=True,
|
|
225
231
|
text=True,
|
|
232
|
+
shell=use_shell,
|
|
226
233
|
)
|
|
227
234
|
if install_result.returncode != 0:
|
|
228
235
|
logger.error(f"npm install failed: {install_result.stderr}")
|
|
@@ -237,6 +244,7 @@ class WebSocketBrowserWrapper:
|
|
|
237
244
|
cwd=self.ts_dir,
|
|
238
245
|
capture_output=True,
|
|
239
246
|
text=True,
|
|
247
|
+
shell=use_shell,
|
|
240
248
|
)
|
|
241
249
|
if build_result.returncode != 0:
|
|
242
250
|
logger.error(f"TypeScript build failed: {build_result.stderr}")
|
|
@@ -244,13 +252,16 @@ class WebSocketBrowserWrapper:
|
|
|
244
252
|
f"TypeScript build failed: {build_result.stderr}"
|
|
245
253
|
)
|
|
246
254
|
|
|
255
|
+
# use_shell already defined above
|
|
247
256
|
self.process = subprocess.Popen(
|
|
248
257
|
['node', 'websocket-server.js'],
|
|
249
258
|
cwd=self.ts_dir,
|
|
250
259
|
stdout=subprocess.PIPE,
|
|
251
260
|
stderr=subprocess.STDOUT,
|
|
252
261
|
text=True,
|
|
262
|
+
encoding='utf-8',
|
|
253
263
|
bufsize=1,
|
|
264
|
+
shell=use_shell,
|
|
254
265
|
)
|
|
255
266
|
|
|
256
267
|
self._server_ready_future = asyncio.get_running_loop().create_future()
|
|
@@ -391,6 +402,9 @@ class WebSocketBrowserWrapper:
|
|
|
391
402
|
|
|
392
403
|
await self._send_command('init', self.config)
|
|
393
404
|
|
|
405
|
+
if self.config.get('cdpUrl'):
|
|
406
|
+
self._browser_opened = True
|
|
407
|
+
|
|
394
408
|
async def stop(self):
|
|
395
409
|
"""Stop the WebSocket connection and server."""
|
|
396
410
|
if self.websocket:
|
|
@@ -400,11 +414,12 @@ class WebSocketBrowserWrapper:
|
|
|
400
414
|
timeout=2.0,
|
|
401
415
|
)
|
|
402
416
|
|
|
403
|
-
# Close websocket connection
|
|
404
417
|
with contextlib.suppress(Exception):
|
|
405
418
|
await self.websocket.close()
|
|
406
419
|
self.websocket = None
|
|
407
420
|
|
|
421
|
+
self._browser_opened = False
|
|
422
|
+
|
|
408
423
|
# Gracefully stop the Node process before cancelling the log reader
|
|
409
424
|
if self.process:
|
|
410
425
|
try:
|
|
@@ -448,12 +463,13 @@ class WebSocketBrowserWrapper:
|
|
|
448
463
|
|
|
449
464
|
This is useful for CDP mode where the browser should remain open.
|
|
450
465
|
"""
|
|
451
|
-
# Close websocket connection
|
|
452
466
|
if self.websocket:
|
|
453
467
|
with contextlib.suppress(Exception):
|
|
454
468
|
await self.websocket.close()
|
|
455
469
|
self.websocket = None
|
|
456
470
|
|
|
471
|
+
self._browser_opened = False
|
|
472
|
+
|
|
457
473
|
# Stop the Node process
|
|
458
474
|
if self.process:
|
|
459
475
|
try:
|
|
@@ -709,17 +725,31 @@ class WebSocketBrowserWrapper:
|
|
|
709
725
|
response = await self._send_command(
|
|
710
726
|
'open_browser', {'startUrl': start_url}
|
|
711
727
|
)
|
|
728
|
+
self._browser_opened = True
|
|
712
729
|
return response
|
|
713
730
|
|
|
714
731
|
@action_logger
|
|
715
732
|
async def close_browser(self) -> str:
|
|
716
733
|
"""Close browser."""
|
|
717
734
|
response = await self._send_command('close_browser', {})
|
|
735
|
+
self._browser_opened = False
|
|
718
736
|
return response['message']
|
|
719
737
|
|
|
720
738
|
@action_logger
|
|
721
739
|
async def visit_page(self, url: str) -> Dict[str, Any]:
|
|
722
|
-
"""Visit a page.
|
|
740
|
+
"""Visit a page.
|
|
741
|
+
|
|
742
|
+
In non-CDP mode, automatically opens browser if not already open.
|
|
743
|
+
"""
|
|
744
|
+
if not self._browser_opened:
|
|
745
|
+
is_cdp_mode = bool(self.config.get('cdpUrl'))
|
|
746
|
+
|
|
747
|
+
if not is_cdp_mode:
|
|
748
|
+
logger.info(
|
|
749
|
+
"Browser not open, automatically opening browser..."
|
|
750
|
+
)
|
|
751
|
+
await self.open_browser()
|
|
752
|
+
|
|
723
753
|
response = await self._send_command('visit_page', {'url': url})
|
|
724
754
|
return response
|
|
725
755
|
|