camel-ai 0.2.66__tar.gz → 0.2.67__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.66 → camel_ai-0.2.67}/PKG-INFO +3 -3
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/__init__.py +1 -1
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/configs/__init__.py +3 -0
- camel_ai-0.2.67/camel/configs/qianfan_config.py +85 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/__init__.py +2 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/aiml_model.py +8 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/anthropic_model.py +8 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/aws_bedrock_model.py +8 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/azure_openai_model.py +14 -5
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/base_model.py +4 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/cohere_model.py +9 -2
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/crynux_model.py +8 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/deepseek_model.py +8 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/gemini_model.py +8 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/groq_model.py +8 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/internlm_model.py +8 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/litellm_model.py +5 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/lmstudio_model.py +14 -1
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/mistral_model.py +15 -1
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/model_factory.py +6 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/modelscope_model.py +8 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/moonshot_model.py +8 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/nemotron_model.py +17 -2
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/netmind_model.py +8 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/novita_model.py +8 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/nvidia_model.py +8 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/ollama_model.py +8 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/openai_compatible_model.py +23 -5
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/openai_model.py +21 -4
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/openrouter_model.py +8 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/ppio_model.py +8 -0
- camel_ai-0.2.67/camel/models/qianfan_model.py +104 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/qwen_model.py +8 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/reka_model.py +18 -3
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/samba_model.py +17 -3
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/sglang_model.py +20 -5
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/siliconflow_model.py +8 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/stub_model.py +8 -1
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/togetherai_model.py +8 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/vllm_model.py +7 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/volcano_model.py +14 -1
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/watsonx_model.py +4 -1
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/yi_model.py +8 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/zhipuai_model.py +8 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/societies/workforce/prompts.py +33 -17
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/societies/workforce/role_playing_worker.py +3 -8
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/societies/workforce/single_agent_worker.py +1 -3
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/societies/workforce/task_channel.py +16 -18
- camel_ai-0.2.67/camel/societies/workforce/utils.py +163 -0
- camel_ai-0.2.67/camel/societies/workforce/workforce.py +2165 -0
- camel_ai-0.2.67/camel/societies/workforce/workforce_logger.py +613 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/tasks/task.py +16 -5
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/__init__.py +2 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/code_execution.py +1 -1
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/playwright_mcp_toolkit.py +2 -1
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/pptx_toolkit.py +4 -4
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/types/enums.py +32 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/types/unified_model_type.py +5 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/pyproject.toml +3 -3
- camel_ai-0.2.66/camel/societies/workforce/utils.py +0 -73
- camel_ai-0.2.66/camel/societies/workforce/workforce.py +0 -1011
- {camel_ai-0.2.66 → camel_ai-0.2.67}/.gitignore +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/LICENSE +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/README.md +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/agents/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/agents/_types.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/agents/_utils.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/agents/base.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/agents/chat_agent.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/agents/critic_agent.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/agents/deductive_reasoner_agent.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/agents/embodied_agent.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/agents/knowledge_graph_agent.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/agents/mcp_agent.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/agents/multi_hop_generator_agent.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/agents/programmed_agent_instruction.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/agents/repo_agent.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/agents/role_assignment_agent.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/agents/search_agent.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/agents/task_agent.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/agents/tool_agents/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/agents/tool_agents/base.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/agents/tool_agents/hugging_face_tool_agent.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/benchmarks/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/benchmarks/apibank.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/benchmarks/apibench.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/benchmarks/base.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/benchmarks/browsecomp.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/benchmarks/gaia.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/benchmarks/mock_website/README.md +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/benchmarks/mock_website/mock_web.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/benchmarks/mock_website/requirements.txt +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/benchmarks/mock_website/shopping_mall/app.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/benchmarks/mock_website/task.json +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/benchmarks/nexus.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/benchmarks/ragbench.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/bots/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/bots/discord/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/bots/discord/discord_app.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/bots/discord/discord_installation.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/bots/discord/discord_store.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/bots/slack/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/bots/slack/models.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/bots/slack/slack_app.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/bots/telegram_bot.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/configs/aiml_config.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/configs/anthropic_config.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/configs/base_config.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/configs/bedrock_config.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/configs/cohere_config.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/configs/crynux_config.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/configs/deepseek_config.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/configs/gemini_config.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/configs/groq_config.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/configs/internlm_config.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/configs/litellm_config.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/configs/lmstudio_config.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/configs/mistral_config.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/configs/modelscope_config.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/configs/moonshot_config.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/configs/netmind_config.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/configs/novita_config.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/configs/nvidia_config.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/configs/ollama_config.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/configs/openai_config.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/configs/openrouter_config.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/configs/ppio_config.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/configs/qwen_config.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/configs/reka_config.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/configs/samba_config.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/configs/sglang_config.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/configs/siliconflow_config.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/configs/togetherai_config.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/configs/vllm_config.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/configs/watsonx_config.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/configs/yi_config.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/configs/zhipuai_config.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/data_collectors/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/data_collectors/alpaca_collector.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/data_collectors/base.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/data_collectors/sharegpt_collector.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/datagen/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/datagen/cot_datagen.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/datagen/evol_instruct/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/datagen/evol_instruct/evol_instruct.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/datagen/evol_instruct/scorer.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/datagen/evol_instruct/templates.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/datagen/self_improving_cot.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/datagen/self_instruct/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/datagen/self_instruct/filter/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/datagen/self_instruct/filter/filter_function.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/datagen/self_instruct/filter/filter_registry.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/datagen/self_instruct/filter/instruction_filter.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/datagen/self_instruct/self_instruct.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/datagen/self_instruct/templates.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/datagen/source2synth/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/datagen/source2synth/data_processor.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/datagen/source2synth/models.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/datagen/source2synth/user_data_processor_config.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/datahubs/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/datahubs/base.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/datahubs/huggingface.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/datahubs/models.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/datasets/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/datasets/base_generator.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/datasets/few_shot_generator.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/datasets/models.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/datasets/self_instruct_generator.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/datasets/static_dataset.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/embeddings/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/embeddings/azure_embedding.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/embeddings/base.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/embeddings/gemini_embedding.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/embeddings/jina_embedding.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/embeddings/mistral_embedding.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/embeddings/openai_compatible_embedding.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/embeddings/openai_embedding.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/embeddings/sentence_transformers_embeddings.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/embeddings/together_embedding.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/embeddings/vlm_embedding.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/environments/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/environments/models.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/environments/multi_step.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/environments/single_step.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/environments/tic_tac_toe.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/extractors/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/extractors/base.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/extractors/python_strategies.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/generators.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/human.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/interpreters/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/interpreters/base.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/interpreters/docker/Dockerfile +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/interpreters/docker_interpreter.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/interpreters/e2b_interpreter.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/interpreters/internal_python_interpreter.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/interpreters/interpreter_error.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/interpreters/ipython_interpreter.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/interpreters/subprocess_interpreter.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/loaders/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/loaders/apify_reader.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/loaders/base_io.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/loaders/chunkr_reader.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/loaders/crawl4ai_reader.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/loaders/firecrawl_reader.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/loaders/jina_url_reader.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/loaders/markitdown.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/loaders/mineru_extractor.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/loaders/mistral_reader.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/loaders/pandas_reader.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/loaders/scrapegraph_reader.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/loaders/unstructured_io.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/logger.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/memories/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/memories/agent_memories.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/memories/base.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/memories/blocks/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/memories/blocks/chat_history_block.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/memories/blocks/vectordb_block.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/memories/context_creators/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/memories/context_creators/score_based.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/memories/records.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/messages/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/messages/base.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/messages/conversion/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/messages/conversion/alpaca.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/messages/conversion/conversation_models.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/messages/conversion/sharegpt/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/messages/conversion/sharegpt/function_call_formatter.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/messages/conversion/sharegpt/hermes/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/messages/conversion/sharegpt/hermes/hermes_function_formatter.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/messages/func_message.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/_utils.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/base_audio_model.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/fish_audio_model.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/model_manager.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/openai_audio_models.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/reward/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/reward/base_reward_model.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/reward/evaluator.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/reward/nemotron_model.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/models/reward/skywork_model.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/personas/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/personas/persona.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/personas/persona_hub.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/prompts/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/prompts/ai_society.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/prompts/base.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/prompts/code.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/prompts/evaluation.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/prompts/generate_text_embedding_data.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/prompts/image_craft.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/prompts/misalignment.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/prompts/multi_condition_image_craft.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/prompts/object_recognition.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/prompts/persona_hub.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/prompts/prompt_templates.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/prompts/role_description_prompt_template.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/prompts/solution_extraction.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/prompts/task_prompt_template.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/prompts/translation.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/prompts/video_description_prompt.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/py.typed +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/responses/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/responses/agent_responses.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/retrievers/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/retrievers/auto_retriever.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/retrievers/base.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/retrievers/bm25_retriever.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/retrievers/cohere_rerank_retriever.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/retrievers/hybrid_retrival.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/retrievers/vector_retriever.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/runtimes/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/runtimes/api.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/runtimes/base.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/runtimes/configs.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/runtimes/daytona_runtime.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/runtimes/docker_runtime.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/runtimes/llm_guard_runtime.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/runtimes/remote_http_runtime.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/runtimes/ubuntu_docker_runtime.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/runtimes/utils/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/runtimes/utils/function_risk_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/runtimes/utils/ignore_risk_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/schemas/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/schemas/base.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/schemas/openai_converter.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/schemas/outlines_converter.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/societies/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/societies/babyagi_playing.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/societies/role_playing.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/societies/workforce/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/societies/workforce/base.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/societies/workforce/worker.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/storages/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/storages/graph_storages/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/storages/graph_storages/base.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/storages/graph_storages/graph_element.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/storages/graph_storages/nebula_graph.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/storages/graph_storages/neo4j_graph.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/storages/key_value_storages/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/storages/key_value_storages/base.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/storages/key_value_storages/in_memory.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/storages/key_value_storages/json.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/storages/key_value_storages/mem0_cloud.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/storages/key_value_storages/redis.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/storages/object_storages/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/storages/object_storages/amazon_s3.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/storages/object_storages/azure_blob.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/storages/object_storages/base.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/storages/object_storages/google_cloud.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/storages/vectordb_storages/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/storages/vectordb_storages/base.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/storages/vectordb_storages/faiss.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/storages/vectordb_storages/milvus.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/storages/vectordb_storages/oceanbase.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/storages/vectordb_storages/qdrant.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/storages/vectordb_storages/tidb.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/storages/vectordb_storages/weaviate.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/tasks/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/tasks/task_prompt.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/terminators/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/terminators/base.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/terminators/response_terminator.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/terminators/token_limit_terminator.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/aci_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/arxiv_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/ask_news_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/async_browser_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/audio_analysis_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/base.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/bohrium_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/browser_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/browser_toolkit_commons.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/dalle_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/dappier_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/data_commons_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/excel_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/file_write_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/function_tool.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/github_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/google_calendar_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/google_maps_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/google_scholar_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/human_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/image_analysis_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/jina_reranker_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/klavis_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/linkedin_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/math_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/mcp_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/memory_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/meshy_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/mineru_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/networkx_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/notion_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/open_api_specs/biztoc/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/open_api_specs/biztoc/ai-plugin.json +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/open_api_specs/biztoc/openapi.yaml +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/open_api_specs/coursera/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/open_api_specs/coursera/openapi.yaml +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/open_api_specs/create_qr_code/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/open_api_specs/create_qr_code/openapi.yaml +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/open_api_specs/klarna/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/open_api_specs/klarna/openapi.yaml +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/open_api_specs/nasa_apod/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/open_api_specs/nasa_apod/openapi.yaml +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/open_api_specs/outschool/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/open_api_specs/outschool/ai-plugin.json +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/open_api_specs/outschool/openapi.yaml +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/open_api_specs/outschool/paths/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/open_api_specs/outschool/paths/get_classes.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/open_api_specs/outschool/paths/search_teachers.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/open_api_specs/security_config.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/open_api_specs/speak/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/open_api_specs/speak/openapi.yaml +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/open_api_specs/web_scraper/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/open_api_specs/web_scraper/ai-plugin.json +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/open_api_specs/web_scraper/openapi.yaml +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/open_api_specs/web_scraper/paths/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/open_api_specs/web_scraper/paths/scraper.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/open_api_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/openai_agent_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/openbb_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/page_script.js +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/pubmed_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/pulse_mcp_search_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/pyautogui_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/reddit_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/retrieval_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/search_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/searxng_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/semantic_scholar_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/slack_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/stripe_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/sympy_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/task_planning_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/terminal_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/thinking_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/twitter_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/video_analysis_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/video_download_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/weather_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/whatsapp_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/wolfram_alpha_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/toolkits/zapier_toolkit.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/types/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/types/agents/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/types/agents/tool_calling_record.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/types/mcp_registries.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/types/openai_types.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/utils/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/utils/async_func.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/utils/chunker/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/utils/chunker/base.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/utils/chunker/code_chunker.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/utils/chunker/uio_chunker.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/utils/commons.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/utils/constants.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/utils/deduplication.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/utils/filename.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/utils/langfuse.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/utils/mcp.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/utils/mcp_client.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/utils/response_format.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/utils/token_counting.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/verifiers/__init__.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/verifiers/base.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/verifiers/math_verifier.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/verifiers/models.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/camel/verifiers/physics_verifier.py +0 -0
- {camel_ai-0.2.66 → camel_ai-0.2.67}/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.67
|
|
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
|
|
@@ -38,7 +38,7 @@ Requires-Dist: dappier<0.4,>=0.3.3; extra == 'all'
|
|
|
38
38
|
Requires-Dist: datacommons-pandas<0.0.4,>=0.0.3; extra == 'all'
|
|
39
39
|
Requires-Dist: datacommons<2,>=1.4.3; extra == 'all'
|
|
40
40
|
Requires-Dist: datasets<4,>=3; extra == 'all'
|
|
41
|
-
Requires-Dist: daytona-sdk
|
|
41
|
+
Requires-Dist: daytona-sdk>=0.20.0; extra == 'all'
|
|
42
42
|
Requires-Dist: diffusers<0.26,>=0.25.0; extra == 'all'
|
|
43
43
|
Requires-Dist: discord-py<3,>=2.3.2; extra == 'all'
|
|
44
44
|
Requires-Dist: docker<8,>=7.1.0; extra == 'all'
|
|
@@ -178,7 +178,7 @@ Requires-Dist: uv==0.6.5; extra == 'dev'
|
|
|
178
178
|
Provides-Extra: dev-tools
|
|
179
179
|
Requires-Dist: aci-sdk>=1.0.0b1; extra == 'dev-tools'
|
|
180
180
|
Requires-Dist: agentops<0.4,>=0.3.21; extra == 'dev-tools'
|
|
181
|
-
Requires-Dist: daytona-sdk
|
|
181
|
+
Requires-Dist: daytona-sdk>=0.20.0; extra == 'dev-tools'
|
|
182
182
|
Requires-Dist: docker<8,>=7.1.0; extra == 'dev-tools'
|
|
183
183
|
Requires-Dist: e2b-code-interpreter<2,>=1.0.3; extra == 'dev-tools'
|
|
184
184
|
Requires-Dist: ipykernel<7,>=6.0.0; extra == 'dev-tools'
|
|
@@ -33,6 +33,7 @@ from .ollama_config import OLLAMA_API_PARAMS, OllamaConfig
|
|
|
33
33
|
from .openai_config import OPENAI_API_PARAMS, ChatGPTConfig
|
|
34
34
|
from .openrouter_config import OPENROUTER_API_PARAMS, OpenRouterConfig
|
|
35
35
|
from .ppio_config import PPIO_API_PARAMS, PPIOConfig
|
|
36
|
+
from .qianfan_config import QIANFAN_API_PARAMS, QianfanConfig
|
|
36
37
|
from .qwen_config import QWEN_API_PARAMS, QwenConfig
|
|
37
38
|
from .reka_config import REKA_API_PARAMS, RekaConfig
|
|
38
39
|
from .samba_config import (
|
|
@@ -113,6 +114,8 @@ __all__ = [
|
|
|
113
114
|
'LMStudioConfig',
|
|
114
115
|
'WatsonXConfig',
|
|
115
116
|
'WATSONX_API_PARAMS',
|
|
117
|
+
'QianfanConfig',
|
|
118
|
+
'QIANFAN_API_PARAMS',
|
|
116
119
|
'CrynuxConfig',
|
|
117
120
|
'CRYNUX_API_PARAMS',
|
|
118
121
|
]
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# ========= Copyright 2023-2024 @ CAMEL-AI.org. All Rights Reserved. =========
|
|
2
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
|
+
# you may not use this file except in compliance with the License.
|
|
4
|
+
# You may obtain a copy of the License at
|
|
5
|
+
#
|
|
6
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
7
|
+
#
|
|
8
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
9
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
10
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
+
# See the License for the specific language governing permissions and
|
|
12
|
+
# limitations under the License.
|
|
13
|
+
# ========= Copyright 2023-2024 @ CAMEL-AI.org. All Rights Reserved. =========
|
|
14
|
+
from __future__ import annotations
|
|
15
|
+
|
|
16
|
+
from typing import Dict, List, Optional, Union
|
|
17
|
+
|
|
18
|
+
from pydantic import Field
|
|
19
|
+
|
|
20
|
+
from camel.configs.base_config import BaseConfig
|
|
21
|
+
from camel.types import NotGiven
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class QianfanConfig(BaseConfig):
|
|
25
|
+
r"""Defines the parameters for generating chat completions using OpenAI
|
|
26
|
+
compatibility.
|
|
27
|
+
|
|
28
|
+
Reference: https://cloud.baidu.com/doc/qianfan-api/s/3m7of64lb
|
|
29
|
+
|
|
30
|
+
Args:
|
|
31
|
+
presence_penalty (float, optional): Number between :obj:`-2.0` and
|
|
32
|
+
:obj:`2.0`. Positive values penalize new tokens based on whether
|
|
33
|
+
they appear in the text so far, increasing the model's likelihood
|
|
34
|
+
to talk about new topics. See more information about frequency and
|
|
35
|
+
presence penalties. (default: :obj:`None`)
|
|
36
|
+
frequency_penalty (float, optional): Number between :obj:`-2.0` and
|
|
37
|
+
:obj:`2.0`. Positive values penalize new tokens based on their
|
|
38
|
+
existing frequency in the text so far, decreasing the model's
|
|
39
|
+
likelihood to repeat the same line verbatim. See more information
|
|
40
|
+
about frequency and presence penalties. (default: :obj:`None`)
|
|
41
|
+
repetition_penalty (float, optional): Penalizes new tokens based on
|
|
42
|
+
their appearance in the prompt and generated text.
|
|
43
|
+
(default: :obj:`None`)
|
|
44
|
+
stream (bool, optional): Whether to stream the response.
|
|
45
|
+
(default: :obj:`None`)
|
|
46
|
+
temperature (float, optional): Controls randomness in the response.
|
|
47
|
+
Higher values make output more random, lower values make it more
|
|
48
|
+
deterministic. Range: [0.0, 2.0]. (default: :obj:`None`)
|
|
49
|
+
top_p (float, optional): Controls diversity via nucleus sampling.
|
|
50
|
+
Range: [0.0, 1.0]. (default: :obj:`None`)
|
|
51
|
+
logit_bias (dict, optional): Modify the likelihood of specified tokens
|
|
52
|
+
appearing in the completion. Accepts a json object that maps tokens
|
|
53
|
+
(specified by their token ID in the tokenizer) to an associated
|
|
54
|
+
bias value from :obj:`-100` to :obj:`100`. Mathematically, the bias
|
|
55
|
+
is added to the logits generated by the model prior to sampling.
|
|
56
|
+
The exact effect will vary per model, but values between:obj:` -1`
|
|
57
|
+
and :obj:`1` should decrease or increase likelihood of selection;
|
|
58
|
+
values like :obj:`-100` or :obj:`100` should result in a ban or
|
|
59
|
+
exclusive selection of the relevant token. (default: :obj:`None`)
|
|
60
|
+
max_tokens (Union[int, NotGiven], optional): Maximum number of tokens
|
|
61
|
+
to generate. If not provided, model will use its default maximum.
|
|
62
|
+
(default: :obj:`None`)
|
|
63
|
+
stop (Optional[List[str]], optional): List of stop sequences.
|
|
64
|
+
(default: :obj:`None`)
|
|
65
|
+
n (Optional[int], optional): Number of chat completion choices to
|
|
66
|
+
generate for each input message. (default: :obj:`None`)
|
|
67
|
+
tools (List, optional): Specifies an array of tools that the model can
|
|
68
|
+
call. It can contain one or more tool objects. During a function
|
|
69
|
+
call process, the model will select one tool from the array.
|
|
70
|
+
(default: :obj:`None`)
|
|
71
|
+
"""
|
|
72
|
+
|
|
73
|
+
stream: Optional[bool] = Field(default=None)
|
|
74
|
+
temperature: Optional[float] = Field(default=None)
|
|
75
|
+
top_p: Optional[float] = Field(default=None)
|
|
76
|
+
presence_penalty: Optional[float] = Field(default=None)
|
|
77
|
+
frequency_penalty: Optional[float] = Field(default=None)
|
|
78
|
+
repetition_penalty: Optional[float] = Field(default=None)
|
|
79
|
+
max_tokens: Optional[Union[int, NotGiven]] = Field(default=None)
|
|
80
|
+
stop: Optional[List[str]] = Field(default=None)
|
|
81
|
+
n: Optional[int] = Field(default=None)
|
|
82
|
+
logit_bias: Optional[Dict[str, float]] = Field(default=None)
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
QIANFAN_API_PARAMS = {param for param in QianfanConfig.model_fields.keys()}
|
|
@@ -41,6 +41,7 @@ from .openai_compatible_model import OpenAICompatibleModel
|
|
|
41
41
|
from .openai_model import OpenAIModel
|
|
42
42
|
from .openrouter_model import OpenRouterModel
|
|
43
43
|
from .ppio_model import PPIOModel
|
|
44
|
+
from .qianfan_model import QianfanModel
|
|
44
45
|
from .qwen_model import QwenModel
|
|
45
46
|
from .reka_model import RekaModel
|
|
46
47
|
from .samba_model import SambaModel
|
|
@@ -97,5 +98,6 @@ __all__ = [
|
|
|
97
98
|
'VolcanoModel',
|
|
98
99
|
'LMStudioModel',
|
|
99
100
|
'WatsonXModel',
|
|
101
|
+
'QianfanModel',
|
|
100
102
|
'CrynuxModel',
|
|
101
103
|
]
|
|
@@ -46,6 +46,10 @@ class AIMLModel(OpenAICompatibleModel):
|
|
|
46
46
|
API calls. If not provided, will fall back to the MODEL_TIMEOUT
|
|
47
47
|
environment variable or default to 180 seconds.
|
|
48
48
|
(default: :obj:`None`)
|
|
49
|
+
max_retries (int, optional): Maximum number of retries for API calls.
|
|
50
|
+
(default: :obj:`3`)
|
|
51
|
+
**kwargs (Any): Additional arguments to pass to the client
|
|
52
|
+
initialization.
|
|
49
53
|
"""
|
|
50
54
|
|
|
51
55
|
@api_keys_required([("api_key", "AIML_API_KEY")])
|
|
@@ -57,6 +61,8 @@ class AIMLModel(OpenAICompatibleModel):
|
|
|
57
61
|
url: Optional[str] = None,
|
|
58
62
|
token_counter: Optional[BaseTokenCounter] = None,
|
|
59
63
|
timeout: Optional[float] = None,
|
|
64
|
+
max_retries: int = 3,
|
|
65
|
+
**kwargs: Any,
|
|
60
66
|
) -> None:
|
|
61
67
|
if model_config_dict is None:
|
|
62
68
|
model_config_dict = AIMLConfig().as_dict()
|
|
@@ -73,6 +79,8 @@ class AIMLModel(OpenAICompatibleModel):
|
|
|
73
79
|
url=url,
|
|
74
80
|
token_counter=token_counter,
|
|
75
81
|
timeout=timeout,
|
|
82
|
+
max_retries=max_retries,
|
|
83
|
+
**kwargs,
|
|
76
84
|
)
|
|
77
85
|
|
|
78
86
|
def check_model_config(self):
|
|
@@ -46,6 +46,10 @@ class AnthropicModel(OpenAICompatibleModel):
|
|
|
46
46
|
API calls. If not provided, will fall back to the MODEL_TIMEOUT
|
|
47
47
|
environment variable or default to 180 seconds.
|
|
48
48
|
(default: :obj:`None`)
|
|
49
|
+
max_retries (int, optional): Maximum number of retries for API calls.
|
|
50
|
+
(default: :obj:`3`)
|
|
51
|
+
**kwargs (Any): Additional arguments to pass to the client
|
|
52
|
+
initialization.
|
|
49
53
|
"""
|
|
50
54
|
|
|
51
55
|
@api_keys_required(
|
|
@@ -62,6 +66,8 @@ class AnthropicModel(OpenAICompatibleModel):
|
|
|
62
66
|
url: Optional[str] = None,
|
|
63
67
|
token_counter: Optional[BaseTokenCounter] = None,
|
|
64
68
|
timeout: Optional[float] = None,
|
|
69
|
+
max_retries: int = 3,
|
|
70
|
+
**kwargs: Any,
|
|
65
71
|
) -> None:
|
|
66
72
|
if model_config_dict is None:
|
|
67
73
|
model_config_dict = AnthropicConfig().as_dict()
|
|
@@ -79,6 +85,8 @@ class AnthropicModel(OpenAICompatibleModel):
|
|
|
79
85
|
url=url,
|
|
80
86
|
token_counter=token_counter,
|
|
81
87
|
timeout=timeout,
|
|
88
|
+
max_retries=max_retries,
|
|
89
|
+
**kwargs,
|
|
82
90
|
)
|
|
83
91
|
|
|
84
92
|
@property
|
|
@@ -50,6 +50,10 @@ class AWSBedrockModel(OpenAICompatibleModel):
|
|
|
50
50
|
API calls. If not provided, will fall back to the MODEL_TIMEOUT
|
|
51
51
|
environment variable or default to 180 seconds.
|
|
52
52
|
(default: :obj:`None`)
|
|
53
|
+
max_retries (int, optional): Maximum number of retries for API calls.
|
|
54
|
+
(default: :obj:`3`)
|
|
55
|
+
**kwargs (Any): Additional arguments to pass to the client
|
|
56
|
+
initialization.
|
|
53
57
|
|
|
54
58
|
References:
|
|
55
59
|
https://docs.aws.amazon.com/bedrock/latest/APIReference/welcome.html
|
|
@@ -69,6 +73,8 @@ class AWSBedrockModel(OpenAICompatibleModel):
|
|
|
69
73
|
url: Optional[str] = None,
|
|
70
74
|
token_counter: Optional[BaseTokenCounter] = None,
|
|
71
75
|
timeout: Optional[float] = None,
|
|
76
|
+
max_retries: int = 3,
|
|
77
|
+
**kwargs: Any,
|
|
72
78
|
) -> None:
|
|
73
79
|
if model_config_dict is None:
|
|
74
80
|
model_config_dict = BedrockConfig().as_dict()
|
|
@@ -84,6 +90,8 @@ class AWSBedrockModel(OpenAICompatibleModel):
|
|
|
84
90
|
url=url,
|
|
85
91
|
token_counter=token_counter,
|
|
86
92
|
timeout=timeout,
|
|
93
|
+
max_retries=max_retries,
|
|
94
|
+
**kwargs,
|
|
87
95
|
)
|
|
88
96
|
|
|
89
97
|
async def _arun(
|
|
@@ -76,7 +76,10 @@ class AzureOpenAIModel(BaseModelBackend):
|
|
|
76
76
|
API calls. If not provided, will fall back to the MODEL_TIMEOUT
|
|
77
77
|
environment variable or default to 180 seconds.
|
|
78
78
|
(default: :obj:`None`)
|
|
79
|
-
|
|
79
|
+
max_retries (int, optional): Maximum number of retries for API calls.
|
|
80
|
+
(default: :obj:`3`)
|
|
81
|
+
**kwargs (Any): Additional arguments to pass to the client
|
|
82
|
+
initialization.
|
|
80
83
|
|
|
81
84
|
References:
|
|
82
85
|
https://learn.microsoft.com/en-us/azure/ai-services/openai/
|
|
@@ -94,6 +97,8 @@ class AzureOpenAIModel(BaseModelBackend):
|
|
|
94
97
|
azure_deployment_name: Optional[str] = None,
|
|
95
98
|
azure_ad_token_provider: Optional["AzureADTokenProvider"] = None,
|
|
96
99
|
azure_ad_token: Optional[str] = None,
|
|
100
|
+
max_retries: int = 3,
|
|
101
|
+
**kwargs: Any,
|
|
97
102
|
) -> None:
|
|
98
103
|
if model_config_dict is None:
|
|
99
104
|
model_config_dict = ChatGPTConfig().as_dict()
|
|
@@ -135,7 +140,8 @@ class AzureOpenAIModel(BaseModelBackend):
|
|
|
135
140
|
azure_ad_token=self._azure_ad_token,
|
|
136
141
|
azure_ad_token_provider=self.azure_ad_token_provider,
|
|
137
142
|
timeout=self._timeout,
|
|
138
|
-
max_retries=
|
|
143
|
+
max_retries=max_retries,
|
|
144
|
+
**kwargs,
|
|
139
145
|
)
|
|
140
146
|
self._async_client = LangfuseAsyncOpenAI(
|
|
141
147
|
azure_endpoint=str(self._url),
|
|
@@ -145,7 +151,8 @@ class AzureOpenAIModel(BaseModelBackend):
|
|
|
145
151
|
azure_ad_token=self._azure_ad_token,
|
|
146
152
|
azure_ad_token_provider=self.azure_ad_token_provider,
|
|
147
153
|
timeout=self._timeout,
|
|
148
|
-
max_retries=
|
|
154
|
+
max_retries=max_retries,
|
|
155
|
+
**kwargs,
|
|
149
156
|
)
|
|
150
157
|
else:
|
|
151
158
|
self._client = AzureOpenAI(
|
|
@@ -156,7 +163,8 @@ class AzureOpenAIModel(BaseModelBackend):
|
|
|
156
163
|
azure_ad_token=self._azure_ad_token,
|
|
157
164
|
azure_ad_token_provider=self.azure_ad_token_provider,
|
|
158
165
|
timeout=self._timeout,
|
|
159
|
-
max_retries=
|
|
166
|
+
max_retries=max_retries,
|
|
167
|
+
**kwargs,
|
|
160
168
|
)
|
|
161
169
|
|
|
162
170
|
self._async_client = AsyncAzureOpenAI(
|
|
@@ -167,7 +175,8 @@ class AzureOpenAIModel(BaseModelBackend):
|
|
|
167
175
|
azure_ad_token=self._azure_ad_token,
|
|
168
176
|
azure_ad_token_provider=self.azure_ad_token_provider,
|
|
169
177
|
timeout=self._timeout,
|
|
170
|
-
max_retries=
|
|
178
|
+
max_retries=max_retries,
|
|
179
|
+
**kwargs,
|
|
171
180
|
)
|
|
172
181
|
|
|
173
182
|
@property
|
|
@@ -71,6 +71,8 @@ class BaseModelBackend(ABC, metaclass=ModelBackendMeta):
|
|
|
71
71
|
:obj:`OpenAITokenCounter` will be used. (default: :obj:`None`)
|
|
72
72
|
timeout (Optional[float], optional): The timeout value in seconds for
|
|
73
73
|
API calls. (default: :obj:`None`)
|
|
74
|
+
max_retries (int, optional): Maximum number of retries
|
|
75
|
+
for API calls. (default: :obj:`3`)
|
|
74
76
|
"""
|
|
75
77
|
|
|
76
78
|
def __init__(
|
|
@@ -81,6 +83,7 @@ class BaseModelBackend(ABC, metaclass=ModelBackendMeta):
|
|
|
81
83
|
url: Optional[str] = None,
|
|
82
84
|
token_counter: Optional[BaseTokenCounter] = None,
|
|
83
85
|
timeout: Optional[float] = None,
|
|
86
|
+
max_retries: int = 3,
|
|
84
87
|
) -> None:
|
|
85
88
|
self.model_type: UnifiedModelType = UnifiedModelType(model_type)
|
|
86
89
|
if model_config_dict is None:
|
|
@@ -90,6 +93,7 @@ class BaseModelBackend(ABC, metaclass=ModelBackendMeta):
|
|
|
90
93
|
self._url = url
|
|
91
94
|
self._token_counter = token_counter
|
|
92
95
|
self._timeout = timeout
|
|
96
|
+
self._max_retries = max_retries
|
|
93
97
|
self.check_model_config()
|
|
94
98
|
|
|
95
99
|
@property
|
|
@@ -76,6 +76,8 @@ class CohereModel(BaseModelBackend):
|
|
|
76
76
|
API calls. If not provided, will fall back to the MODEL_TIMEOUT
|
|
77
77
|
environment variable or default to 180 seconds.
|
|
78
78
|
(default: :obj:`None`)
|
|
79
|
+
**kwargs (Any): Additional arguments to pass to the client
|
|
80
|
+
initialization.
|
|
79
81
|
"""
|
|
80
82
|
|
|
81
83
|
@api_keys_required(
|
|
@@ -91,6 +93,7 @@ class CohereModel(BaseModelBackend):
|
|
|
91
93
|
url: Optional[str] = None,
|
|
92
94
|
token_counter: Optional[BaseTokenCounter] = None,
|
|
93
95
|
timeout: Optional[float] = None,
|
|
96
|
+
**kwargs: Any,
|
|
94
97
|
):
|
|
95
98
|
import cohere
|
|
96
99
|
|
|
@@ -105,10 +108,14 @@ class CohereModel(BaseModelBackend):
|
|
|
105
108
|
model_type, model_config_dict, api_key, url, token_counter, timeout
|
|
106
109
|
)
|
|
107
110
|
self._client = cohere.ClientV2(
|
|
108
|
-
timeout=self._timeout,
|
|
111
|
+
timeout=self._timeout,
|
|
112
|
+
api_key=self._api_key,
|
|
113
|
+
**kwargs,
|
|
109
114
|
)
|
|
110
115
|
self._async_client = cohere.AsyncClientV2(
|
|
111
|
-
timeout=self._timeout,
|
|
116
|
+
timeout=self._timeout,
|
|
117
|
+
api_key=self._api_key,
|
|
118
|
+
**kwargs,
|
|
112
119
|
)
|
|
113
120
|
|
|
114
121
|
def _to_openai_response(self, response: 'ChatResponse') -> ChatCompletion:
|
|
@@ -46,6 +46,10 @@ class CrynuxModel(OpenAICompatibleModel):
|
|
|
46
46
|
API calls. If not provided, will fall back to the MODEL_TIMEOUT
|
|
47
47
|
environment variable or default to 180 seconds.
|
|
48
48
|
(default: :obj:`None`)
|
|
49
|
+
max_retries (int, optional): Maximum number of retries for API calls.
|
|
50
|
+
(default: :obj:`3`)
|
|
51
|
+
**kwargs (Any): Additional arguments to pass to the client
|
|
52
|
+
initialization.
|
|
49
53
|
"""
|
|
50
54
|
|
|
51
55
|
@api_keys_required(
|
|
@@ -61,6 +65,8 @@ class CrynuxModel(OpenAICompatibleModel):
|
|
|
61
65
|
url: Optional[str] = None,
|
|
62
66
|
token_counter: Optional[BaseTokenCounter] = None,
|
|
63
67
|
timeout: Optional[float] = None,
|
|
68
|
+
max_retries: int = 3,
|
|
69
|
+
**kwargs: Any,
|
|
64
70
|
) -> None:
|
|
65
71
|
if model_config_dict is None:
|
|
66
72
|
model_config_dict = CrynuxConfig().as_dict()
|
|
@@ -76,6 +82,8 @@ class CrynuxModel(OpenAICompatibleModel):
|
|
|
76
82
|
url=url,
|
|
77
83
|
token_counter=token_counter,
|
|
78
84
|
timeout=timeout,
|
|
85
|
+
max_retries=max_retries,
|
|
86
|
+
**kwargs,
|
|
79
87
|
)
|
|
80
88
|
|
|
81
89
|
def check_model_config(self):
|
|
@@ -78,6 +78,10 @@ class DeepSeekModel(OpenAICompatibleModel):
|
|
|
78
78
|
API calls. If not provided, will fall back to the MODEL_TIMEOUT
|
|
79
79
|
environment variable or default to 180 seconds.
|
|
80
80
|
(default: :obj:`None`)
|
|
81
|
+
max_retries (int, optional): Maximum number of retries for API calls.
|
|
82
|
+
(default: :obj:`3`)
|
|
83
|
+
**kwargs (Any): Additional arguments to pass to the client
|
|
84
|
+
initialization.
|
|
81
85
|
|
|
82
86
|
References:
|
|
83
87
|
https://api-docs.deepseek.com/
|
|
@@ -96,6 +100,8 @@ class DeepSeekModel(OpenAICompatibleModel):
|
|
|
96
100
|
url: Optional[str] = None,
|
|
97
101
|
token_counter: Optional[BaseTokenCounter] = None,
|
|
98
102
|
timeout: Optional[float] = None,
|
|
103
|
+
max_retries: int = 3,
|
|
104
|
+
**kwargs: Any,
|
|
99
105
|
) -> None:
|
|
100
106
|
if model_config_dict is None:
|
|
101
107
|
model_config_dict = DeepSeekConfig().as_dict()
|
|
@@ -112,6 +118,8 @@ class DeepSeekModel(OpenAICompatibleModel):
|
|
|
112
118
|
url=url,
|
|
113
119
|
token_counter=token_counter,
|
|
114
120
|
timeout=timeout,
|
|
121
|
+
max_retries=max_retries,
|
|
122
|
+
**kwargs,
|
|
115
123
|
)
|
|
116
124
|
|
|
117
125
|
def _prepare_request(
|
|
@@ -64,6 +64,10 @@ class GeminiModel(OpenAICompatibleModel):
|
|
|
64
64
|
API calls. If not provided, will fall back to the MODEL_TIMEOUT
|
|
65
65
|
environment variable or default to 180 seconds.
|
|
66
66
|
(default: :obj:`None`)
|
|
67
|
+
max_retries (int, optional): Maximum number of retries for API calls.
|
|
68
|
+
(default: :obj:`3`)
|
|
69
|
+
**kwargs (Any): Additional arguments to pass to the client
|
|
70
|
+
initialization.
|
|
67
71
|
"""
|
|
68
72
|
|
|
69
73
|
@api_keys_required(
|
|
@@ -79,6 +83,8 @@ class GeminiModel(OpenAICompatibleModel):
|
|
|
79
83
|
url: Optional[str] = None,
|
|
80
84
|
token_counter: Optional[BaseTokenCounter] = None,
|
|
81
85
|
timeout: Optional[float] = None,
|
|
86
|
+
max_retries: int = 3,
|
|
87
|
+
**kwargs: Any,
|
|
82
88
|
) -> None:
|
|
83
89
|
if model_config_dict is None:
|
|
84
90
|
model_config_dict = GeminiConfig().as_dict()
|
|
@@ -95,6 +101,8 @@ class GeminiModel(OpenAICompatibleModel):
|
|
|
95
101
|
url=url,
|
|
96
102
|
token_counter=token_counter,
|
|
97
103
|
timeout=timeout,
|
|
104
|
+
max_retries=max_retries,
|
|
105
|
+
**kwargs,
|
|
98
106
|
)
|
|
99
107
|
|
|
100
108
|
def _process_messages(self, messages) -> List[OpenAIMessage]:
|
|
@@ -45,6 +45,10 @@ class GroqModel(OpenAICompatibleModel):
|
|
|
45
45
|
API calls. If not provided, will fall back to the MODEL_TIMEOUT
|
|
46
46
|
environment variable or default to 180 seconds.
|
|
47
47
|
(default: :obj:`None`)
|
|
48
|
+
max_retries (int, optional): Maximum number of retries for API calls.
|
|
49
|
+
(default: :obj:`3`)
|
|
50
|
+
**kwargs (Any): Additional arguments to pass to the client
|
|
51
|
+
initialization.
|
|
48
52
|
"""
|
|
49
53
|
|
|
50
54
|
@api_keys_required([("api_key", "GROQ_API_KEY")])
|
|
@@ -56,6 +60,8 @@ class GroqModel(OpenAICompatibleModel):
|
|
|
56
60
|
url: Optional[str] = None,
|
|
57
61
|
token_counter: Optional[BaseTokenCounter] = None,
|
|
58
62
|
timeout: Optional[float] = None,
|
|
63
|
+
max_retries: int = 3,
|
|
64
|
+
**kwargs: Any,
|
|
59
65
|
) -> None:
|
|
60
66
|
if model_config_dict is None:
|
|
61
67
|
model_config_dict = GroqConfig().as_dict()
|
|
@@ -71,6 +77,8 @@ class GroqModel(OpenAICompatibleModel):
|
|
|
71
77
|
url=url,
|
|
72
78
|
token_counter=token_counter,
|
|
73
79
|
timeout=timeout,
|
|
80
|
+
max_retries=max_retries,
|
|
81
|
+
**kwargs,
|
|
74
82
|
)
|
|
75
83
|
|
|
76
84
|
def check_model_config(self):
|
|
@@ -54,6 +54,10 @@ class InternLMModel(OpenAICompatibleModel):
|
|
|
54
54
|
API calls. If not provided, will fall back to the MODEL_TIMEOUT
|
|
55
55
|
environment variable or default to 180 seconds.
|
|
56
56
|
(default: :obj:`None`)
|
|
57
|
+
max_retries (int, optional): Maximum number of retries for API calls.
|
|
58
|
+
(default: :obj:`3`)
|
|
59
|
+
**kwargs (Any): Additional arguments to pass to the client
|
|
60
|
+
initialization.
|
|
57
61
|
"""
|
|
58
62
|
|
|
59
63
|
@api_keys_required(
|
|
@@ -69,6 +73,8 @@ class InternLMModel(OpenAICompatibleModel):
|
|
|
69
73
|
url: Optional[str] = None,
|
|
70
74
|
token_counter: Optional[BaseTokenCounter] = None,
|
|
71
75
|
timeout: Optional[float] = None,
|
|
76
|
+
max_retries: int = 3,
|
|
77
|
+
**kwargs: Any,
|
|
72
78
|
) -> None:
|
|
73
79
|
self.model_config = model_config_dict or InternLMConfig().as_dict()
|
|
74
80
|
api_key = api_key or os.environ.get("INTERNLM_API_KEY")
|
|
@@ -84,6 +90,8 @@ class InternLMModel(OpenAICompatibleModel):
|
|
|
84
90
|
url=url,
|
|
85
91
|
token_counter=token_counter,
|
|
86
92
|
timeout=timeout,
|
|
93
|
+
max_retries=max_retries,
|
|
94
|
+
**kwargs,
|
|
87
95
|
)
|
|
88
96
|
|
|
89
97
|
async def _arun(
|
|
@@ -59,6 +59,8 @@ class LiteLLMModel(BaseModelBackend):
|
|
|
59
59
|
API calls. If not provided, will fall back to the MODEL_TIMEOUT
|
|
60
60
|
environment variable or default to 180 seconds.
|
|
61
61
|
(default: :obj:`None`)
|
|
62
|
+
**kwargs (Any): Additional arguments to pass to the client
|
|
63
|
+
initialization.
|
|
62
64
|
"""
|
|
63
65
|
|
|
64
66
|
# NOTE: Currently stream mode is not supported.
|
|
@@ -72,6 +74,7 @@ class LiteLLMModel(BaseModelBackend):
|
|
|
72
74
|
url: Optional[str] = None,
|
|
73
75
|
token_counter: Optional[BaseTokenCounter] = None,
|
|
74
76
|
timeout: Optional[float] = None,
|
|
77
|
+
**kwargs: Any,
|
|
75
78
|
) -> None:
|
|
76
79
|
from litellm import completion
|
|
77
80
|
|
|
@@ -82,6 +85,7 @@ class LiteLLMModel(BaseModelBackend):
|
|
|
82
85
|
model_type, model_config_dict, api_key, url, token_counter, timeout
|
|
83
86
|
)
|
|
84
87
|
self.client = completion
|
|
88
|
+
self.kwargs = kwargs
|
|
85
89
|
|
|
86
90
|
def _convert_response_from_litellm_to_openai(
|
|
87
91
|
self, response
|
|
@@ -173,6 +177,7 @@ class LiteLLMModel(BaseModelBackend):
|
|
|
173
177
|
model=self.model_type,
|
|
174
178
|
messages=messages,
|
|
175
179
|
**self.model_config_dict,
|
|
180
|
+
**self.kwargs,
|
|
176
181
|
)
|
|
177
182
|
response = self._convert_response_from_litellm_to_openai(response)
|
|
178
183
|
|
|
@@ -43,6 +43,10 @@ class LMStudioModel(OpenAICompatibleModel):
|
|
|
43
43
|
API calls. If not provided, will fall back to the MODEL_TIMEOUT
|
|
44
44
|
environment variable or default to 180 seconds.
|
|
45
45
|
(default: :obj:`None`)
|
|
46
|
+
max_retries (int, optional): Maximum number of retries for API calls.
|
|
47
|
+
(default: :obj:`3`)
|
|
48
|
+
**kwargs (Any): Additional arguments to pass to the client
|
|
49
|
+
initialization.
|
|
46
50
|
"""
|
|
47
51
|
|
|
48
52
|
def __init__(
|
|
@@ -53,6 +57,8 @@ class LMStudioModel(OpenAICompatibleModel):
|
|
|
53
57
|
url: Optional[str] = None,
|
|
54
58
|
token_counter: Optional[BaseTokenCounter] = None,
|
|
55
59
|
timeout: Optional[float] = None,
|
|
60
|
+
max_retries: int = 3,
|
|
61
|
+
**kwargs: Any,
|
|
56
62
|
) -> None:
|
|
57
63
|
if model_config_dict is None:
|
|
58
64
|
model_config_dict = LMStudioConfig().as_dict()
|
|
@@ -62,7 +68,14 @@ class LMStudioModel(OpenAICompatibleModel):
|
|
|
62
68
|
)
|
|
63
69
|
timeout = timeout or float(os.environ.get("MODEL_TIMEOUT", 180))
|
|
64
70
|
super().__init__(
|
|
65
|
-
model_type,
|
|
71
|
+
model_type,
|
|
72
|
+
model_config_dict,
|
|
73
|
+
api_key,
|
|
74
|
+
url,
|
|
75
|
+
token_counter,
|
|
76
|
+
timeout,
|
|
77
|
+
max_retries=max_retries,
|
|
78
|
+
**kwargs,
|
|
66
79
|
)
|
|
67
80
|
|
|
68
81
|
def check_model_config(self):
|
|
@@ -80,6 +80,10 @@ class MistralModel(BaseModelBackend):
|
|
|
80
80
|
API calls. If not provided, will fall back to the MODEL_TIMEOUT
|
|
81
81
|
environment variable or default to 180 seconds.
|
|
82
82
|
(default: :obj:`None`)
|
|
83
|
+
max_retries (int, optional): Maximum number of retries
|
|
84
|
+
for API calls. (default: :obj:`3`)
|
|
85
|
+
**kwargs (Any): Additional arguments to pass to the client
|
|
86
|
+
initialization.
|
|
83
87
|
"""
|
|
84
88
|
|
|
85
89
|
@api_keys_required(
|
|
@@ -96,6 +100,8 @@ class MistralModel(BaseModelBackend):
|
|
|
96
100
|
url: Optional[str] = None,
|
|
97
101
|
token_counter: Optional[BaseTokenCounter] = None,
|
|
98
102
|
timeout: Optional[float] = None,
|
|
103
|
+
max_retries: int = 3,
|
|
104
|
+
**kwargs: Any,
|
|
99
105
|
) -> None:
|
|
100
106
|
from mistralai import Mistral
|
|
101
107
|
|
|
@@ -106,7 +112,14 @@ class MistralModel(BaseModelBackend):
|
|
|
106
112
|
url = url or os.environ.get("MISTRAL_API_BASE_URL")
|
|
107
113
|
timeout = timeout or float(os.environ.get("MODEL_TIMEOUT", 180))
|
|
108
114
|
super().__init__(
|
|
109
|
-
model_type,
|
|
115
|
+
model_type,
|
|
116
|
+
model_config_dict,
|
|
117
|
+
api_key,
|
|
118
|
+
url,
|
|
119
|
+
token_counter,
|
|
120
|
+
timeout,
|
|
121
|
+
max_retries,
|
|
122
|
+
**kwargs,
|
|
110
123
|
)
|
|
111
124
|
self._client = Mistral(
|
|
112
125
|
timeout_ms=int(self._timeout * 1000)
|
|
@@ -114,6 +127,7 @@ class MistralModel(BaseModelBackend):
|
|
|
114
127
|
else None,
|
|
115
128
|
api_key=self._api_key,
|
|
116
129
|
server_url=self._url,
|
|
130
|
+
**kwargs,
|
|
117
131
|
)
|
|
118
132
|
|
|
119
133
|
def _to_openai_response(
|
|
@@ -39,6 +39,7 @@ from camel.models.openai_compatible_model import OpenAICompatibleModel
|
|
|
39
39
|
from camel.models.openai_model import OpenAIModel
|
|
40
40
|
from camel.models.openrouter_model import OpenRouterModel
|
|
41
41
|
from camel.models.ppio_model import PPIOModel
|
|
42
|
+
from camel.models.qianfan_model import QianfanModel
|
|
42
43
|
from camel.models.qwen_model import QwenModel
|
|
43
44
|
from camel.models.reka_model import RekaModel
|
|
44
45
|
from camel.models.samba_model import SambaModel
|
|
@@ -98,6 +99,7 @@ class ModelFactory:
|
|
|
98
99
|
ModelPlatformType.MODELSCOPE: ModelScopeModel,
|
|
99
100
|
ModelPlatformType.NOVITA: NovitaModel,
|
|
100
101
|
ModelPlatformType.WATSONX: WatsonXModel,
|
|
102
|
+
ModelPlatformType.QIANFAN: QianfanModel,
|
|
101
103
|
ModelPlatformType.CRYNUX: CrynuxModel,
|
|
102
104
|
}
|
|
103
105
|
|
|
@@ -110,6 +112,7 @@ class ModelFactory:
|
|
|
110
112
|
api_key: Optional[str] = None,
|
|
111
113
|
url: Optional[str] = None,
|
|
112
114
|
timeout: Optional[float] = None,
|
|
115
|
+
max_retries: int = 3,
|
|
113
116
|
**kwargs,
|
|
114
117
|
) -> BaseModelBackend:
|
|
115
118
|
r"""Creates an instance of `BaseModelBackend` of the specified type.
|
|
@@ -134,6 +137,8 @@ class ModelFactory:
|
|
|
134
137
|
(default: :obj:`None`)
|
|
135
138
|
timeout (Optional[float], optional): The timeout value in seconds
|
|
136
139
|
for API calls. (default: :obj:`None`)
|
|
140
|
+
max_retries (int, optional): Maximum number of retries
|
|
141
|
+
for API calls. (default: :obj:`3`)
|
|
137
142
|
**kwargs: Additional model-specific parameters that will be passed
|
|
138
143
|
to the model constructor. For example, Azure OpenAI models may
|
|
139
144
|
require `api_version`, `azure_deployment_name`,
|
|
@@ -186,6 +191,7 @@ class ModelFactory:
|
|
|
186
191
|
url=url,
|
|
187
192
|
token_counter=token_counter,
|
|
188
193
|
timeout=timeout,
|
|
194
|
+
max_retries=max_retries,
|
|
189
195
|
**kwargs,
|
|
190
196
|
)
|
|
191
197
|
|