camel-ai 0.2.60__tar.gz → 0.2.62__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.60 → camel_ai-0.2.62}/PKG-INFO +14 -1
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/__init__.py +1 -1
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/chat_agent.py +159 -8
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/mcp_agent.py +5 -5
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/anthropic_config.py +6 -5
- {camel_ai-0.2.60/camel/data_collector → camel_ai-0.2.62/camel/data_collectors}/alpaca_collector.py +1 -1
- {camel_ai-0.2.60/camel/data_collector → camel_ai-0.2.62/camel/data_collectors}/sharegpt_collector.py +1 -1
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/evol_instruct/scorer.py +22 -23
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/evol_instruct/templates.py +46 -46
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datasets/static_dataset.py +144 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/loaders/__init__.py +5 -2
- camel_ai-0.2.62/camel/loaders/chunkr_reader.py +193 -0
- camel_ai-0.2.62/camel/loaders/mistral_reader.py +148 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/memories/blocks/chat_history_block.py +1 -2
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/model_manager.py +7 -3
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/retrievers/auto_retriever.py +20 -1
- {camel_ai-0.2.60/camel/runtime → camel_ai-0.2.62/camel/runtimes}/daytona_runtime.py +1 -1
- {camel_ai-0.2.60/camel/runtime → camel_ai-0.2.62/camel/runtimes}/docker_runtime.py +1 -1
- {camel_ai-0.2.60/camel/runtime → camel_ai-0.2.62/camel/runtimes}/llm_guard_runtime.py +2 -2
- {camel_ai-0.2.60/camel/runtime → camel_ai-0.2.62/camel/runtimes}/remote_http_runtime.py +1 -1
- {camel_ai-0.2.60/camel/runtime → camel_ai-0.2.62/camel/runtimes}/ubuntu_docker_runtime.py +1 -1
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/societies/workforce/base.py +7 -3
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/societies/workforce/single_agent_worker.py +2 -1
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/societies/workforce/worker.py +5 -3
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/societies/workforce/workforce.py +65 -24
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/__init__.py +2 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/vectordb_storages/__init__.py +2 -0
- camel_ai-0.2.62/camel/storages/vectordb_storages/faiss.py +712 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/__init__.py +4 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/async_browser_toolkit.py +75 -523
- camel_ai-0.2.62/camel/toolkits/bohrium_toolkit.py +318 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/browser_toolkit.py +215 -538
- camel_ai-0.2.62/camel/toolkits/browser_toolkit_commons.py +568 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/file_write_toolkit.py +80 -31
- camel_ai-0.2.62/camel/toolkits/mcp_toolkit.py +614 -0
- camel_ai-0.2.62/camel/toolkits/pptx_toolkit.py +777 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/wolfram_alpha_toolkit.py +5 -1
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/types/enums.py +13 -1
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/utils/__init__.py +2 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/utils/commons.py +27 -0
- camel_ai-0.2.62/camel/utils/mcp_client.py +979 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/pyproject.toml +22 -3
- camel_ai-0.2.60/camel/loaders/chunkr_reader.py +0 -167
- camel_ai-0.2.60/camel/toolkits/mcp_toolkit.py +0 -802
- {camel_ai-0.2.60 → camel_ai-0.2.62}/.gitignore +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/LICENSE +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/README.md +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/_types.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/_utils.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/base.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/critic_agent.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/deductive_reasoner_agent.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/embodied_agent.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/knowledge_graph_agent.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/multi_hop_generator_agent.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/programmed_agent_instruction.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/repo_agent.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/role_assignment_agent.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/search_agent.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/task_agent.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/tool_agents/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/tool_agents/base.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/agents/tool_agents/hugging_face_tool_agent.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/benchmarks/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/benchmarks/apibank.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/benchmarks/apibench.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/benchmarks/base.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/benchmarks/browsecomp.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/benchmarks/gaia.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/benchmarks/nexus.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/benchmarks/ragbench.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/bots/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/bots/discord/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/bots/discord/discord_app.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/bots/discord/discord_installation.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/bots/discord/discord_store.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/bots/slack/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/bots/slack/models.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/bots/slack/slack_app.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/bots/telegram_bot.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/aiml_config.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/base_config.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/bedrock_config.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/cohere_config.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/deepseek_config.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/gemini_config.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/groq_config.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/internlm_config.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/litellm_config.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/lmstudio_config.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/mistral_config.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/modelscope_config.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/moonshot_config.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/netmind_config.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/novita_config.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/nvidia_config.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/ollama_config.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/openai_config.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/openrouter_config.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/ppio_config.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/qwen_config.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/reka_config.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/samba_config.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/sglang_config.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/siliconflow_config.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/togetherai_config.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/vllm_config.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/watsonx_config.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/yi_config.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/configs/zhipuai_config.py +0 -0
- {camel_ai-0.2.60/camel/data_collector → camel_ai-0.2.62/camel/data_collectors}/__init__.py +0 -0
- {camel_ai-0.2.60/camel/data_collector → camel_ai-0.2.62/camel/data_collectors}/base.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/cot_datagen.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/evol_instruct/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/evol_instruct/evol_instruct.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/self_improving_cot.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/self_instruct/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/self_instruct/filter/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/self_instruct/filter/filter_function.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/self_instruct/filter/filter_registry.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/self_instruct/filter/instruction_filter.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/self_instruct/self_instruct.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/self_instruct/templates.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/source2synth/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/source2synth/data_processor.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/source2synth/models.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datagen/source2synth/user_data_processor_config.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datahubs/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datahubs/base.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datahubs/huggingface.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datahubs/models.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datasets/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datasets/base_generator.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datasets/few_shot_generator.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datasets/models.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/datasets/self_instruct_generator.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/embeddings/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/embeddings/azure_embedding.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/embeddings/base.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/embeddings/gemini_embedding.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/embeddings/jina_embedding.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/embeddings/mistral_embedding.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/embeddings/openai_compatible_embedding.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/embeddings/openai_embedding.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/embeddings/sentence_transformers_embeddings.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/embeddings/together_embedding.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/embeddings/vlm_embedding.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/environments/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/environments/models.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/environments/multi_step.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/environments/single_step.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/environments/tic_tac_toe.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/extractors/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/extractors/base.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/extractors/python_strategies.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/generators.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/human.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/interpreters/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/interpreters/base.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/interpreters/docker/Dockerfile +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/interpreters/docker_interpreter.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/interpreters/e2b_interpreter.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/interpreters/internal_python_interpreter.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/interpreters/interpreter_error.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/interpreters/ipython_interpreter.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/interpreters/subprocess_interpreter.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/loaders/apify_reader.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/loaders/base_io.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/loaders/crawl4ai_reader.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/loaders/firecrawl_reader.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/loaders/jina_url_reader.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/loaders/markitdown.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/loaders/mineru_extractor.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/loaders/pandas_reader.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/loaders/scrapegraph_reader.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/loaders/unstructured_io.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/logger.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/memories/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/memories/agent_memories.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/memories/base.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/memories/blocks/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/memories/blocks/vectordb_block.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/memories/context_creators/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/memories/context_creators/score_based.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/memories/records.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/messages/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/messages/base.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/messages/conversion/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/messages/conversion/alpaca.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/messages/conversion/conversation_models.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/messages/conversion/sharegpt/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/messages/conversion/sharegpt/function_call_formatter.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/messages/conversion/sharegpt/hermes/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/messages/conversion/sharegpt/hermes/hermes_function_formatter.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/messages/func_message.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/_utils.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/aiml_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/anthropic_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/aws_bedrock_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/azure_openai_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/base_audio_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/base_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/cohere_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/deepseek_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/fish_audio_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/gemini_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/groq_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/internlm_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/litellm_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/lmstudio_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/mistral_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/model_factory.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/modelscope_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/moonshot_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/nemotron_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/netmind_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/novita_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/nvidia_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/ollama_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/openai_audio_models.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/openai_compatible_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/openai_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/openrouter_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/ppio_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/qwen_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/reka_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/reward/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/reward/base_reward_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/reward/evaluator.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/reward/nemotron_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/reward/skywork_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/samba_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/sglang_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/siliconflow_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/stub_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/togetherai_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/vllm_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/volcano_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/watsonx_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/yi_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/models/zhipuai_model.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/personas/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/personas/persona.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/personas/persona_hub.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/prompts/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/prompts/ai_society.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/prompts/base.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/prompts/code.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/prompts/evaluation.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/prompts/generate_text_embedding_data.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/prompts/image_craft.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/prompts/misalignment.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/prompts/multi_condition_image_craft.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/prompts/object_recognition.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/prompts/persona_hub.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/prompts/prompt_templates.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/prompts/role_description_prompt_template.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/prompts/solution_extraction.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/prompts/task_prompt_template.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/prompts/translation.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/prompts/video_description_prompt.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/py.typed +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/responses/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/responses/agent_responses.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/retrievers/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/retrievers/base.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/retrievers/bm25_retriever.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/retrievers/cohere_rerank_retriever.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/retrievers/hybrid_retrival.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/retrievers/vector_retriever.py +0 -0
- {camel_ai-0.2.60/camel/runtime → camel_ai-0.2.62/camel/runtimes}/__init__.py +0 -0
- {camel_ai-0.2.60/camel/runtime → camel_ai-0.2.62/camel/runtimes}/api.py +0 -0
- {camel_ai-0.2.60/camel/runtime → camel_ai-0.2.62/camel/runtimes}/base.py +0 -0
- {camel_ai-0.2.60/camel/runtime → camel_ai-0.2.62/camel/runtimes}/configs.py +0 -0
- {camel_ai-0.2.60/camel/runtime → camel_ai-0.2.62/camel/runtimes}/utils/__init__.py +0 -0
- {camel_ai-0.2.60/camel/runtime → camel_ai-0.2.62/camel/runtimes}/utils/function_risk_toolkit.py +0 -0
- {camel_ai-0.2.60/camel/runtime → camel_ai-0.2.62/camel/runtimes}/utils/ignore_risk_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/schemas/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/schemas/base.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/schemas/openai_converter.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/schemas/outlines_converter.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/societies/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/societies/babyagi_playing.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/societies/role_playing.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/societies/workforce/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/societies/workforce/prompts.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/societies/workforce/role_playing_worker.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/societies/workforce/task_channel.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/societies/workforce/utils.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/graph_storages/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/graph_storages/base.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/graph_storages/graph_element.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/graph_storages/nebula_graph.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/graph_storages/neo4j_graph.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/key_value_storages/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/key_value_storages/base.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/key_value_storages/in_memory.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/key_value_storages/json.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/key_value_storages/mem0_cloud.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/key_value_storages/redis.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/object_storages/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/object_storages/amazon_s3.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/object_storages/azure_blob.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/object_storages/base.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/object_storages/google_cloud.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/vectordb_storages/base.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/vectordb_storages/milvus.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/vectordb_storages/oceanbase.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/vectordb_storages/qdrant.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/storages/vectordb_storages/tidb.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/tasks/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/tasks/task.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/tasks/task_prompt.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/terminators/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/terminators/base.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/terminators/response_terminator.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/terminators/token_limit_terminator.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/aci_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/arxiv_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/ask_news_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/audio_analysis_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/base.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/code_execution.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/dalle_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/dappier_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/data_commons_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/excel_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/function_tool.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/github_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/google_calendar_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/google_maps_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/google_scholar_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/human_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/image_analysis_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/jina_reranker_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/klavis_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/linkedin_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/math_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/memory_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/meshy_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/mineru_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/networkx_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/notion_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/biztoc/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/biztoc/ai-plugin.json +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/biztoc/openapi.yaml +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/coursera/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/coursera/openapi.yaml +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/create_qr_code/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/create_qr_code/openapi.yaml +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/klarna/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/klarna/openapi.yaml +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/nasa_apod/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/nasa_apod/openapi.yaml +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/outschool/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/outschool/ai-plugin.json +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/outschool/openapi.yaml +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/outschool/paths/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/outschool/paths/get_classes.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/outschool/paths/search_teachers.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/security_config.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/speak/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/speak/openapi.yaml +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/web_scraper/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/web_scraper/ai-plugin.json +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/web_scraper/openapi.yaml +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/web_scraper/paths/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_specs/web_scraper/paths/scraper.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/open_api_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/openai_agent_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/openbb_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/page_script.js +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/playwright_mcp_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/pubmed_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/pulse_mcp_search_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/pyautogui_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/reddit_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/retrieval_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/search_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/searxng_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/semantic_scholar_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/slack_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/stripe_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/sympy_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/terminal_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/thinking_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/twitter_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/video_analysis_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/video_download_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/weather_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/whatsapp_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/toolkits/zapier_toolkit.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/types/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/types/agents/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/types/agents/tool_calling_record.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/types/mcp_registries.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/types/openai_types.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/types/unified_model_type.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/utils/async_func.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/utils/chunker/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/utils/chunker/base.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/utils/chunker/code_chunker.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/utils/chunker/uio_chunker.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/utils/constants.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/utils/deduplication.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/utils/filename.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/utils/mcp.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/utils/response_format.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/utils/token_counting.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/verifiers/__init__.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/verifiers/base.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/verifiers/math_verifier.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/verifiers/models.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/camel/verifiers/physics_verifier.py +0 -0
- {camel_ai-0.2.60 → camel_ai-0.2.62}/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.62
|
|
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
|
|
@@ -32,6 +32,7 @@ Requires-Dist: arxiv<3,>=2.1.3; extra == 'all'
|
|
|
32
32
|
Requires-Dist: azure-storage-blob<13,>=12.21.0; extra == 'all'
|
|
33
33
|
Requires-Dist: beautifulsoup4<5,>=4; extra == 'all'
|
|
34
34
|
Requires-Dist: botocore<2,>=1.35.3; extra == 'all'
|
|
35
|
+
Requires-Dist: chunkr-ai>=0.0.50; extra == 'all'
|
|
35
36
|
Requires-Dist: cohere<6,>=5.11.0; extra == 'all'
|
|
36
37
|
Requires-Dist: crawl4ai>=0.3.745; extra == 'all'
|
|
37
38
|
Requires-Dist: dappier<0.4,>=0.3.3; extra == 'all'
|
|
@@ -47,6 +48,7 @@ Requires-Dist: docx>=0.2.4; extra == 'all'
|
|
|
47
48
|
Requires-Dist: duckduckgo-search<7,>=6.3.5; extra == 'all'
|
|
48
49
|
Requires-Dist: e2b-code-interpreter<2,>=1.0.3; extra == 'all'
|
|
49
50
|
Requires-Dist: exa-py<2,>=1.10.0; extra == 'all'
|
|
51
|
+
Requires-Dist: faiss-cpu<2,>=1.7.2; extra == 'all'
|
|
50
52
|
Requires-Dist: fastapi>=0.115.11; extra == 'all'
|
|
51
53
|
Requires-Dist: ffmpeg-python<0.3,>=0.2.0; extra == 'all'
|
|
52
54
|
Requires-Dist: firecrawl-py<2,>=1.0.0; extra == 'all'
|
|
@@ -92,6 +94,7 @@ Requires-Dist: pre-commit<4,>=3; extra == 'all'
|
|
|
92
94
|
Requires-Dist: pyautogui<0.10,>=0.9.54; extra == 'all'
|
|
93
95
|
Requires-Dist: pydub<0.26,>=0.25.1; extra == 'all'
|
|
94
96
|
Requires-Dist: pygithub<3,>=2.6.0; extra == 'all'
|
|
97
|
+
Requires-Dist: pylatex>=1.4.2; extra == 'all'
|
|
95
98
|
Requires-Dist: pymilvus<3,>=2.4.0; extra == 'all'
|
|
96
99
|
Requires-Dist: pymupdf<2,>=1.22.5; extra == 'all'
|
|
97
100
|
Requires-Dist: pyobvector>=0.1.18; extra == 'all'
|
|
@@ -100,6 +103,7 @@ Requires-Dist: pytelegrambotapi<5,>=4.18.0; extra == 'all'
|
|
|
100
103
|
Requires-Dist: pytest-asyncio<0.24,>=0.23.0; extra == 'all'
|
|
101
104
|
Requires-Dist: pytest-cov<5,>=4; extra == 'all'
|
|
102
105
|
Requires-Dist: pytest<8,>=7; extra == 'all'
|
|
106
|
+
Requires-Dist: python-pptx>=1.0.2; extra == 'all'
|
|
103
107
|
Requires-Dist: pytidb-experimental==0.0.1.dev4; extra == 'all'
|
|
104
108
|
Requires-Dist: qdrant-client<2,>=1.9.0; extra == 'all'
|
|
105
109
|
Requires-Dist: rank-bm25<0.3,>=0.2.2; extra == 'all'
|
|
@@ -193,6 +197,7 @@ Requires-Dist: sphinx<8,>=7; extra == 'docs'
|
|
|
193
197
|
Requires-Dist: sphinxext-rediraffe<0.3,>=0.2.7; extra == 'docs'
|
|
194
198
|
Provides-Extra: document-tools
|
|
195
199
|
Requires-Dist: beautifulsoup4<5,>=4; extra == 'document-tools'
|
|
200
|
+
Requires-Dist: chunkr-ai>=0.0.50; extra == 'document-tools'
|
|
196
201
|
Requires-Dist: crawl4ai>=0.3.745; extra == 'document-tools'
|
|
197
202
|
Requires-Dist: docx2txt<0.9,>=0.8; extra == 'document-tools'
|
|
198
203
|
Requires-Dist: docx>=0.2.4; extra == 'document-tools'
|
|
@@ -203,7 +208,9 @@ Requires-Dist: openapi-spec-validator<0.8,>=0.7.1; extra == 'document-tools'
|
|
|
203
208
|
Requires-Dist: openpyxl>=3.1.5; extra == 'document-tools'
|
|
204
209
|
Requires-Dist: pandasai<3,>=2.3.0; extra == 'document-tools'
|
|
205
210
|
Requires-Dist: prance<24,>=23.6.21.0; extra == 'document-tools'
|
|
211
|
+
Requires-Dist: pylatex>=1.4.2; extra == 'document-tools'
|
|
206
212
|
Requires-Dist: pymupdf<2,>=1.22.5; extra == 'document-tools'
|
|
213
|
+
Requires-Dist: python-pptx>=1.0.2; extra == 'document-tools'
|
|
207
214
|
Requires-Dist: tabulate>=0.9.0; extra == 'document-tools'
|
|
208
215
|
Requires-Dist: unstructured==0.16.20; extra == 'document-tools'
|
|
209
216
|
Requires-Dist: xls2xlsx>=0.2.0; extra == 'document-tools'
|
|
@@ -235,6 +242,7 @@ Requires-Dist: aci-sdk>=1.0.0b1; extra == 'owl'
|
|
|
235
242
|
Requires-Dist: anthropic<0.50.0,>=0.47.0; extra == 'owl'
|
|
236
243
|
Requires-Dist: beautifulsoup4<5,>=4; extra == 'owl'
|
|
237
244
|
Requires-Dist: chunkr-ai>=0.0.41; extra == 'owl'
|
|
245
|
+
Requires-Dist: chunkr-ai>=0.0.50; extra == 'owl'
|
|
238
246
|
Requires-Dist: crawl4ai>=0.3.745; extra == 'owl'
|
|
239
247
|
Requires-Dist: datasets<4,>=3; extra == 'owl'
|
|
240
248
|
Requires-Dist: docx2txt<0.9,>=0.8; extra == 'owl'
|
|
@@ -259,8 +267,10 @@ Requires-Dist: playwright>=1.50.0; extra == 'owl'
|
|
|
259
267
|
Requires-Dist: prance<24,>=23.6.21.0; extra == 'owl'
|
|
260
268
|
Requires-Dist: pyautogui<0.10,>=0.9.54; extra == 'owl'
|
|
261
269
|
Requires-Dist: pydub<0.26,>=0.25.1; extra == 'owl'
|
|
270
|
+
Requires-Dist: pylatex>=1.4.2; extra == 'owl'
|
|
262
271
|
Requires-Dist: pymupdf<2,>=1.22.5; extra == 'owl'
|
|
263
272
|
Requires-Dist: python-dotenv<2,>=1.0.0; extra == 'owl'
|
|
273
|
+
Requires-Dist: python-pptx>=1.0.2; extra == 'owl'
|
|
264
274
|
Requires-Dist: requests-oauthlib<2,>=1.3.1; extra == 'owl'
|
|
265
275
|
Requires-Dist: rouge<2,>=1.0.1; extra == 'owl'
|
|
266
276
|
Requires-Dist: scenedetect>=0.6.5.2; extra == 'owl'
|
|
@@ -277,8 +287,10 @@ Requires-Dist: wikipedia<2,>=1; extra == 'owl'
|
|
|
277
287
|
Requires-Dist: xls2xlsx>=0.2.0; extra == 'owl'
|
|
278
288
|
Requires-Dist: yt-dlp<2025,>=2024.11.4; extra == 'owl'
|
|
279
289
|
Provides-Extra: rag
|
|
290
|
+
Requires-Dist: chunkr-ai>=0.0.50; extra == 'rag'
|
|
280
291
|
Requires-Dist: cohere<6,>=5.11.0; extra == 'rag'
|
|
281
292
|
Requires-Dist: crawl4ai>=0.3.745; extra == 'rag'
|
|
293
|
+
Requires-Dist: faiss-cpu<2,>=1.7.2; extra == 'rag'
|
|
282
294
|
Requires-Dist: google-genai>=1.13.0; extra == 'rag'
|
|
283
295
|
Requires-Dist: nebula3-python==3.8.2; extra == 'rag'
|
|
284
296
|
Requires-Dist: neo4j<6,>=5.18.0; extra == 'rag'
|
|
@@ -298,6 +310,7 @@ Requires-Dist: scholarly[tor]==1.7.11; extra == 'research-tools'
|
|
|
298
310
|
Provides-Extra: storage
|
|
299
311
|
Requires-Dist: azure-storage-blob<13,>=12.21.0; extra == 'storage'
|
|
300
312
|
Requires-Dist: botocore<2,>=1.35.3; extra == 'storage'
|
|
313
|
+
Requires-Dist: faiss-cpu<2,>=1.7.2; extra == 'storage'
|
|
301
314
|
Requires-Dist: google-cloud-storage<3,>=2.18.0; extra == 'storage'
|
|
302
315
|
Requires-Dist: mem0ai>=0.1.73; extra == 'storage'
|
|
303
316
|
Requires-Dist: nebula3-python==3.8.2; extra == 'storage'
|
|
@@ -75,7 +75,10 @@ from camel.types import (
|
|
|
75
75
|
RoleType,
|
|
76
76
|
)
|
|
77
77
|
from camel.types.agents import ToolCallingRecord
|
|
78
|
-
from camel.utils import
|
|
78
|
+
from camel.utils import (
|
|
79
|
+
get_model_encoding,
|
|
80
|
+
model_from_json_schema,
|
|
81
|
+
)
|
|
79
82
|
|
|
80
83
|
if TYPE_CHECKING:
|
|
81
84
|
from camel.terminators import ResponseTerminator
|
|
@@ -163,6 +166,7 @@ class ChatAgent(BaseAgent):
|
|
|
163
166
|
model: Optional[
|
|
164
167
|
Union[
|
|
165
168
|
BaseModelBackend,
|
|
169
|
+
ModelManager,
|
|
166
170
|
Tuple[str, str],
|
|
167
171
|
str,
|
|
168
172
|
ModelType,
|
|
@@ -188,16 +192,19 @@ class ChatAgent(BaseAgent):
|
|
|
188
192
|
agent_id: Optional[str] = None,
|
|
189
193
|
stop_event: Optional[threading.Event] = None,
|
|
190
194
|
) -> None:
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
195
|
+
if isinstance(model, ModelManager):
|
|
196
|
+
self.model_backend = model
|
|
197
|
+
else:
|
|
198
|
+
# Resolve model backends and set up model manager
|
|
199
|
+
resolved_models = self._resolve_models(model)
|
|
200
|
+
self.model_backend = ModelManager(
|
|
201
|
+
resolved_models,
|
|
202
|
+
scheduling_strategy=scheduling_strategy,
|
|
203
|
+
)
|
|
197
204
|
self.model_type = self.model_backend.model_type
|
|
198
205
|
|
|
199
206
|
# Assign unique ID
|
|
200
|
-
self.agent_id = agent_id if agent_id else str(uuid.uuid4())
|
|
207
|
+
self.agent_id = agent_id if agent_id else str(uuid.uuid4())[:6]
|
|
201
208
|
|
|
202
209
|
# Set up memory
|
|
203
210
|
context_creator = ScoreBasedContextCreator(
|
|
@@ -1706,3 +1713,147 @@ class ChatAgent(BaseAgent):
|
|
|
1706
1713
|
return (
|
|
1707
1714
|
f"ChatAgent({self.role_name}, {self.role_type}, {self.model_type})"
|
|
1708
1715
|
)
|
|
1716
|
+
|
|
1717
|
+
def to_mcp(
|
|
1718
|
+
self,
|
|
1719
|
+
name: str = "CAMEL-ChatAgent",
|
|
1720
|
+
description: str = "A helpful assistant using the CAMEL AI framework.",
|
|
1721
|
+
dependencies: Optional[List[str]] = None,
|
|
1722
|
+
host: str = "localhost",
|
|
1723
|
+
port: int = 8000,
|
|
1724
|
+
):
|
|
1725
|
+
r"""Expose this ChatAgent as an MCP server.
|
|
1726
|
+
|
|
1727
|
+
Args:
|
|
1728
|
+
name (str): Name of the MCP server.
|
|
1729
|
+
(default: :obj:`CAMEL-ChatAgent`)
|
|
1730
|
+
description (Optional[List[str]]): Description of the agent. If
|
|
1731
|
+
None, a generic description is used. (default: :obj:`A helpful
|
|
1732
|
+
assistant using the CAMEL AI framework.`)
|
|
1733
|
+
dependencies (Optional[List[str]]): Additional
|
|
1734
|
+
dependencies for the MCP server. (default: :obj:`None`)
|
|
1735
|
+
host (str): Host to bind to for HTTP transport.
|
|
1736
|
+
(default: :obj:`localhost`)
|
|
1737
|
+
port (int): Port to bind to for HTTP transport.
|
|
1738
|
+
(default: :obj:`8000`)
|
|
1739
|
+
|
|
1740
|
+
Returns:
|
|
1741
|
+
FastMCP: An MCP server instance that can be run.
|
|
1742
|
+
"""
|
|
1743
|
+
try:
|
|
1744
|
+
from mcp.server.fastmcp import FastMCP
|
|
1745
|
+
except ImportError:
|
|
1746
|
+
raise ImportError(
|
|
1747
|
+
"The 'mcp' package is required to use the to_mcp method. "
|
|
1748
|
+
"Install it with 'pip install mcp'."
|
|
1749
|
+
)
|
|
1750
|
+
|
|
1751
|
+
# Combine dependencies
|
|
1752
|
+
all_dependencies = ["camel-ai[all]"]
|
|
1753
|
+
if dependencies:
|
|
1754
|
+
all_dependencies.extend(dependencies)
|
|
1755
|
+
|
|
1756
|
+
mcp_server = FastMCP(
|
|
1757
|
+
name,
|
|
1758
|
+
dependencies=all_dependencies,
|
|
1759
|
+
host=host,
|
|
1760
|
+
port=port,
|
|
1761
|
+
)
|
|
1762
|
+
|
|
1763
|
+
# Store agent reference
|
|
1764
|
+
agent_instance = self
|
|
1765
|
+
|
|
1766
|
+
# Define functions first
|
|
1767
|
+
async def step(message, response_format=None):
|
|
1768
|
+
r"""Execute a single step in the chat session with the agent."""
|
|
1769
|
+
format_cls = None
|
|
1770
|
+
if response_format:
|
|
1771
|
+
format_cls = model_from_json_schema(
|
|
1772
|
+
"DynamicResponseFormat", response_format
|
|
1773
|
+
)
|
|
1774
|
+
response = await agent_instance.astep(message, format_cls)
|
|
1775
|
+
return {
|
|
1776
|
+
"status": "success",
|
|
1777
|
+
"messages": [msg.to_dict() for msg in response.msgs],
|
|
1778
|
+
"terminated": response.terminated,
|
|
1779
|
+
"info": response.info,
|
|
1780
|
+
}
|
|
1781
|
+
|
|
1782
|
+
# Reset tool
|
|
1783
|
+
def reset():
|
|
1784
|
+
r"""Reset the chat agent to its initial state."""
|
|
1785
|
+
agent_instance.reset()
|
|
1786
|
+
return {"status": "success", "message": "Agent reset successfully"}
|
|
1787
|
+
|
|
1788
|
+
# Set language tool
|
|
1789
|
+
def set_output_language(language):
|
|
1790
|
+
r"""Set the output language for the chat agent."""
|
|
1791
|
+
agent_instance.output_language = language
|
|
1792
|
+
return {
|
|
1793
|
+
"status": "success",
|
|
1794
|
+
"message": f"Output language set to '{language}'",
|
|
1795
|
+
}
|
|
1796
|
+
|
|
1797
|
+
# Agent info resource and tool
|
|
1798
|
+
def get_agent_info():
|
|
1799
|
+
r"""Get information about the agent."""
|
|
1800
|
+
info = {
|
|
1801
|
+
"agent_id": agent_instance.agent_id,
|
|
1802
|
+
"model_type": str(agent_instance.model_type),
|
|
1803
|
+
"role_name": agent_instance.role_name,
|
|
1804
|
+
"role_type": str(agent_instance.role_type),
|
|
1805
|
+
"output_language": agent_instance.output_language or "None",
|
|
1806
|
+
"description": description,
|
|
1807
|
+
}
|
|
1808
|
+
return info
|
|
1809
|
+
|
|
1810
|
+
# Chat history resource and tool
|
|
1811
|
+
def get_chat_history():
|
|
1812
|
+
r"""Get the chat history for the agent."""
|
|
1813
|
+
# Convert messages to simple serializable format
|
|
1814
|
+
messages = []
|
|
1815
|
+
for msg in agent_instance.chat_history:
|
|
1816
|
+
# Create a simplified version of each message
|
|
1817
|
+
msg_dict = {
|
|
1818
|
+
"role": msg.get("role", ""),
|
|
1819
|
+
"content": msg.get("content", ""),
|
|
1820
|
+
}
|
|
1821
|
+
# Include function calls if present
|
|
1822
|
+
if "function_call" in msg:
|
|
1823
|
+
msg_dict["function_call"] = {
|
|
1824
|
+
"name": msg["function_call"].get("name", ""),
|
|
1825
|
+
"arguments": msg["function_call"].get("arguments", ""),
|
|
1826
|
+
}
|
|
1827
|
+
messages.append(msg_dict)
|
|
1828
|
+
return messages
|
|
1829
|
+
|
|
1830
|
+
# Available tools resource and tool
|
|
1831
|
+
def get_available_tools():
|
|
1832
|
+
r"""Get a list of available internal tools."""
|
|
1833
|
+
tool_info = {}
|
|
1834
|
+
for name, tool in agent_instance.tool_dict.items():
|
|
1835
|
+
tool_info[name] = {
|
|
1836
|
+
"name": name,
|
|
1837
|
+
"description": tool.get_function_description() or "",
|
|
1838
|
+
"parameters": [
|
|
1839
|
+
{"name": param_name, "type": str(param_type)}
|
|
1840
|
+
for param_name, param_type in tool.get_parameters().items() # noqa: E501
|
|
1841
|
+
],
|
|
1842
|
+
}
|
|
1843
|
+
return tool_info
|
|
1844
|
+
|
|
1845
|
+
# Now register everything using decorators
|
|
1846
|
+
mcp_server.tool()(step)
|
|
1847
|
+
mcp_server.tool()(reset)
|
|
1848
|
+
mcp_server.tool()(set_output_language)
|
|
1849
|
+
|
|
1850
|
+
mcp_server.resource("agent://")(get_agent_info)
|
|
1851
|
+
mcp_server.tool()(get_agent_info)
|
|
1852
|
+
|
|
1853
|
+
mcp_server.resource("history://")(get_chat_history)
|
|
1854
|
+
mcp_server.tool()(get_chat_history)
|
|
1855
|
+
|
|
1856
|
+
mcp_server.resource("tools://")(get_available_tools)
|
|
1857
|
+
mcp_server.tool()(get_available_tools)
|
|
1858
|
+
|
|
1859
|
+
return mcp_server
|
|
@@ -191,7 +191,7 @@ class MCPAgent(ChatAgent):
|
|
|
191
191
|
self.mcp_toolkit = self._initialize_mcp_toolkit()
|
|
192
192
|
|
|
193
193
|
# If already connected, reconnect to apply changes
|
|
194
|
-
if self.mcp_toolkit and self.mcp_toolkit.is_connected
|
|
194
|
+
if self.mcp_toolkit and self.mcp_toolkit.is_connected:
|
|
195
195
|
try:
|
|
196
196
|
asyncio.run(self.disconnect())
|
|
197
197
|
asyncio.run(self.connect())
|
|
@@ -325,7 +325,7 @@ class MCPAgent(ChatAgent):
|
|
|
325
325
|
Returns:
|
|
326
326
|
ChatAgentResponse: The response from the agent.
|
|
327
327
|
"""
|
|
328
|
-
if self.mcp_toolkit and not self.mcp_toolkit.is_connected
|
|
328
|
+
if self.mcp_toolkit and not self.mcp_toolkit.is_connected:
|
|
329
329
|
await self.connect()
|
|
330
330
|
|
|
331
331
|
if self.function_calling_available:
|
|
@@ -378,14 +378,14 @@ class MCPAgent(ChatAgent):
|
|
|
378
378
|
if (
|
|
379
379
|
not isinstance(server_idx, int)
|
|
380
380
|
or server_idx < 0
|
|
381
|
-
or server_idx >= len(self.mcp_toolkit.
|
|
381
|
+
or server_idx >= len(self.mcp_toolkit.clients)
|
|
382
382
|
):
|
|
383
383
|
logger.warning(
|
|
384
384
|
f"Invalid server index: {server_idx}"
|
|
385
385
|
)
|
|
386
386
|
continue
|
|
387
387
|
|
|
388
|
-
server = self.mcp_toolkit.
|
|
388
|
+
server = self.mcp_toolkit.clients[server_idx]
|
|
389
389
|
result = await server.call_tool(tool_name, tool_args)
|
|
390
390
|
|
|
391
391
|
# Safely access content
|
|
@@ -431,7 +431,7 @@ class MCPAgent(ChatAgent):
|
|
|
431
431
|
# Use create_task and run with a future
|
|
432
432
|
coro = self.astep(input_message, *args, **kwargs)
|
|
433
433
|
future = asyncio.ensure_future(coro)
|
|
434
|
-
return asyncio.run_coroutine_threadsafe(future, loop).result()
|
|
434
|
+
return asyncio.run_coroutine_threadsafe(future, loop).result() # type: ignore [arg-type]
|
|
435
435
|
else:
|
|
436
436
|
# Safe to run normally
|
|
437
437
|
return asyncio.run(self.astep(input_message, *args, **kwargs))
|
|
@@ -56,14 +56,14 @@ class AnthropicConfig(BaseConfig):
|
|
|
56
56
|
metadata about the request. Can include user_id as an external
|
|
57
57
|
identifier for the user associated with the request.
|
|
58
58
|
(default: :obj:`None`)
|
|
59
|
-
thinking (dict, optional): Configuration for enabling
|
|
60
|
-
Claude's extended thinking. When enabled, responses include
|
|
61
|
-
thinking content blocks showing Claude's thinking process.
|
|
62
|
-
(default: :obj:`None`)
|
|
63
59
|
tool_choice (dict, optional): How the model should
|
|
64
60
|
use the provided tools. The model can use a specific tool, any
|
|
65
61
|
available tool, decide by itself, or not use tools at all.
|
|
66
62
|
(default: :obj:`None`)
|
|
63
|
+
extra_headers (Optional[dict], optional): Additional headers for the
|
|
64
|
+
request. (default: :obj:`None`)
|
|
65
|
+
extra_body (dict, optional): Extra body parameters to be passed to
|
|
66
|
+
the Anthropic API.
|
|
67
67
|
"""
|
|
68
68
|
|
|
69
69
|
max_tokens: Optional[int] = None
|
|
@@ -73,8 +73,9 @@ class AnthropicConfig(BaseConfig):
|
|
|
73
73
|
top_k: Optional[int] = None
|
|
74
74
|
stream: Optional[bool] = None
|
|
75
75
|
metadata: Optional[dict] = None
|
|
76
|
-
thinking: Optional[dict] = None
|
|
77
76
|
tool_choice: Optional[dict] = None
|
|
77
|
+
extra_headers: Optional[dict] = None
|
|
78
|
+
extra_body: Optional[dict] = None
|
|
78
79
|
|
|
79
80
|
|
|
80
81
|
ANTHROPIC_API_PARAMS = {param for param in AnthropicConfig.model_fields.keys()}
|
{camel_ai-0.2.60/camel/data_collector → camel_ai-0.2.62/camel/data_collectors}/alpaca_collector.py
RENAMED
|
@@ -17,7 +17,7 @@ from typing import Any, Dict, List, Optional, Union
|
|
|
17
17
|
from typing_extensions import Self
|
|
18
18
|
|
|
19
19
|
from camel.agents import ChatAgent
|
|
20
|
-
from camel.
|
|
20
|
+
from camel.data_collectors.base import BaseDataCollector
|
|
21
21
|
from camel.messages import AlpacaItem, BaseMessage
|
|
22
22
|
from camel.schemas import OpenAISchemaConverter
|
|
23
23
|
|
{camel_ai-0.2.60/camel/data_collector → camel_ai-0.2.62/camel/data_collectors}/sharegpt_collector.py
RENAMED
|
@@ -19,7 +19,7 @@ from pydantic import BaseModel
|
|
|
19
19
|
from typing_extensions import Self
|
|
20
20
|
|
|
21
21
|
from camel.agents import ChatAgent
|
|
22
|
-
from camel.
|
|
22
|
+
from camel.data_collectors.base import BaseDataCollector
|
|
23
23
|
from camel.messages import BaseMessage
|
|
24
24
|
from camel.messages.conversion.conversation_models import (
|
|
25
25
|
ShareGPTConversation,
|
|
@@ -38,24 +38,27 @@ class BaseScorer(ABC):
|
|
|
38
38
|
|
|
39
39
|
class MathScorer(BaseScorer):
|
|
40
40
|
def __init__(self, agent: Optional[ChatAgent] = None):
|
|
41
|
-
self.system_msg =
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
41
|
+
self.system_msg = """
|
|
42
|
+
You are an evaluator for math problems. Your task is to compare a new math
|
|
43
|
+
problem against a reference math problem by trying to solve it, and rate it
|
|
44
|
+
in **three dimensions**.
|
|
45
|
+
|
|
46
|
+
1. Diversity (1-5): How novel is the new problem compared to the
|
|
47
|
+
reference? 1 = almost the same, 5 = completely different.
|
|
48
|
+
|
|
49
|
+
2. Difficulty (1-10): Rate the relative difficulty compared to the reference
|
|
50
|
+
problem. 1 = much less difficult, 5 = similar difficulty, 10 = much more
|
|
51
|
+
difficult. The difficulty should be based on the complexity of reasoning—i.e.,
|
|
52
|
+
problems that require multi-step reasoning or clever methods to solve.
|
|
53
|
+
|
|
54
|
+
3. Solvability (1-10): How likely is the problem solvable using standard math
|
|
55
|
+
techniques and only contain one question that could be answered by a number or
|
|
56
|
+
a formula? 1 = very unsolvable or ambiguous, 10 = solvable and could be
|
|
57
|
+
answered by a number or a formula.
|
|
58
|
+
|
|
59
|
+
Respond with a JSON object like:
|
|
60
|
+
{ "solution": ..., "diversity": ..., "difficulty": ..., "solvability": ... }
|
|
61
|
+
"""
|
|
59
62
|
self.agent = agent or ChatAgent(self.system_msg)
|
|
60
63
|
|
|
61
64
|
class MathScoreSchema(BaseModel):
|
|
@@ -69,10 +72,6 @@ class MathScorer(BaseScorer):
|
|
|
69
72
|
difficulty: int = Field(
|
|
70
73
|
..., description="Score for the relative difficulty"
|
|
71
74
|
)
|
|
72
|
-
validity: int = Field(
|
|
73
|
-
...,
|
|
74
|
-
description="Score for how well-defined and sound the problem is",
|
|
75
|
-
)
|
|
76
75
|
solvability: int = Field(
|
|
77
76
|
...,
|
|
78
77
|
description="Score for the solvability of the problem",
|
|
@@ -95,7 +94,7 @@ class MathScorer(BaseScorer):
|
|
|
95
94
|
query = (
|
|
96
95
|
f"Reference problem:\n{reference_problem}\n\n"
|
|
97
96
|
f"New problem:\n{new_problem}\n\n"
|
|
98
|
-
"
|
|
97
|
+
"Try to solve the new problem. Then provide scores in JSON format."
|
|
99
98
|
)
|
|
100
99
|
response = self.agent.step(query, response_format=self.MathScoreSchema)
|
|
101
100
|
score_data = json.loads(response.msg.content)
|
|
@@ -208,54 +208,54 @@ class MathEvolInstructTemplates(BaseEvolInstructTemplates):
|
|
|
208
208
|
r"""Contains templates for MathEvolInstruct prompt transformations."""
|
|
209
209
|
|
|
210
210
|
# Meta-instructions for in-depth evolving
|
|
211
|
-
INST_IN_DEPTH =
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
211
|
+
INST_IN_DEPTH = """
|
|
212
|
+
Please act as a math expert. Your objective is to create a new math problem
|
|
213
|
+
that is more challenging yet concise than the given math problem. Modify the
|
|
214
|
+
problem to increase its complexity and depth. The generated problem should be
|
|
215
|
+
clearly stated, strictly mathematical, and suitable for solving with symbolic
|
|
216
|
+
computation (e.g., using sympy). You will be given a method to guide your
|
|
217
|
+
creation. Make sure to follow the method strictly. Consolidate any multiple
|
|
218
|
+
parts into one integrated question that ask for one definitive answer. Do not
|
|
219
|
+
include multiple-choice, true/false, or proof-based questions. The final
|
|
220
|
+
answer should be a number or a formula. Respond with your generated problem
|
|
221
|
+
directly. The difficulty should be based on the complexity of reasoning—i.e.,
|
|
222
|
+
problems that require multi-step reasoning or clever methods to solve. The
|
|
223
|
+
challenge of a problem should not stem purely from computational complexity;
|
|
224
|
+
while complex calculations may be involved, a problem should not be considered
|
|
225
|
+
difficult solely because lengthy computations increase solving time.
|
|
226
|
+
#Original Problem#:
|
|
227
|
+
{prompt}
|
|
228
|
+
#Generated Problem#:
|
|
229
|
+
"""
|
|
226
230
|
|
|
227
231
|
EVOL_METHODS = {
|
|
228
|
-
"constraints":
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
"condense":
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
"necessary changes to let the problem could be answered with one "
|
|
256
|
-
"number or expression by removing the sub-questions or combining "
|
|
257
|
-
"them into one."
|
|
258
|
-
),
|
|
232
|
+
"constraints": """
|
|
233
|
+
Add one or more significant constraints or requirements into the
|
|
234
|
+
'#Given Prompt#'. The added constraints must meaningfully alter how the model
|
|
235
|
+
would respond. For example, specify additional rules, contexts, or limitations
|
|
236
|
+
that demand creative adjustments. This method should make the problem more
|
|
237
|
+
challenging in the reasoning and the solution of it should be clever and
|
|
238
|
+
elegant.
|
|
239
|
+
""",
|
|
240
|
+
"deepening": """
|
|
241
|
+
Increase the difficulty of the #Given Prompt# by integrating additional layers
|
|
242
|
+
of reasoning and rigor. Refine the problem so that all added difficulty is
|
|
243
|
+
consolidated into a single coherent question requiring one final answer,
|
|
244
|
+
avoiding fragmentation into multiple sub-problems.
|
|
245
|
+
""",
|
|
246
|
+
"expansion": """
|
|
247
|
+
Expand the #Given Prompt# by incorporating additional perspectives or layers
|
|
248
|
+
of complexity into the problem statement. Ensure that the revised problem
|
|
249
|
+
remains a single, unified question with one final answer, rather than a
|
|
250
|
+
series of separate sub-questions.
|
|
251
|
+
""",
|
|
252
|
+
"condense": """
|
|
253
|
+
Reformulate the given math problem into a well-structured and formally stated
|
|
254
|
+
mathematical question. Remove unnecessary instructions, explanations, or hints.
|
|
255
|
+
If the given problem contains several sub-questions, make necessary changes
|
|
256
|
+
to let the problem could be answered with one number or one expression by
|
|
257
|
+
removing the sub-questions or combining them into one.
|
|
258
|
+
""",
|
|
259
259
|
}
|
|
260
260
|
|
|
261
261
|
IN_DEPTH_KEYS = ['constraints', 'deepening', 'expansion']
|