camel-ai 0.2.70__tar.gz → 0.2.71a2__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.70 → camel_ai-0.2.71a2}/PKG-INFO +4 -4
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/__init__.py +1 -1
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/agents/chat_agent.py +61 -3
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/messages/func_message.py +32 -5
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/societies/workforce/role_playing_worker.py +4 -4
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/societies/workforce/single_agent_worker.py +5 -9
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/societies/workforce/workforce.py +304 -49
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/societies/workforce/workforce_logger.py +0 -1
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/tasks/task.py +83 -7
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/craw4ai_toolkit.py +27 -7
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/file_write_toolkit.py +110 -31
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/human_toolkit.py +29 -9
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/jina_reranker_toolkit.py +3 -4
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/non_visual_browser_toolkit/browser_non_visual_toolkit.py +23 -2
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/non_visual_browser_toolkit/nv_browser_session.py +53 -11
- camel_ai-0.2.71a2/camel/toolkits/non_visual_browser_toolkit/snapshot.js +268 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/non_visual_browser_toolkit/snapshot.py +9 -8
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/terminal_toolkit.py +206 -64
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/video_download_toolkit.py +6 -3
- camel_ai-0.2.71a2/camel/utils/message_summarizer.py +148 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/pyproject.toml +6 -5
- camel_ai-0.2.70/camel/toolkits/non_visual_browser_toolkit/snapshot.js +0 -188
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/.gitignore +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/LICENSE +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/README.md +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/agents/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/agents/_types.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/agents/_utils.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/agents/base.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/agents/critic_agent.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/agents/deductive_reasoner_agent.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/agents/embodied_agent.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/agents/knowledge_graph_agent.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/agents/mcp_agent.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/agents/multi_hop_generator_agent.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/agents/programmed_agent_instruction.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/agents/repo_agent.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/agents/role_assignment_agent.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/agents/search_agent.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/agents/task_agent.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/agents/tool_agents/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/agents/tool_agents/base.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/agents/tool_agents/hugging_face_tool_agent.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/benchmarks/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/benchmarks/apibank.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/benchmarks/apibench.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/benchmarks/base.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/benchmarks/browsecomp.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/benchmarks/gaia.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/benchmarks/mock_website/README.md +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/benchmarks/mock_website/mock_web.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/benchmarks/mock_website/requirements.txt +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/benchmarks/mock_website/shopping_mall/app.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/benchmarks/mock_website/task.json +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/benchmarks/nexus.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/benchmarks/ragbench.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/bots/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/bots/discord/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/bots/discord/discord_app.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/bots/discord/discord_installation.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/bots/discord/discord_store.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/bots/slack/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/bots/slack/models.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/bots/slack/slack_app.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/bots/telegram_bot.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/configs/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/configs/aiml_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/configs/anthropic_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/configs/base_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/configs/bedrock_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/configs/cohere_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/configs/crynux_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/configs/deepseek_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/configs/gemini_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/configs/groq_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/configs/internlm_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/configs/litellm_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/configs/lmstudio_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/configs/mistral_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/configs/modelscope_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/configs/moonshot_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/configs/netmind_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/configs/novita_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/configs/nvidia_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/configs/ollama_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/configs/openai_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/configs/openrouter_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/configs/ppio_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/configs/qianfan_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/configs/qwen_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/configs/reka_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/configs/samba_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/configs/sglang_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/configs/siliconflow_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/configs/togetherai_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/configs/vllm_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/configs/watsonx_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/configs/yi_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/configs/zhipuai_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/data_collectors/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/data_collectors/alpaca_collector.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/data_collectors/base.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/data_collectors/sharegpt_collector.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/datagen/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/datagen/cot_datagen.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/datagen/evol_instruct/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/datagen/evol_instruct/evol_instruct.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/datagen/evol_instruct/scorer.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/datagen/evol_instruct/templates.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/datagen/self_improving_cot.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/datagen/self_instruct/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/datagen/self_instruct/filter/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/datagen/self_instruct/filter/filter_function.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/datagen/self_instruct/filter/filter_registry.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/datagen/self_instruct/filter/instruction_filter.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/datagen/self_instruct/self_instruct.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/datagen/self_instruct/templates.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/datagen/source2synth/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/datagen/source2synth/data_processor.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/datagen/source2synth/models.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/datagen/source2synth/user_data_processor_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/datahubs/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/datahubs/base.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/datahubs/huggingface.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/datahubs/models.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/datasets/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/datasets/base_generator.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/datasets/few_shot_generator.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/datasets/models.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/datasets/self_instruct_generator.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/datasets/static_dataset.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/embeddings/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/embeddings/azure_embedding.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/embeddings/base.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/embeddings/gemini_embedding.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/embeddings/jina_embedding.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/embeddings/mistral_embedding.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/embeddings/openai_compatible_embedding.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/embeddings/openai_embedding.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/embeddings/sentence_transformers_embeddings.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/embeddings/together_embedding.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/embeddings/vlm_embedding.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/environments/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/environments/models.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/environments/multi_step.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/environments/rlcards_env.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/environments/single_step.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/environments/tic_tac_toe.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/extractors/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/extractors/base.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/extractors/python_strategies.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/generators.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/human.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/interpreters/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/interpreters/base.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/interpreters/docker/Dockerfile +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/interpreters/docker_interpreter.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/interpreters/e2b_interpreter.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/interpreters/internal_python_interpreter.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/interpreters/interpreter_error.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/interpreters/ipython_interpreter.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/interpreters/subprocess_interpreter.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/loaders/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/loaders/apify_reader.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/loaders/base_io.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/loaders/chunkr_reader.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/loaders/crawl4ai_reader.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/loaders/firecrawl_reader.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/loaders/jina_url_reader.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/loaders/markitdown.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/loaders/mineru_extractor.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/loaders/mistral_reader.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/loaders/pandas_reader.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/loaders/scrapegraph_reader.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/loaders/unstructured_io.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/logger.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/memories/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/memories/agent_memories.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/memories/base.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/memories/blocks/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/memories/blocks/chat_history_block.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/memories/blocks/vectordb_block.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/memories/context_creators/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/memories/context_creators/score_based.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/memories/records.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/messages/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/messages/base.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/messages/conversion/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/messages/conversion/alpaca.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/messages/conversion/conversation_models.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/messages/conversion/sharegpt/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/messages/conversion/sharegpt/function_call_formatter.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/messages/conversion/sharegpt/hermes/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/messages/conversion/sharegpt/hermes/hermes_function_formatter.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/_utils.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/aiml_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/anthropic_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/aws_bedrock_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/azure_openai_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/base_audio_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/base_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/cohere_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/crynux_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/deepseek_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/fish_audio_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/gemini_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/groq_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/internlm_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/litellm_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/lmstudio_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/mistral_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/model_factory.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/model_manager.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/modelscope_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/moonshot_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/nemotron_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/netmind_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/novita_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/nvidia_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/ollama_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/openai_audio_models.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/openai_compatible_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/openai_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/openrouter_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/ppio_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/qianfan_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/qwen_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/reka_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/reward/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/reward/base_reward_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/reward/evaluator.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/reward/nemotron_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/reward/skywork_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/samba_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/sglang_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/siliconflow_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/stub_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/togetherai_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/vllm_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/volcano_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/watsonx_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/yi_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/models/zhipuai_model.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/personas/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/personas/persona.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/personas/persona_hub.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/prompts/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/prompts/ai_society.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/prompts/base.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/prompts/code.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/prompts/evaluation.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/prompts/generate_text_embedding_data.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/prompts/image_craft.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/prompts/misalignment.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/prompts/multi_condition_image_craft.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/prompts/object_recognition.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/prompts/persona_hub.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/prompts/prompt_templates.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/prompts/role_description_prompt_template.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/prompts/solution_extraction.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/prompts/task_prompt_template.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/prompts/translation.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/prompts/video_description_prompt.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/py.typed +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/responses/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/responses/agent_responses.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/retrievers/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/retrievers/auto_retriever.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/retrievers/base.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/retrievers/bm25_retriever.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/retrievers/cohere_rerank_retriever.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/retrievers/hybrid_retrival.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/retrievers/vector_retriever.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/runtimes/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/runtimes/api.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/runtimes/base.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/runtimes/configs.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/runtimes/daytona_runtime.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/runtimes/docker_runtime.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/runtimes/llm_guard_runtime.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/runtimes/remote_http_runtime.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/runtimes/ubuntu_docker_runtime.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/runtimes/utils/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/runtimes/utils/function_risk_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/runtimes/utils/ignore_risk_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/schemas/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/schemas/base.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/schemas/openai_converter.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/schemas/outlines_converter.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/societies/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/societies/babyagi_playing.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/societies/role_playing.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/societies/workforce/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/societies/workforce/base.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/societies/workforce/prompts.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/societies/workforce/task_channel.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/societies/workforce/utils.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/societies/workforce/worker.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/storages/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/storages/graph_storages/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/storages/graph_storages/base.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/storages/graph_storages/graph_element.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/storages/graph_storages/nebula_graph.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/storages/graph_storages/neo4j_graph.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/storages/key_value_storages/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/storages/key_value_storages/base.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/storages/key_value_storages/in_memory.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/storages/key_value_storages/json.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/storages/key_value_storages/mem0_cloud.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/storages/key_value_storages/redis.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/storages/object_storages/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/storages/object_storages/amazon_s3.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/storages/object_storages/azure_blob.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/storages/object_storages/base.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/storages/object_storages/google_cloud.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/storages/vectordb_storages/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/storages/vectordb_storages/base.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/storages/vectordb_storages/chroma.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/storages/vectordb_storages/faiss.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/storages/vectordb_storages/milvus.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/storages/vectordb_storages/oceanbase.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/storages/vectordb_storages/pgvector.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/storages/vectordb_storages/qdrant.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/storages/vectordb_storages/tidb.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/storages/vectordb_storages/weaviate.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/tasks/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/tasks/task_prompt.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/terminators/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/terminators/base.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/terminators/response_terminator.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/terminators/token_limit_terminator.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/aci_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/arxiv_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/ask_news_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/async_browser_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/audio_analysis_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/base.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/bohrium_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/browser_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/browser_toolkit_commons.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/code_execution.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/dalle_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/dappier_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/data_commons_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/edgeone_pages_mcp_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/excel_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/function_tool.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/github_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/google_calendar_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/google_drive_mcp_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/google_maps_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/google_scholar_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/image_analysis_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/klavis_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/linkedin_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/markitdown_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/math_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/mcp_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/memory_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/meshy_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/mineru_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/networkx_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/non_visual_browser_toolkit/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/non_visual_browser_toolkit/actions.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/non_visual_browser_toolkit/agent.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/notion_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/open_api_specs/biztoc/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/open_api_specs/biztoc/ai-plugin.json +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/open_api_specs/biztoc/openapi.yaml +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/open_api_specs/coursera/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/open_api_specs/coursera/openapi.yaml +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/open_api_specs/create_qr_code/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/open_api_specs/create_qr_code/openapi.yaml +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/open_api_specs/klarna/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/open_api_specs/klarna/openapi.yaml +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/open_api_specs/nasa_apod/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/open_api_specs/nasa_apod/openapi.yaml +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/open_api_specs/outschool/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/open_api_specs/outschool/ai-plugin.json +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/open_api_specs/outschool/openapi.yaml +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/open_api_specs/outschool/paths/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/open_api_specs/outschool/paths/get_classes.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/open_api_specs/outschool/paths/search_teachers.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/open_api_specs/security_config.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/open_api_specs/speak/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/open_api_specs/speak/openapi.yaml +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/open_api_specs/web_scraper/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/open_api_specs/web_scraper/ai-plugin.json +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/open_api_specs/web_scraper/openapi.yaml +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/open_api_specs/web_scraper/paths/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/open_api_specs/web_scraper/paths/scraper.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/open_api_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/openai_agent_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/openbb_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/page_script.js +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/playwright_mcp_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/pptx_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/pubmed_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/pulse_mcp_search_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/pyautogui_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/reddit_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/retrieval_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/search_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/searxng_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/semantic_scholar_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/slack_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/stripe_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/sympy_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/task_planning_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/thinking_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/twitter_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/video_analysis_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/weather_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/whatsapp_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/wolfram_alpha_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/toolkits/zapier_toolkit.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/types/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/types/agents/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/types/agents/tool_calling_record.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/types/enums.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/types/mcp_registries.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/types/openai_types.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/types/unified_model_type.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/utils/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/utils/async_func.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/utils/chunker/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/utils/chunker/base.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/utils/chunker/code_chunker.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/utils/chunker/uio_chunker.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/utils/commons.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/utils/constants.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/utils/deduplication.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/utils/filename.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/utils/langfuse.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/utils/mcp.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/utils/mcp_client.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/utils/response_format.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/utils/token_counting.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/verifiers/__init__.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/verifiers/base.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/verifiers/math_verifier.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/verifiers/models.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/camel/verifiers/physics_verifier.py +0 -0
- {camel_ai-0.2.70 → camel_ai-0.2.71a2}/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.71a2
|
|
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
|
|
@@ -54,7 +54,6 @@ Requires-Dist: ffmpeg-python<0.3,>=0.2.0; extra == 'all'
|
|
|
54
54
|
Requires-Dist: firecrawl-py<2,>=1.0.0; extra == 'all'
|
|
55
55
|
Requires-Dist: fish-audio-sdk<2025,>=2024.12.5; extra == 'all'
|
|
56
56
|
Requires-Dist: flask>=2.0; extra == 'all'
|
|
57
|
-
Requires-Dist: fpdf>=1.7.2; extra == 'all'
|
|
58
57
|
Requires-Dist: google-api-python-client==2.166.0; extra == 'all'
|
|
59
58
|
Requires-Dist: google-auth-httplib2==0.2.0; extra == 'all'
|
|
60
59
|
Requires-Dist: google-auth-oauthlib==1.2.1; extra == 'all'
|
|
@@ -99,6 +98,7 @@ Requires-Dist: pygithub<3,>=2.6.0; extra == 'all'
|
|
|
99
98
|
Requires-Dist: pylatex>=1.4.2; extra == 'all'
|
|
100
99
|
Requires-Dist: pymilvus<3,>=2.4.0; extra == 'all'
|
|
101
100
|
Requires-Dist: pymupdf<2,>=1.22.5; extra == 'all'
|
|
101
|
+
Requires-Dist: pymupdf>=1.26.1; extra == 'all'
|
|
102
102
|
Requires-Dist: pyobvector>=0.1.18; extra == 'all'
|
|
103
103
|
Requires-Dist: pyowm<4,>=3.3.0; extra == 'all'
|
|
104
104
|
Requires-Dist: pytelegrambotapi<5,>=4.18.0; extra == 'all'
|
|
@@ -206,7 +206,6 @@ Requires-Dist: chunkr-ai>=0.0.50; extra == 'document-tools'
|
|
|
206
206
|
Requires-Dist: crawl4ai>=0.3.745; extra == 'document-tools'
|
|
207
207
|
Requires-Dist: docx2txt<0.9,>=0.8; extra == 'document-tools'
|
|
208
208
|
Requires-Dist: docx>=0.2.4; extra == 'document-tools'
|
|
209
|
-
Requires-Dist: fpdf>=1.7.2; extra == 'document-tools'
|
|
210
209
|
Requires-Dist: markitdown==0.1.1; extra == 'document-tools'
|
|
211
210
|
Requires-Dist: numpy<=2.2,>=1.2; extra == 'document-tools'
|
|
212
211
|
Requires-Dist: openapi-spec-validator<0.8,>=0.7.1; extra == 'document-tools'
|
|
@@ -215,6 +214,7 @@ Requires-Dist: pandasai<3,>=2.3.0; extra == 'document-tools'
|
|
|
215
214
|
Requires-Dist: prance<24,>=23.6.21.0; extra == 'document-tools'
|
|
216
215
|
Requires-Dist: pylatex>=1.4.2; extra == 'document-tools'
|
|
217
216
|
Requires-Dist: pymupdf<2,>=1.22.5; extra == 'document-tools'
|
|
217
|
+
Requires-Dist: pymupdf>=1.26.1; extra == 'document-tools'
|
|
218
218
|
Requires-Dist: python-pptx>=1.0.2; extra == 'document-tools'
|
|
219
219
|
Requires-Dist: tabulate>=0.9.0; extra == 'document-tools'
|
|
220
220
|
Requires-Dist: unstructured==0.16.20; extra == 'document-tools'
|
|
@@ -254,7 +254,6 @@ Requires-Dist: docx>=0.2.4; extra == 'owl'
|
|
|
254
254
|
Requires-Dist: duckduckgo-search<7,>=6.3.5; extra == 'owl'
|
|
255
255
|
Requires-Dist: e2b-code-interpreter<2,>=1.0.3; extra == 'owl'
|
|
256
256
|
Requires-Dist: ffmpeg-python<0.3,>=0.2.0; extra == 'owl'
|
|
257
|
-
Requires-Dist: fpdf>=1.7.2; extra == 'owl'
|
|
258
257
|
Requires-Dist: html2text>=2024.2.26; extra == 'owl'
|
|
259
258
|
Requires-Dist: imageio[pyav]<3,>=2.34.2; extra == 'owl'
|
|
260
259
|
Requires-Dist: markitdown==0.1.1; extra == 'owl'
|
|
@@ -272,6 +271,7 @@ Requires-Dist: pyautogui<0.10,>=0.9.54; extra == 'owl'
|
|
|
272
271
|
Requires-Dist: pydub<0.26,>=0.25.1; extra == 'owl'
|
|
273
272
|
Requires-Dist: pylatex>=1.4.2; extra == 'owl'
|
|
274
273
|
Requires-Dist: pymupdf<2,>=1.22.5; extra == 'owl'
|
|
274
|
+
Requires-Dist: pymupdf>=1.26.1; extra == 'owl'
|
|
275
275
|
Requires-Dist: pytesseract>=0.3.13; extra == 'owl'
|
|
276
276
|
Requires-Dist: python-dotenv<2,>=1.0.0; extra == 'owl'
|
|
277
277
|
Requires-Dist: python-pptx>=1.0.2; extra == 'owl'
|
|
@@ -13,10 +13,12 @@
|
|
|
13
13
|
# ========= Copyright 2023-2024 @ CAMEL-AI.org. All Rights Reserved. =========
|
|
14
14
|
from __future__ import annotations
|
|
15
15
|
|
|
16
|
+
import asyncio
|
|
16
17
|
import json
|
|
17
18
|
import logging
|
|
18
19
|
import textwrap
|
|
19
20
|
import threading
|
|
21
|
+
import time
|
|
20
22
|
import uuid
|
|
21
23
|
from collections import defaultdict
|
|
22
24
|
from pathlib import Path
|
|
@@ -173,6 +175,11 @@ class ChatAgent(BaseAgent):
|
|
|
173
175
|
stop_event (Optional[threading.Event], optional): Event to signal
|
|
174
176
|
termination of the agent's operation. When set, the agent will
|
|
175
177
|
terminate its execution. (default: :obj:`None`)
|
|
178
|
+
mask_tool_output (Optional[bool]): Whether to return a sanitized
|
|
179
|
+
placeholder instead of the raw tool output. (default: :obj:`False`)
|
|
180
|
+
pause_event (Optional[asyncio.Event]): Event to signal pause of the
|
|
181
|
+
agent's operation. When clear, the agent will pause its execution.
|
|
182
|
+
(default: :obj:`None`)
|
|
176
183
|
"""
|
|
177
184
|
|
|
178
185
|
def __init__(
|
|
@@ -206,6 +213,8 @@ class ChatAgent(BaseAgent):
|
|
|
206
213
|
max_iteration: Optional[int] = None,
|
|
207
214
|
agent_id: Optional[str] = None,
|
|
208
215
|
stop_event: Optional[threading.Event] = None,
|
|
216
|
+
mask_tool_output: bool = False,
|
|
217
|
+
pause_event: Optional[asyncio.Event] = None,
|
|
209
218
|
) -> None:
|
|
210
219
|
if isinstance(model, ModelManager):
|
|
211
220
|
self.model_backend = model
|
|
@@ -280,6 +289,9 @@ class ChatAgent(BaseAgent):
|
|
|
280
289
|
self.response_terminators = response_terminators or []
|
|
281
290
|
self.max_iteration = max_iteration
|
|
282
291
|
self.stop_event = stop_event
|
|
292
|
+
self.mask_tool_output = mask_tool_output
|
|
293
|
+
self._secure_result_store: Dict[str, Any] = {}
|
|
294
|
+
self.pause_event = pause_event
|
|
283
295
|
|
|
284
296
|
def reset(self):
|
|
285
297
|
r"""Resets the :obj:`ChatAgent` to its initial state."""
|
|
@@ -1143,6 +1155,10 @@ class ChatAgent(BaseAgent):
|
|
|
1143
1155
|
iteration_count = 0
|
|
1144
1156
|
|
|
1145
1157
|
while True:
|
|
1158
|
+
if self.pause_event is not None and not self.pause_event.is_set():
|
|
1159
|
+
while not self.pause_event.is_set():
|
|
1160
|
+
time.sleep(0.001)
|
|
1161
|
+
|
|
1146
1162
|
try:
|
|
1147
1163
|
openai_messages, num_tokens = self.memory.get_context()
|
|
1148
1164
|
accumulated_context_tokens += num_tokens
|
|
@@ -1184,6 +1200,12 @@ class ChatAgent(BaseAgent):
|
|
|
1184
1200
|
external_tool_call_requests = []
|
|
1185
1201
|
external_tool_call_requests.append(tool_call_request)
|
|
1186
1202
|
else:
|
|
1203
|
+
if (
|
|
1204
|
+
self.pause_event is not None
|
|
1205
|
+
and not self.pause_event.is_set()
|
|
1206
|
+
):
|
|
1207
|
+
while not self.pause_event.is_set():
|
|
1208
|
+
time.sleep(0.001)
|
|
1187
1209
|
tool_call_records.append(
|
|
1188
1210
|
self._execute_tool(tool_call_request)
|
|
1189
1211
|
)
|
|
@@ -1287,6 +1309,8 @@ class ChatAgent(BaseAgent):
|
|
|
1287
1309
|
step_token_usage = self._create_token_usage_tracker()
|
|
1288
1310
|
iteration_count = 0
|
|
1289
1311
|
while True:
|
|
1312
|
+
if self.pause_event is not None and not self.pause_event.is_set():
|
|
1313
|
+
await self.pause_event.wait()
|
|
1290
1314
|
try:
|
|
1291
1315
|
openai_messages, num_tokens = self.memory.get_context()
|
|
1292
1316
|
accumulated_context_tokens += num_tokens
|
|
@@ -1328,6 +1352,11 @@ class ChatAgent(BaseAgent):
|
|
|
1328
1352
|
external_tool_call_requests = []
|
|
1329
1353
|
external_tool_call_requests.append(tool_call_request)
|
|
1330
1354
|
else:
|
|
1355
|
+
if (
|
|
1356
|
+
self.pause_event is not None
|
|
1357
|
+
and not self.pause_event.is_set()
|
|
1358
|
+
):
|
|
1359
|
+
await self.pause_event.wait()
|
|
1331
1360
|
tool_call_record = await self._aexecute_tool(
|
|
1332
1361
|
tool_call_request
|
|
1333
1362
|
)
|
|
@@ -1958,14 +1987,27 @@ class ChatAgent(BaseAgent):
|
|
|
1958
1987
|
tool_call_id = tool_call_request.tool_call_id
|
|
1959
1988
|
tool = self._internal_tools[func_name]
|
|
1960
1989
|
try:
|
|
1961
|
-
|
|
1990
|
+
raw_result = tool(**args)
|
|
1991
|
+
if self.mask_tool_output:
|
|
1992
|
+
self._secure_result_store[tool_call_id] = raw_result
|
|
1993
|
+
result = (
|
|
1994
|
+
"[The tool has been executed successfully, but the output"
|
|
1995
|
+
" from the tool is masked. You can move forward]"
|
|
1996
|
+
)
|
|
1997
|
+
mask_flag = True
|
|
1998
|
+
else:
|
|
1999
|
+
result = raw_result
|
|
2000
|
+
mask_flag = False
|
|
1962
2001
|
except Exception as e:
|
|
1963
2002
|
# Capture the error message to prevent framework crash
|
|
1964
2003
|
error_msg = f"Error executing tool '{func_name}': {e!s}"
|
|
1965
|
-
result =
|
|
2004
|
+
result = f"Tool execution failed: {error_msg}"
|
|
2005
|
+
mask_flag = False
|
|
1966
2006
|
logging.warning(error_msg)
|
|
1967
2007
|
|
|
1968
|
-
return self._record_tool_calling(
|
|
2008
|
+
return self._record_tool_calling(
|
|
2009
|
+
func_name, args, result, tool_call_id, mask_output=mask_flag
|
|
2010
|
+
)
|
|
1969
2011
|
|
|
1970
2012
|
async def _aexecute_tool(
|
|
1971
2013
|
self,
|
|
@@ -2015,9 +2057,23 @@ class ChatAgent(BaseAgent):
|
|
|
2015
2057
|
args: Dict[str, Any],
|
|
2016
2058
|
result: Any,
|
|
2017
2059
|
tool_call_id: str,
|
|
2060
|
+
mask_output: bool = False,
|
|
2018
2061
|
):
|
|
2019
2062
|
r"""Record the tool calling information in the memory, and return the
|
|
2020
2063
|
tool calling record.
|
|
2064
|
+
|
|
2065
|
+
Args:
|
|
2066
|
+
func_name (str): The name of the tool function called.
|
|
2067
|
+
args (Dict[str, Any]): The arguments passed to the tool.
|
|
2068
|
+
result (Any): The result returned by the tool execution.
|
|
2069
|
+
tool_call_id (str): A unique identifier for the tool call.
|
|
2070
|
+
mask_output (bool, optional): Whether to return a sanitized
|
|
2071
|
+
placeholder instead of the raw tool output.
|
|
2072
|
+
(default: :obj:`False`)
|
|
2073
|
+
|
|
2074
|
+
Returns:
|
|
2075
|
+
ToolCallingRecord: A struct containing information about
|
|
2076
|
+
this tool call.
|
|
2021
2077
|
"""
|
|
2022
2078
|
assist_msg = FunctionCallingMessage(
|
|
2023
2079
|
role_name=self.role_name,
|
|
@@ -2036,6 +2092,7 @@ class ChatAgent(BaseAgent):
|
|
|
2036
2092
|
func_name=func_name,
|
|
2037
2093
|
result=result,
|
|
2038
2094
|
tool_call_id=tool_call_id,
|
|
2095
|
+
mask_output=mask_output,
|
|
2039
2096
|
)
|
|
2040
2097
|
|
|
2041
2098
|
# Use precise timestamps to ensure correct ordering
|
|
@@ -2140,6 +2197,7 @@ class ChatAgent(BaseAgent):
|
|
|
2140
2197
|
),
|
|
2141
2198
|
max_iteration=self.max_iteration,
|
|
2142
2199
|
stop_event=self.stop_event,
|
|
2200
|
+
pause_event=self.pause_event,
|
|
2143
2201
|
)
|
|
2144
2202
|
|
|
2145
2203
|
# Copy memory if requested
|
|
@@ -47,12 +47,16 @@ class FunctionCallingMessage(BaseMessage):
|
|
|
47
47
|
(default: :obj:`None`)
|
|
48
48
|
tool_call_id (Optional[str]): The ID of the tool call, if available.
|
|
49
49
|
(default: :obj:`None`)
|
|
50
|
+
mask_output (Optional[bool]): Whether to return a sanitized placeholder
|
|
51
|
+
instead of the raw tool output.
|
|
52
|
+
(default: :obj:`False`)
|
|
50
53
|
"""
|
|
51
54
|
|
|
52
55
|
func_name: Optional[str] = None
|
|
53
56
|
args: Optional[Dict] = None
|
|
54
57
|
result: Optional[Any] = None
|
|
55
58
|
tool_call_id: Optional[str] = None
|
|
59
|
+
mask_output: Optional[bool] = False
|
|
56
60
|
|
|
57
61
|
def to_openai_message(
|
|
58
62
|
self,
|
|
@@ -105,10 +109,13 @@ class FunctionCallingMessage(BaseMessage):
|
|
|
105
109
|
# This is a function response
|
|
106
110
|
# TODO: Allow for more flexible setting of tool role,
|
|
107
111
|
# optionally to be the same as assistant messages
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
+
if self.mask_output:
|
|
113
|
+
content = "[MASKED]"
|
|
114
|
+
else:
|
|
115
|
+
content = function_format.format_tool_response(
|
|
116
|
+
self.func_name, # type: ignore[arg-type]
|
|
117
|
+
self.result, # type: ignore[arg-type]
|
|
118
|
+
)
|
|
112
119
|
return ShareGPTMessage(from_="tool", value=content) # type: ignore[call-arg]
|
|
113
120
|
|
|
114
121
|
def to_openai_assistant_message(self) -> OpenAIAssistantMessage:
|
|
@@ -154,10 +161,30 @@ class FunctionCallingMessage(BaseMessage):
|
|
|
154
161
|
" due to missing function name."
|
|
155
162
|
)
|
|
156
163
|
|
|
157
|
-
|
|
164
|
+
if self.mask_output:
|
|
165
|
+
result_content = "[MASKED]"
|
|
166
|
+
else:
|
|
167
|
+
result_content = str(self.result)
|
|
158
168
|
|
|
159
169
|
return {
|
|
160
170
|
"role": "tool",
|
|
161
171
|
"content": result_content,
|
|
162
172
|
"tool_call_id": self.tool_call_id or "null",
|
|
163
173
|
}
|
|
174
|
+
|
|
175
|
+
def to_dict(self) -> Dict:
|
|
176
|
+
r"""Converts the message to a dictionary.
|
|
177
|
+
|
|
178
|
+
Returns:
|
|
179
|
+
dict: The converted dictionary.
|
|
180
|
+
"""
|
|
181
|
+
base = super().to_dict()
|
|
182
|
+
base["func_name"] = self.func_name
|
|
183
|
+
if self.args is not None:
|
|
184
|
+
base["args"] = self.args
|
|
185
|
+
if self.result is not None:
|
|
186
|
+
base["result"] = self.result
|
|
187
|
+
if self.tool_call_id is not None:
|
|
188
|
+
base["tool_call_id"] = self.tool_call_id
|
|
189
|
+
base["mask_output"] = self.mask_output
|
|
190
|
+
return base
|
|
@@ -27,7 +27,7 @@ from camel.societies.workforce.prompts import (
|
|
|
27
27
|
)
|
|
28
28
|
from camel.societies.workforce.utils import TaskResult
|
|
29
29
|
from camel.societies.workforce.worker import Worker
|
|
30
|
-
from camel.tasks.task import Task, TaskState,
|
|
30
|
+
from camel.tasks.task import Task, TaskState, is_task_result_insufficient
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
class RolePlayingWorker(Worker):
|
|
@@ -178,14 +178,14 @@ class RolePlayingWorker(Worker):
|
|
|
178
178
|
result_dict = json.loads(response.msg.content)
|
|
179
179
|
task_result = TaskResult(**result_dict)
|
|
180
180
|
|
|
181
|
-
|
|
181
|
+
task.result = task_result.content
|
|
182
|
+
|
|
183
|
+
if is_task_result_insufficient(task):
|
|
182
184
|
print(
|
|
183
185
|
f"{Fore.RED}Task {task.id}: Content validation failed - "
|
|
184
186
|
f"task marked as failed{Fore.RESET}"
|
|
185
187
|
)
|
|
186
188
|
return TaskState.FAILED
|
|
187
189
|
|
|
188
|
-
task.result = task_result.content
|
|
189
|
-
|
|
190
190
|
print(f"Task result: {task.result}\n")
|
|
191
191
|
return TaskState.DONE
|
|
@@ -26,7 +26,7 @@ from camel.agents import ChatAgent
|
|
|
26
26
|
from camel.societies.workforce.prompts import PROCESS_TASK_PROMPT
|
|
27
27
|
from camel.societies.workforce.utils import TaskResult
|
|
28
28
|
from camel.societies.workforce.worker import Worker
|
|
29
|
-
from camel.tasks.task import Task, TaskState,
|
|
29
|
+
from camel.tasks.task import Task, TaskState, is_task_result_insufficient
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
class AgentPool:
|
|
@@ -43,8 +43,6 @@ class AgentPool:
|
|
|
43
43
|
(default: :obj:`10`)
|
|
44
44
|
auto_scale (bool): Whether to automatically scale the pool size.
|
|
45
45
|
(default: :obj:`True`)
|
|
46
|
-
scale_factor (float): Factor by which to scale the pool when needed.
|
|
47
|
-
(default: :obj:`1.5`)
|
|
48
46
|
idle_timeout (float): Time in seconds after which idle agents are
|
|
49
47
|
removed. (default: :obj:`180.0`)
|
|
50
48
|
"""
|
|
@@ -55,13 +53,11 @@ class AgentPool:
|
|
|
55
53
|
initial_size: int = 1,
|
|
56
54
|
max_size: int = 10,
|
|
57
55
|
auto_scale: bool = True,
|
|
58
|
-
scale_factor: float = 1.5,
|
|
59
56
|
idle_timeout: float = 180.0, # 3 minutes
|
|
60
57
|
):
|
|
61
58
|
self.base_agent = base_agent
|
|
62
59
|
self.max_size = max_size
|
|
63
60
|
self.auto_scale = auto_scale
|
|
64
|
-
self.scale_factor = scale_factor
|
|
65
61
|
self.idle_timeout = idle_timeout
|
|
66
62
|
|
|
67
63
|
# Pool management
|
|
@@ -332,7 +328,7 @@ class SingleAgentWorker(Worker):
|
|
|
332
328
|
# Store the actual token usage for this specific task
|
|
333
329
|
task.additional_info["token_usage"] = {"total_tokens": total_tokens}
|
|
334
330
|
|
|
335
|
-
print(f"======\n{Fore.GREEN}
|
|
331
|
+
print(f"======\n{Fore.GREEN}Response from {self}:{Fore.RESET}")
|
|
336
332
|
|
|
337
333
|
try:
|
|
338
334
|
result_dict = json.loads(response.msg.content)
|
|
@@ -352,14 +348,14 @@ class SingleAgentWorker(Worker):
|
|
|
352
348
|
if task_result.failed:
|
|
353
349
|
return TaskState.FAILED
|
|
354
350
|
|
|
355
|
-
|
|
351
|
+
task.result = task_result.content
|
|
352
|
+
|
|
353
|
+
if is_task_result_insufficient(task):
|
|
356
354
|
print(
|
|
357
355
|
f"{Fore.RED}Task {task.id}: Content validation failed - "
|
|
358
356
|
f"task marked as failed{Fore.RESET}"
|
|
359
357
|
)
|
|
360
358
|
return TaskState.FAILED
|
|
361
|
-
|
|
362
|
-
task.result = task_result.content
|
|
363
359
|
return TaskState.DONE
|
|
364
360
|
|
|
365
361
|
async def _listen_to_channel(self):
|