camel-ai 0.2.55__tar.gz → 0.2.57__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.55 → camel_ai-0.2.57}/PKG-INFO +1 -1
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/__init__.py +1 -1
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/agents/chat_agent.py +6 -2
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/gemini_model.py +10 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/mistral_model.py +35 -1
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/__init__.py +2 -0
- camel_ai-0.2.57/camel/toolkits/playwright_mcp_toolkit.py +69 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/types/enums.py +11 -1
- {camel_ai-0.2.55 → camel_ai-0.2.57}/pyproject.toml +1 -1
- {camel_ai-0.2.55 → camel_ai-0.2.57}/.gitignore +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/LICENSE +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/README.md +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/agents/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/agents/_types.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/agents/_utils.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/agents/base.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/agents/critic_agent.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/agents/deductive_reasoner_agent.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/agents/embodied_agent.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/agents/knowledge_graph_agent.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/agents/mcp_agent.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/agents/multi_hop_generator_agent.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/agents/programmed_agent_instruction.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/agents/repo_agent.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/agents/role_assignment_agent.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/agents/search_agent.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/agents/task_agent.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/agents/tool_agents/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/agents/tool_agents/base.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/agents/tool_agents/hugging_face_tool_agent.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/benchmarks/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/benchmarks/apibank.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/benchmarks/apibench.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/benchmarks/base.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/benchmarks/gaia.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/benchmarks/nexus.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/benchmarks/ragbench.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/bots/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/bots/discord/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/bots/discord/discord_app.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/bots/discord/discord_installation.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/bots/discord/discord_store.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/bots/slack/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/bots/slack/models.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/bots/slack/slack_app.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/bots/telegram_bot.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/configs/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/configs/aiml_config.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/configs/anthropic_config.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/configs/base_config.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/configs/bedrock_config.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/configs/cohere_config.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/configs/deepseek_config.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/configs/gemini_config.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/configs/groq_config.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/configs/internlm_config.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/configs/litellm_config.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/configs/lmstudio_config.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/configs/mistral_config.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/configs/modelscope_config.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/configs/moonshot_config.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/configs/netmind_config.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/configs/novita_config.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/configs/nvidia_config.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/configs/ollama_config.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/configs/openai_config.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/configs/openrouter_config.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/configs/ppio_config.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/configs/qwen_config.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/configs/reka_config.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/configs/samba_config.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/configs/sglang_config.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/configs/siliconflow_config.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/configs/togetherai_config.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/configs/vllm_config.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/configs/watsonx_config.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/configs/yi_config.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/configs/zhipuai_config.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/data_collector/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/data_collector/alpaca_collector.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/data_collector/base.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/data_collector/sharegpt_collector.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/datagen/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/datagen/cot_datagen.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/datagen/evol_instruct/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/datagen/evol_instruct/evol_instruct.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/datagen/evol_instruct/scorer.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/datagen/evol_instruct/templates.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/datagen/self_improving_cot.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/datagen/self_instruct/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/datagen/self_instruct/filter/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/datagen/self_instruct/filter/filter_function.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/datagen/self_instruct/filter/filter_registry.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/datagen/self_instruct/filter/instruction_filter.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/datagen/self_instruct/self_instruct.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/datagen/self_instruct/templates.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/datagen/source2synth/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/datagen/source2synth/data_processor.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/datagen/source2synth/models.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/datagen/source2synth/user_data_processor_config.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/datahubs/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/datahubs/base.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/datahubs/huggingface.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/datahubs/models.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/datasets/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/datasets/base_generator.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/datasets/few_shot_generator.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/datasets/models.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/datasets/self_instruct_generator.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/datasets/static_dataset.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/embeddings/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/embeddings/azure_embedding.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/embeddings/base.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/embeddings/gemini_embedding.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/embeddings/jina_embedding.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/embeddings/mistral_embedding.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/embeddings/openai_compatible_embedding.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/embeddings/openai_embedding.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/embeddings/sentence_transformers_embeddings.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/embeddings/together_embedding.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/embeddings/vlm_embedding.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/environments/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/environments/models.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/environments/multi_step.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/environments/single_step.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/environments/tic_tac_toe.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/extractors/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/extractors/base.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/extractors/python_strategies.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/generators.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/human.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/interpreters/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/interpreters/base.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/interpreters/docker/Dockerfile +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/interpreters/docker_interpreter.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/interpreters/e2b_interpreter.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/interpreters/internal_python_interpreter.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/interpreters/interpreter_error.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/interpreters/ipython_interpreter.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/interpreters/subprocess_interpreter.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/loaders/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/loaders/apify_reader.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/loaders/base_io.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/loaders/chunkr_reader.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/loaders/crawl4ai_reader.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/loaders/firecrawl_reader.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/loaders/jina_url_reader.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/loaders/mineru_extractor.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/loaders/pandas_reader.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/loaders/scrapegraph_reader.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/loaders/unstructured_io.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/logger.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/memories/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/memories/agent_memories.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/memories/base.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/memories/blocks/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/memories/blocks/chat_history_block.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/memories/blocks/vectordb_block.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/memories/context_creators/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/memories/context_creators/score_based.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/memories/records.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/messages/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/messages/base.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/messages/conversion/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/messages/conversion/alpaca.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/messages/conversion/conversation_models.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/messages/conversion/sharegpt/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/messages/conversion/sharegpt/function_call_formatter.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/messages/conversion/sharegpt/hermes/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/messages/conversion/sharegpt/hermes/hermes_function_formatter.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/messages/func_message.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/_utils.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/aiml_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/anthropic_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/aws_bedrock_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/azure_openai_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/base_audio_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/base_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/cohere_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/deepseek_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/fish_audio_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/groq_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/internlm_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/litellm_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/lmstudio_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/model_factory.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/model_manager.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/modelscope_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/moonshot_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/nemotron_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/netmind_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/novita_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/nvidia_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/ollama_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/openai_audio_models.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/openai_compatible_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/openai_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/openrouter_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/ppio_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/qwen_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/reka_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/reward/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/reward/base_reward_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/reward/evaluator.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/reward/nemotron_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/reward/skywork_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/samba_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/sglang_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/siliconflow_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/stub_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/togetherai_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/vllm_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/volcano_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/watsonx_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/yi_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/models/zhipuai_model.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/personas/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/personas/persona.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/personas/persona_hub.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/prompts/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/prompts/ai_society.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/prompts/base.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/prompts/code.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/prompts/evaluation.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/prompts/generate_text_embedding_data.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/prompts/image_craft.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/prompts/misalignment.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/prompts/multi_condition_image_craft.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/prompts/object_recognition.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/prompts/persona_hub.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/prompts/prompt_templates.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/prompts/role_description_prompt_template.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/prompts/solution_extraction.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/prompts/task_prompt_template.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/prompts/translation.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/prompts/video_description_prompt.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/py.typed +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/responses/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/responses/agent_responses.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/retrievers/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/retrievers/auto_retriever.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/retrievers/base.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/retrievers/bm25_retriever.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/retrievers/cohere_rerank_retriever.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/retrievers/hybrid_retrival.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/retrievers/vector_retriever.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/runtime/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/runtime/api.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/runtime/base.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/runtime/configs.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/runtime/daytona_runtime.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/runtime/docker_runtime.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/runtime/llm_guard_runtime.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/runtime/remote_http_runtime.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/runtime/ubuntu_docker_runtime.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/runtime/utils/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/runtime/utils/function_risk_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/runtime/utils/ignore_risk_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/schemas/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/schemas/base.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/schemas/openai_converter.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/schemas/outlines_converter.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/societies/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/societies/babyagi_playing.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/societies/role_playing.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/societies/workforce/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/societies/workforce/base.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/societies/workforce/prompts.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/societies/workforce/role_playing_worker.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/societies/workforce/single_agent_worker.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/societies/workforce/task_channel.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/societies/workforce/utils.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/societies/workforce/worker.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/societies/workforce/workforce.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/storages/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/storages/graph_storages/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/storages/graph_storages/base.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/storages/graph_storages/graph_element.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/storages/graph_storages/nebula_graph.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/storages/graph_storages/neo4j_graph.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/storages/key_value_storages/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/storages/key_value_storages/base.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/storages/key_value_storages/in_memory.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/storages/key_value_storages/json.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/storages/key_value_storages/mem0_cloud.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/storages/key_value_storages/redis.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/storages/object_storages/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/storages/object_storages/amazon_s3.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/storages/object_storages/azure_blob.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/storages/object_storages/base.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/storages/object_storages/google_cloud.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/storages/vectordb_storages/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/storages/vectordb_storages/base.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/storages/vectordb_storages/milvus.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/storages/vectordb_storages/oceanbase.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/storages/vectordb_storages/qdrant.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/storages/vectordb_storages/tidb.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/tasks/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/tasks/task.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/tasks/task_prompt.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/terminators/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/terminators/base.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/terminators/response_terminator.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/terminators/token_limit_terminator.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/aci_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/arxiv_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/ask_news_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/audio_analysis_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/base.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/browser_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/code_execution.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/dalle_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/dappier_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/data_commons_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/excel_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/file_write_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/function_tool.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/github_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/google_calendar_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/google_maps_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/google_scholar_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/human_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/image_analysis_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/jina_reranker_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/klavis_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/linkedin_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/math_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/mcp_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/memory_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/meshy_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/mineru_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/networkx_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/notion_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/open_api_specs/biztoc/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/open_api_specs/biztoc/ai-plugin.json +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/open_api_specs/biztoc/openapi.yaml +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/open_api_specs/coursera/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/open_api_specs/coursera/openapi.yaml +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/open_api_specs/create_qr_code/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/open_api_specs/create_qr_code/openapi.yaml +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/open_api_specs/klarna/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/open_api_specs/klarna/openapi.yaml +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/open_api_specs/nasa_apod/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/open_api_specs/nasa_apod/openapi.yaml +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/open_api_specs/outschool/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/open_api_specs/outschool/ai-plugin.json +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/open_api_specs/outschool/openapi.yaml +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/open_api_specs/outschool/paths/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/open_api_specs/outschool/paths/get_classes.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/open_api_specs/outschool/paths/search_teachers.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/open_api_specs/security_config.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/open_api_specs/speak/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/open_api_specs/speak/openapi.yaml +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/open_api_specs/web_scraper/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/open_api_specs/web_scraper/ai-plugin.json +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/open_api_specs/web_scraper/openapi.yaml +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/open_api_specs/web_scraper/paths/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/open_api_specs/web_scraper/paths/scraper.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/open_api_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/openai_agent_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/openbb_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/page_script.js +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/pubmed_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/pulse_mcp_search_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/pyautogui_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/reddit_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/retrieval_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/search_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/searxng_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/semantic_scholar_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/slack_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/stripe_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/sympy_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/terminal_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/thinking_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/twitter_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/video_analysis_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/video_download_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/weather_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/whatsapp_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/toolkits/zapier_toolkit.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/types/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/types/agents/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/types/agents/tool_calling_record.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/types/openai_types.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/types/unified_model_type.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/utils/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/utils/async_func.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/utils/chunker/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/utils/chunker/base.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/utils/chunker/code_chunker.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/utils/chunker/uio_chunker.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/utils/commons.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/utils/constants.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/utils/deduplication.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/utils/filename.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/utils/mcp.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/utils/response_format.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/utils/token_counting.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/verifiers/__init__.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/verifiers/base.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/verifiers/math_verifier.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/verifiers/models.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/verifiers/physics_verifier.py +0 -0
- {camel_ai-0.2.55 → camel_ai-0.2.57}/camel/verifiers/python_verifier.py +0 -0
|
@@ -1311,7 +1311,9 @@ class ChatAgent(BaseAgent):
|
|
|
1311
1311
|
response_id: str = ""
|
|
1312
1312
|
# All choices in one response share one role
|
|
1313
1313
|
for chunk in response:
|
|
1314
|
-
|
|
1314
|
+
# Some model platforms like siliconflow may return None for the
|
|
1315
|
+
# chunk.id
|
|
1316
|
+
response_id = chunk.id if chunk.id else str(uuid.uuid4())
|
|
1315
1317
|
self._handle_chunk(
|
|
1316
1318
|
chunk, content_dict, finish_reasons_dict, output_messages
|
|
1317
1319
|
)
|
|
@@ -1351,7 +1353,9 @@ class ChatAgent(BaseAgent):
|
|
|
1351
1353
|
response_id: str = ""
|
|
1352
1354
|
# All choices in one response share one role
|
|
1353
1355
|
async for chunk in response:
|
|
1354
|
-
|
|
1356
|
+
# Some model platforms like siliconflow may return None for the
|
|
1357
|
+
# chunk.id
|
|
1358
|
+
response_id = chunk.id if chunk.id else str(uuid.uuid4())
|
|
1355
1359
|
self._handle_chunk(
|
|
1356
1360
|
chunk, content_dict, finish_reasons_dict, output_messages
|
|
1357
1361
|
)
|
|
@@ -125,6 +125,11 @@ class GeminiModel(OpenAICompatibleModel):
|
|
|
125
125
|
)
|
|
126
126
|
messages = self._process_messages(messages)
|
|
127
127
|
if response_format:
|
|
128
|
+
if tools:
|
|
129
|
+
raise ValueError(
|
|
130
|
+
"Gemini does not support function calling with "
|
|
131
|
+
"response format."
|
|
132
|
+
)
|
|
128
133
|
return self._request_parse(messages, response_format)
|
|
129
134
|
else:
|
|
130
135
|
return self._request_chat_completion(messages, tools)
|
|
@@ -155,6 +160,11 @@ class GeminiModel(OpenAICompatibleModel):
|
|
|
155
160
|
)
|
|
156
161
|
messages = self._process_messages(messages)
|
|
157
162
|
if response_format:
|
|
163
|
+
if tools:
|
|
164
|
+
raise ValueError(
|
|
165
|
+
"Gemini does not support function calling with "
|
|
166
|
+
"response format."
|
|
167
|
+
)
|
|
158
168
|
return await self._arequest_parse(messages, response_format)
|
|
159
169
|
else:
|
|
160
170
|
return await self._arequest_chat_completion(messages, tools)
|
|
@@ -25,6 +25,7 @@ if TYPE_CHECKING:
|
|
|
25
25
|
from openai import AsyncStream
|
|
26
26
|
|
|
27
27
|
from camel.configs import MISTRAL_API_PARAMS, MistralConfig
|
|
28
|
+
from camel.logger import get_logger
|
|
28
29
|
from camel.messages import OpenAIMessage
|
|
29
30
|
from camel.models import BaseModelBackend
|
|
30
31
|
from camel.models._utils import try_modify_message_with_format
|
|
@@ -36,6 +37,8 @@ from camel.utils import (
|
|
|
36
37
|
dependencies_required,
|
|
37
38
|
)
|
|
38
39
|
|
|
40
|
+
logger = get_logger(__name__)
|
|
41
|
+
|
|
39
42
|
try:
|
|
40
43
|
if os.getenv("AGENTOPS_API_KEY") is not None:
|
|
41
44
|
from agentops import LLMEvent, record
|
|
@@ -235,7 +238,38 @@ class MistralModel(BaseModelBackend):
|
|
|
235
238
|
response_format: Optional[Type[BaseModel]] = None,
|
|
236
239
|
tools: Optional[List[Dict[str, Any]]] = None,
|
|
237
240
|
) -> Union[ChatCompletion, AsyncStream[ChatCompletionChunk]]:
|
|
238
|
-
|
|
241
|
+
logger.warning(
|
|
242
|
+
"Mistral does not support async inference, using sync "
|
|
243
|
+
"inference instead."
|
|
244
|
+
)
|
|
245
|
+
request_config = self._prepare_request(
|
|
246
|
+
messages, response_format, tools
|
|
247
|
+
)
|
|
248
|
+
mistral_messages = self._to_mistral_chatmessage(messages)
|
|
249
|
+
|
|
250
|
+
response = self._client.chat.complete(
|
|
251
|
+
messages=mistral_messages,
|
|
252
|
+
model=self.model_type,
|
|
253
|
+
**request_config,
|
|
254
|
+
)
|
|
255
|
+
|
|
256
|
+
openai_response = self._to_openai_response(response) # type: ignore[arg-type]
|
|
257
|
+
|
|
258
|
+
# Add AgentOps LLM Event tracking
|
|
259
|
+
if LLMEvent:
|
|
260
|
+
llm_event = LLMEvent(
|
|
261
|
+
thread_id=openai_response.id,
|
|
262
|
+
prompt=" ".join(
|
|
263
|
+
[message.get("content") for message in messages] # type: ignore[misc]
|
|
264
|
+
),
|
|
265
|
+
prompt_tokens=openai_response.usage.prompt_tokens, # type: ignore[union-attr]
|
|
266
|
+
completion=openai_response.choices[0].message.content,
|
|
267
|
+
completion_tokens=openai_response.usage.completion_tokens, # type: ignore[union-attr]
|
|
268
|
+
model=self.model_type,
|
|
269
|
+
)
|
|
270
|
+
record(llm_event)
|
|
271
|
+
|
|
272
|
+
return openai_response
|
|
239
273
|
|
|
240
274
|
def _run(
|
|
241
275
|
self,
|
|
@@ -71,6 +71,7 @@ from .jina_reranker_toolkit import JinaRerankerToolkit
|
|
|
71
71
|
from .pulse_mcp_search_toolkit import PulseMCPSearchToolkit
|
|
72
72
|
from .klavis_toolkit import KlavisToolkit
|
|
73
73
|
from .aci_toolkit import ACIToolkit
|
|
74
|
+
from .playwright_mcp_toolkit import PlaywrightMCPToolkit
|
|
74
75
|
|
|
75
76
|
|
|
76
77
|
__all__ = [
|
|
@@ -130,4 +131,5 @@ __all__ = [
|
|
|
130
131
|
'PulseMCPSearchToolkit',
|
|
131
132
|
'KlavisToolkit',
|
|
132
133
|
'ACIToolkit',
|
|
134
|
+
'PlaywrightMCPToolkit',
|
|
133
135
|
]
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# ========= Copyright 2023-2024 @ CAMEL-AI.org. All Rights Reserved. =========
|
|
2
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
|
+
# you may not use this file except in compliance with the License.
|
|
4
|
+
# You may obtain a copy of the License at
|
|
5
|
+
#
|
|
6
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
7
|
+
#
|
|
8
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
9
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
10
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
+
# See the License for the specific language governing permissions and
|
|
12
|
+
# limitations under the License.
|
|
13
|
+
# ========= Copyright 2023-2024 @ CAMEL-AI.org. All Rights Reserved. =========
|
|
14
|
+
|
|
15
|
+
from typing import List, Optional
|
|
16
|
+
|
|
17
|
+
from camel.toolkits import BaseToolkit, FunctionTool
|
|
18
|
+
|
|
19
|
+
from .mcp_toolkit import MCPToolkit
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class PlaywrightMCPToolkit(BaseToolkit):
|
|
23
|
+
r"""PlaywrightMCPToolkit provides an interface for interacting with web
|
|
24
|
+
browsers using the Playwright automation library through the Model Context
|
|
25
|
+
Protocol (MCP).
|
|
26
|
+
|
|
27
|
+
Attributes:
|
|
28
|
+
timeout (Optional[float]): Connection timeout in seconds.
|
|
29
|
+
(default: :obj:`None`)
|
|
30
|
+
|
|
31
|
+
Note:
|
|
32
|
+
Currently only supports asynchronous operation mode.
|
|
33
|
+
"""
|
|
34
|
+
|
|
35
|
+
def __init__(self, timeout: Optional[float] = None) -> None:
|
|
36
|
+
r"""Initializes the PlaywrightMCPToolkit with the specified timeout.
|
|
37
|
+
|
|
38
|
+
Args:
|
|
39
|
+
timeout (Optional[float]): Connection timeout in seconds.
|
|
40
|
+
(default: :obj:`None`)
|
|
41
|
+
"""
|
|
42
|
+
super().__init__(timeout=timeout)
|
|
43
|
+
|
|
44
|
+
self._mcp_toolkit = MCPToolkit(
|
|
45
|
+
config_dict={
|
|
46
|
+
"mcpServers": {
|
|
47
|
+
"playwright": {
|
|
48
|
+
"command": "npx",
|
|
49
|
+
"args": ["@playwright/mcp@latest"],
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
async def connect(self):
|
|
56
|
+
r"""Explicitly connect to the Playwright MCP server."""
|
|
57
|
+
await self._mcp_toolkit.connect()
|
|
58
|
+
|
|
59
|
+
async def disconnect(self):
|
|
60
|
+
r"""Explicitly disconnect from the Playwright MCP server."""
|
|
61
|
+
await self._mcp_toolkit.disconnect()
|
|
62
|
+
|
|
63
|
+
def get_tools(self) -> List[FunctionTool]:
|
|
64
|
+
r"""Returns a list of tools provided by the PlaywrightMCPToolkit.
|
|
65
|
+
|
|
66
|
+
Returns:
|
|
67
|
+
List[FunctionTool]: List of available tools.
|
|
68
|
+
"""
|
|
69
|
+
return self._mcp_toolkit.get_tools()
|
|
@@ -15,8 +15,11 @@ import os
|
|
|
15
15
|
from enum import Enum, EnumMeta
|
|
16
16
|
from typing import cast
|
|
17
17
|
|
|
18
|
+
from camel.logger import get_logger
|
|
18
19
|
from camel.types.unified_model_type import UnifiedModelType
|
|
19
20
|
|
|
21
|
+
logger = get_logger(__name__)
|
|
22
|
+
|
|
20
23
|
|
|
21
24
|
class RoleType(Enum):
|
|
22
25
|
ASSISTANT = "assistant"
|
|
@@ -196,6 +199,7 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
196
199
|
MISTRAL_MIXTRAL_8x22B = "open-mixtral-8x22b"
|
|
197
200
|
MISTRAL_NEMO = "open-mistral-nemo"
|
|
198
201
|
MISTRAL_PIXTRAL_12B = "pixtral-12b-2409"
|
|
202
|
+
MISTRAL_MEDIUM_3 = "mistral-medium-latest"
|
|
199
203
|
|
|
200
204
|
# Reka models
|
|
201
205
|
REKA_CORE = "reka-core"
|
|
@@ -596,6 +600,7 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
596
600
|
ModelType.MISTRAL_PIXTRAL_12B,
|
|
597
601
|
ModelType.MISTRAL_8B,
|
|
598
602
|
ModelType.MISTRAL_3B,
|
|
603
|
+
ModelType.MISTRAL_MEDIUM_3,
|
|
599
604
|
}
|
|
600
605
|
|
|
601
606
|
@property
|
|
@@ -1104,6 +1109,7 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
1104
1109
|
ModelType.NETMIND_DEEPSEEK_R1,
|
|
1105
1110
|
ModelType.NETMIND_DEEPSEEK_V3,
|
|
1106
1111
|
ModelType.NOVITA_DEEPSEEK_V3_0324,
|
|
1112
|
+
ModelType.MISTRAL_MEDIUM_3,
|
|
1107
1113
|
}:
|
|
1108
1114
|
return 128_000
|
|
1109
1115
|
elif self in {
|
|
@@ -1197,7 +1203,11 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
1197
1203
|
}:
|
|
1198
1204
|
return 10_000_000
|
|
1199
1205
|
else:
|
|
1200
|
-
|
|
1206
|
+
logger.warning(
|
|
1207
|
+
f"Unknown model type {self}, set maximum token limit "
|
|
1208
|
+
f"to 999_999_999"
|
|
1209
|
+
)
|
|
1210
|
+
return 999_999_999
|
|
1201
1211
|
|
|
1202
1212
|
|
|
1203
1213
|
class EmbeddingModelType(Enum):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{camel_ai-0.2.55 → camel_ai-0.2.57}/camel/datagen/self_instruct/filter/instruction_filter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{camel_ai-0.2.55 → camel_ai-0.2.57}/camel/datagen/source2synth/user_data_processor_config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|