camel-ai 0.2.58__tar.gz → 0.2.60__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.58 → camel_ai-0.2.60}/PKG-INFO +7 -9
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/__init__.py +1 -1
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/agents/chat_agent.py +126 -9
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/agents/critic_agent.py +73 -8
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/benchmarks/__init__.py +2 -0
- camel_ai-0.2.60/camel/benchmarks/browsecomp.py +854 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/configs/cohere_config.py +1 -1
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/configs/mistral_config.py +1 -1
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/configs/openai_config.py +3 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/configs/reka_config.py +1 -1
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/configs/samba_config.py +2 -2
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/datagen/cot_datagen.py +29 -34
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/embeddings/jina_embedding.py +8 -1
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/embeddings/sentence_transformers_embeddings.py +2 -2
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/embeddings/vlm_embedding.py +9 -2
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/human.py +14 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/memories/records.py +3 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/messages/base.py +15 -3
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/azure_openai_model.py +1 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/model_factory.py +2 -2
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/retrievers/bm25_retriever.py +1 -2
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/retrievers/hybrid_retrival.py +2 -2
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/societies/role_playing.py +50 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/societies/workforce/role_playing_worker.py +17 -8
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/societies/workforce/workforce.py +70 -14
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/storages/vectordb_storages/oceanbase.py +1 -2
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/async_browser_toolkit.py +5 -1
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/base.py +4 -2
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/browser_toolkit.py +6 -3
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/dalle_toolkit.py +4 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/excel_toolkit.py +11 -3
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/github_toolkit.py +43 -25
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/image_analysis_toolkit.py +3 -0
- camel_ai-0.2.60/camel/toolkits/jina_reranker_toolkit.py +348 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/mcp_toolkit.py +60 -16
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/page_script.js +40 -28
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/twitter_toolkit.py +6 -1
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/video_analysis_toolkit.py +3 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/video_download_toolkit.py +3 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/wolfram_alpha_toolkit.py +46 -22
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/types/enums.py +14 -5
- {camel_ai-0.2.58 → camel_ai-0.2.60}/pyproject.toml +8 -10
- camel_ai-0.2.58/camel/toolkits/jina_reranker_toolkit.py +0 -231
- {camel_ai-0.2.58 → camel_ai-0.2.60}/.gitignore +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/LICENSE +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/README.md +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/agents/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/agents/_types.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/agents/_utils.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/agents/base.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/agents/deductive_reasoner_agent.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/agents/embodied_agent.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/agents/knowledge_graph_agent.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/agents/mcp_agent.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/agents/multi_hop_generator_agent.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/agents/programmed_agent_instruction.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/agents/repo_agent.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/agents/role_assignment_agent.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/agents/search_agent.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/agents/task_agent.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/agents/tool_agents/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/agents/tool_agents/base.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/agents/tool_agents/hugging_face_tool_agent.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/benchmarks/apibank.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/benchmarks/apibench.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/benchmarks/base.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/benchmarks/gaia.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/benchmarks/nexus.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/benchmarks/ragbench.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/bots/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/bots/discord/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/bots/discord/discord_app.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/bots/discord/discord_installation.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/bots/discord/discord_store.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/bots/slack/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/bots/slack/models.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/bots/slack/slack_app.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/bots/telegram_bot.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/configs/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/configs/aiml_config.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/configs/anthropic_config.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/configs/base_config.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/configs/bedrock_config.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/configs/deepseek_config.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/configs/gemini_config.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/configs/groq_config.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/configs/internlm_config.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/configs/litellm_config.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/configs/lmstudio_config.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/configs/modelscope_config.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/configs/moonshot_config.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/configs/netmind_config.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/configs/novita_config.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/configs/nvidia_config.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/configs/ollama_config.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/configs/openrouter_config.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/configs/ppio_config.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/configs/qwen_config.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/configs/sglang_config.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/configs/siliconflow_config.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/configs/togetherai_config.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/configs/vllm_config.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/configs/watsonx_config.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/configs/yi_config.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/configs/zhipuai_config.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/data_collector/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/data_collector/alpaca_collector.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/data_collector/base.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/data_collector/sharegpt_collector.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/datagen/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/datagen/evol_instruct/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/datagen/evol_instruct/evol_instruct.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/datagen/evol_instruct/scorer.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/datagen/evol_instruct/templates.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/datagen/self_improving_cot.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/datagen/self_instruct/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/datagen/self_instruct/filter/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/datagen/self_instruct/filter/filter_function.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/datagen/self_instruct/filter/filter_registry.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/datagen/self_instruct/filter/instruction_filter.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/datagen/self_instruct/self_instruct.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/datagen/self_instruct/templates.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/datagen/source2synth/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/datagen/source2synth/data_processor.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/datagen/source2synth/models.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/datagen/source2synth/user_data_processor_config.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/datahubs/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/datahubs/base.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/datahubs/huggingface.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/datahubs/models.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/datasets/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/datasets/base_generator.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/datasets/few_shot_generator.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/datasets/models.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/datasets/self_instruct_generator.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/datasets/static_dataset.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/embeddings/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/embeddings/azure_embedding.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/embeddings/base.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/embeddings/gemini_embedding.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/embeddings/mistral_embedding.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/embeddings/openai_compatible_embedding.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/embeddings/openai_embedding.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/embeddings/together_embedding.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/environments/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/environments/models.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/environments/multi_step.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/environments/single_step.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/environments/tic_tac_toe.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/extractors/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/extractors/base.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/extractors/python_strategies.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/generators.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/interpreters/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/interpreters/base.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/interpreters/docker/Dockerfile +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/interpreters/docker_interpreter.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/interpreters/e2b_interpreter.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/interpreters/internal_python_interpreter.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/interpreters/interpreter_error.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/interpreters/ipython_interpreter.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/interpreters/subprocess_interpreter.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/loaders/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/loaders/apify_reader.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/loaders/base_io.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/loaders/chunkr_reader.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/loaders/crawl4ai_reader.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/loaders/firecrawl_reader.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/loaders/jina_url_reader.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/loaders/markitdown.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/loaders/mineru_extractor.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/loaders/pandas_reader.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/loaders/scrapegraph_reader.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/loaders/unstructured_io.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/logger.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/memories/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/memories/agent_memories.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/memories/base.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/memories/blocks/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/memories/blocks/chat_history_block.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/memories/blocks/vectordb_block.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/memories/context_creators/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/memories/context_creators/score_based.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/messages/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/messages/conversion/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/messages/conversion/alpaca.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/messages/conversion/conversation_models.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/messages/conversion/sharegpt/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/messages/conversion/sharegpt/function_call_formatter.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/messages/conversion/sharegpt/hermes/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/messages/conversion/sharegpt/hermes/hermes_function_formatter.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/messages/func_message.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/_utils.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/aiml_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/anthropic_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/aws_bedrock_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/base_audio_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/base_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/cohere_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/deepseek_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/fish_audio_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/gemini_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/groq_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/internlm_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/litellm_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/lmstudio_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/mistral_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/model_manager.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/modelscope_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/moonshot_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/nemotron_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/netmind_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/novita_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/nvidia_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/ollama_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/openai_audio_models.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/openai_compatible_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/openai_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/openrouter_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/ppio_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/qwen_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/reka_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/reward/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/reward/base_reward_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/reward/evaluator.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/reward/nemotron_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/reward/skywork_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/samba_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/sglang_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/siliconflow_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/stub_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/togetherai_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/vllm_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/volcano_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/watsonx_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/yi_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/models/zhipuai_model.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/personas/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/personas/persona.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/personas/persona_hub.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/prompts/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/prompts/ai_society.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/prompts/base.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/prompts/code.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/prompts/evaluation.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/prompts/generate_text_embedding_data.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/prompts/image_craft.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/prompts/misalignment.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/prompts/multi_condition_image_craft.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/prompts/object_recognition.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/prompts/persona_hub.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/prompts/prompt_templates.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/prompts/role_description_prompt_template.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/prompts/solution_extraction.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/prompts/task_prompt_template.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/prompts/translation.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/prompts/video_description_prompt.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/py.typed +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/responses/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/responses/agent_responses.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/retrievers/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/retrievers/auto_retriever.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/retrievers/base.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/retrievers/cohere_rerank_retriever.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/retrievers/vector_retriever.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/runtime/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/runtime/api.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/runtime/base.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/runtime/configs.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/runtime/daytona_runtime.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/runtime/docker_runtime.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/runtime/llm_guard_runtime.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/runtime/remote_http_runtime.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/runtime/ubuntu_docker_runtime.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/runtime/utils/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/runtime/utils/function_risk_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/runtime/utils/ignore_risk_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/schemas/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/schemas/base.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/schemas/openai_converter.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/schemas/outlines_converter.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/societies/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/societies/babyagi_playing.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/societies/workforce/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/societies/workforce/base.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/societies/workforce/prompts.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/societies/workforce/single_agent_worker.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/societies/workforce/task_channel.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/societies/workforce/utils.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/societies/workforce/worker.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/storages/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/storages/graph_storages/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/storages/graph_storages/base.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/storages/graph_storages/graph_element.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/storages/graph_storages/nebula_graph.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/storages/graph_storages/neo4j_graph.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/storages/key_value_storages/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/storages/key_value_storages/base.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/storages/key_value_storages/in_memory.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/storages/key_value_storages/json.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/storages/key_value_storages/mem0_cloud.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/storages/key_value_storages/redis.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/storages/object_storages/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/storages/object_storages/amazon_s3.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/storages/object_storages/azure_blob.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/storages/object_storages/base.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/storages/object_storages/google_cloud.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/storages/vectordb_storages/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/storages/vectordb_storages/base.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/storages/vectordb_storages/milvus.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/storages/vectordb_storages/qdrant.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/storages/vectordb_storages/tidb.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/tasks/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/tasks/task.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/tasks/task_prompt.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/terminators/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/terminators/base.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/terminators/response_terminator.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/terminators/token_limit_terminator.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/aci_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/arxiv_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/ask_news_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/audio_analysis_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/code_execution.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/dappier_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/data_commons_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/file_write_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/function_tool.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/google_calendar_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/google_maps_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/google_scholar_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/human_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/klavis_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/linkedin_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/math_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/memory_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/meshy_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/mineru_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/networkx_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/notion_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/open_api_specs/biztoc/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/open_api_specs/biztoc/ai-plugin.json +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/open_api_specs/biztoc/openapi.yaml +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/open_api_specs/coursera/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/open_api_specs/coursera/openapi.yaml +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/open_api_specs/create_qr_code/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/open_api_specs/create_qr_code/openapi.yaml +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/open_api_specs/klarna/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/open_api_specs/klarna/openapi.yaml +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/open_api_specs/nasa_apod/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/open_api_specs/nasa_apod/openapi.yaml +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/open_api_specs/outschool/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/open_api_specs/outschool/ai-plugin.json +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/open_api_specs/outschool/openapi.yaml +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/open_api_specs/outschool/paths/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/open_api_specs/outschool/paths/get_classes.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/open_api_specs/outschool/paths/search_teachers.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/open_api_specs/security_config.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/open_api_specs/speak/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/open_api_specs/speak/openapi.yaml +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/open_api_specs/web_scraper/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/open_api_specs/web_scraper/ai-plugin.json +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/open_api_specs/web_scraper/openapi.yaml +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/open_api_specs/web_scraper/paths/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/open_api_specs/web_scraper/paths/scraper.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/open_api_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/openai_agent_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/openbb_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/playwright_mcp_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/pubmed_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/pulse_mcp_search_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/pyautogui_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/reddit_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/retrieval_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/search_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/searxng_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/semantic_scholar_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/slack_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/stripe_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/sympy_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/terminal_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/thinking_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/weather_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/whatsapp_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/toolkits/zapier_toolkit.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/types/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/types/agents/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/types/agents/tool_calling_record.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/types/mcp_registries.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/types/openai_types.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/types/unified_model_type.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/utils/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/utils/async_func.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/utils/chunker/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/utils/chunker/base.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/utils/chunker/code_chunker.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/utils/chunker/uio_chunker.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/utils/commons.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/utils/constants.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/utils/deduplication.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/utils/filename.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/utils/mcp.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/utils/response_format.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/utils/token_counting.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/verifiers/__init__.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/verifiers/base.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/verifiers/math_verifier.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/verifiers/models.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/camel/verifiers/physics_verifier.py +0 -0
- {camel_ai-0.2.58 → camel_ai-0.2.60}/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.60
|
|
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
|
|
@@ -16,6 +16,7 @@ Requires-Dist: httpx<1.0.0dev,>=0.28.0
|
|
|
16
16
|
Requires-Dist: jsonschema<5,>=4
|
|
17
17
|
Requires-Dist: mcp>=1.3.0
|
|
18
18
|
Requires-Dist: openai<2,>=1.68.0
|
|
19
|
+
Requires-Dist: pillow<11.0.0,>=10.1.0
|
|
19
20
|
Requires-Dist: psutil<6,>=5.9.8
|
|
20
21
|
Requires-Dist: pydantic>=2.10.6
|
|
21
22
|
Requires-Dist: tiktoken<0.8,>=0.7.0
|
|
@@ -77,14 +78,13 @@ Requires-Dist: neo4j<6,>=5.18.0; extra == 'all'
|
|
|
77
78
|
Requires-Dist: networkx<4,>=3.4.2; extra == 'all'
|
|
78
79
|
Requires-Dist: newspaper3k<0.3,>=0.2.8; extra == 'all'
|
|
79
80
|
Requires-Dist: notion-client<3,>=2.2.1; extra == 'all'
|
|
80
|
-
Requires-Dist: numpy
|
|
81
|
+
Requires-Dist: numpy<=2.2,>=1.2; extra == 'all'
|
|
81
82
|
Requires-Dist: openapi-spec-validator<0.8,>=0.7.1; extra == 'all'
|
|
82
83
|
Requires-Dist: opencv-python<5,>=4; extra == 'all'
|
|
83
84
|
Requires-Dist: openpyxl>=3.1.5; extra == 'all'
|
|
84
85
|
Requires-Dist: outlines<0.2,>=0.1.7; extra == 'all'
|
|
85
86
|
Requires-Dist: pandas<2,>=1.5.3; extra == 'all'
|
|
86
87
|
Requires-Dist: pandasai<3,>=2.3.0; extra == 'all'
|
|
87
|
-
Requires-Dist: pillow<11.0.0,>=10.1.0; extra == 'all'
|
|
88
88
|
Requires-Dist: playwright>=1.50.0; extra == 'all'
|
|
89
89
|
Requires-Dist: prance<24,>=23.6.21.0; extra == 'all'
|
|
90
90
|
Requires-Dist: praw<8,>=7.7.1; extra == 'all'
|
|
@@ -150,7 +150,7 @@ Requires-Dist: datacommons-pandas<0.0.4,>=0.0.3; extra == 'data-tools'
|
|
|
150
150
|
Requires-Dist: datacommons<2,>=1.4.3; extra == 'data-tools'
|
|
151
151
|
Requires-Dist: math-verify<0.8,>=0.7.0; extra == 'data-tools'
|
|
152
152
|
Requires-Dist: networkx<4,>=3.4.2; extra == 'data-tools'
|
|
153
|
-
Requires-Dist: numpy
|
|
153
|
+
Requires-Dist: numpy<=2.2,>=1.2; extra == 'data-tools'
|
|
154
154
|
Requires-Dist: pandas<2,>=1.5.3; extra == 'data-tools'
|
|
155
155
|
Requires-Dist: rouge<2,>=1.0.1; extra == 'data-tools'
|
|
156
156
|
Requires-Dist: stripe<12,>=11.3.0; extra == 'data-tools'
|
|
@@ -198,7 +198,7 @@ Requires-Dist: docx2txt<0.9,>=0.8; extra == 'document-tools'
|
|
|
198
198
|
Requires-Dist: docx>=0.2.4; extra == 'document-tools'
|
|
199
199
|
Requires-Dist: fpdf>=1.7.2; extra == 'document-tools'
|
|
200
200
|
Requires-Dist: markitdown==0.1.1; extra == 'document-tools'
|
|
201
|
-
Requires-Dist: numpy
|
|
201
|
+
Requires-Dist: numpy<=2.2,>=1.2; extra == 'document-tools'
|
|
202
202
|
Requires-Dist: openapi-spec-validator<0.8,>=0.7.1; extra == 'document-tools'
|
|
203
203
|
Requires-Dist: openpyxl>=3.1.5; extra == 'document-tools'
|
|
204
204
|
Requires-Dist: pandasai<3,>=2.3.0; extra == 'document-tools'
|
|
@@ -219,7 +219,6 @@ Requires-Dist: transformers<5,>=4; extra == 'huggingface'
|
|
|
219
219
|
Provides-Extra: media-tools
|
|
220
220
|
Requires-Dist: ffmpeg-python<0.3,>=0.2.0; extra == 'media-tools'
|
|
221
221
|
Requires-Dist: imageio[pyav]<3,>=2.34.2; extra == 'media-tools'
|
|
222
|
-
Requires-Dist: pillow<11.0.0,>=10.1.0; extra == 'media-tools'
|
|
223
222
|
Requires-Dist: pydub<0.26,>=0.25.1; extra == 'media-tools'
|
|
224
223
|
Requires-Dist: scenedetect>=0.6.5.2; extra == 'media-tools'
|
|
225
224
|
Requires-Dist: yt-dlp<2025,>=2024.11.4; extra == 'media-tools'
|
|
@@ -249,14 +248,13 @@ Requires-Dist: imageio[pyav]<3,>=2.34.2; extra == 'owl'
|
|
|
249
248
|
Requires-Dist: mcp-server-fetch==2025.1.17; extra == 'owl'
|
|
250
249
|
Requires-Dist: mcp-simple-arxiv==0.2.2; extra == 'owl'
|
|
251
250
|
Requires-Dist: newspaper3k<0.3,>=0.2.8; extra == 'owl'
|
|
252
|
-
Requires-Dist: numpy
|
|
251
|
+
Requires-Dist: numpy<=2.2,>=1.2; extra == 'owl'
|
|
253
252
|
Requires-Dist: openapi-spec-validator<0.8,>=0.7.1; extra == 'owl'
|
|
254
253
|
Requires-Dist: opencv-python<5,>=4; extra == 'owl'
|
|
255
254
|
Requires-Dist: openpyxl>=3.1.5; extra == 'owl'
|
|
256
255
|
Requires-Dist: outlines<0.2,>=0.1.7; extra == 'owl'
|
|
257
256
|
Requires-Dist: pandas<2,>=1.5.3; extra == 'owl'
|
|
258
257
|
Requires-Dist: pandasai<3,>=2.3.0; extra == 'owl'
|
|
259
|
-
Requires-Dist: pillow<11.0.0,>=10.1.0; extra == 'owl'
|
|
260
258
|
Requires-Dist: playwright>=1.50.0; extra == 'owl'
|
|
261
259
|
Requires-Dist: prance<24,>=23.6.21.0; extra == 'owl'
|
|
262
260
|
Requires-Dist: pyautogui<0.10,>=0.9.54; extra == 'owl'
|
|
@@ -284,7 +282,7 @@ Requires-Dist: crawl4ai>=0.3.745; extra == 'rag'
|
|
|
284
282
|
Requires-Dist: google-genai>=1.13.0; extra == 'rag'
|
|
285
283
|
Requires-Dist: nebula3-python==3.8.2; extra == 'rag'
|
|
286
284
|
Requires-Dist: neo4j<6,>=5.18.0; extra == 'rag'
|
|
287
|
-
Requires-Dist: numpy
|
|
285
|
+
Requires-Dist: numpy<=2.2,>=1.2; extra == 'rag'
|
|
288
286
|
Requires-Dist: pandasai<3,>=2.3.0; extra == 'rag'
|
|
289
287
|
Requires-Dist: pymilvus<3,>=2.4.0; extra == 'rag'
|
|
290
288
|
Requires-Dist: pyobvector>=0.1.18; extra == 'rag'
|
|
@@ -758,9 +758,17 @@ class ChatAgent(BaseAgent):
|
|
|
758
758
|
tool_call_records: List[ToolCallingRecord] = []
|
|
759
759
|
external_tool_call_requests: Optional[List[ToolCallRequest]] = None
|
|
760
760
|
|
|
761
|
+
accumulated_context_tokens = (
|
|
762
|
+
0 # This tracks cumulative context tokens, not API usage tokens
|
|
763
|
+
)
|
|
764
|
+
|
|
765
|
+
# Initialize token usage tracker
|
|
766
|
+
step_token_usage = self._create_token_usage_tracker()
|
|
767
|
+
|
|
761
768
|
while True:
|
|
762
769
|
try:
|
|
763
770
|
openai_messages, num_tokens = self.memory.get_context()
|
|
771
|
+
accumulated_context_tokens += num_tokens
|
|
764
772
|
except RuntimeError as e:
|
|
765
773
|
return self._step_terminate(
|
|
766
774
|
e.args[1], tool_call_records, "max_tokens_exceeded"
|
|
@@ -768,16 +776,23 @@ class ChatAgent(BaseAgent):
|
|
|
768
776
|
# Get response from model backend
|
|
769
777
|
response = self._get_model_response(
|
|
770
778
|
openai_messages,
|
|
771
|
-
|
|
779
|
+
accumulated_context_tokens, # Cumulative context tokens
|
|
772
780
|
response_format,
|
|
773
781
|
self._get_full_tool_schemas(),
|
|
774
782
|
)
|
|
775
783
|
|
|
784
|
+
# Accumulate API token usage
|
|
785
|
+
self._update_token_usage_tracker(
|
|
786
|
+
step_token_usage, response.usage_dict
|
|
787
|
+
)
|
|
788
|
+
|
|
776
789
|
# Terminate Agent if stop_event is set
|
|
777
790
|
if self.stop_event and self.stop_event.is_set():
|
|
778
791
|
# Use the _step_terminate to terminate the agent with reason
|
|
779
792
|
return self._step_terminate(
|
|
780
|
-
|
|
793
|
+
accumulated_context_tokens,
|
|
794
|
+
tool_call_records,
|
|
795
|
+
"termination_triggered",
|
|
781
796
|
)
|
|
782
797
|
|
|
783
798
|
if tool_call_requests := response.tool_call_requests:
|
|
@@ -813,8 +828,11 @@ class ChatAgent(BaseAgent):
|
|
|
813
828
|
return self._convert_to_chatagent_response(
|
|
814
829
|
response,
|
|
815
830
|
tool_call_records,
|
|
816
|
-
|
|
831
|
+
accumulated_context_tokens,
|
|
817
832
|
external_tool_call_requests,
|
|
833
|
+
step_token_usage["prompt_tokens"],
|
|
834
|
+
step_token_usage["completion_tokens"],
|
|
835
|
+
step_token_usage["total_tokens"],
|
|
818
836
|
)
|
|
819
837
|
|
|
820
838
|
@property
|
|
@@ -857,9 +875,16 @@ class ChatAgent(BaseAgent):
|
|
|
857
875
|
|
|
858
876
|
tool_call_records: List[ToolCallingRecord] = []
|
|
859
877
|
external_tool_call_requests: Optional[List[ToolCallRequest]] = None
|
|
878
|
+
accumulated_context_tokens = (
|
|
879
|
+
0 # This tracks cumulative context tokens, not API usage tokens
|
|
880
|
+
)
|
|
881
|
+
|
|
882
|
+
# Initialize token usage tracker
|
|
883
|
+
step_token_usage = self._create_token_usage_tracker()
|
|
860
884
|
while True:
|
|
861
885
|
try:
|
|
862
886
|
openai_messages, num_tokens = self.memory.get_context()
|
|
887
|
+
accumulated_context_tokens += num_tokens
|
|
863
888
|
except RuntimeError as e:
|
|
864
889
|
return self._step_terminate(
|
|
865
890
|
e.args[1], tool_call_records, "max_tokens_exceeded"
|
|
@@ -867,7 +892,7 @@ class ChatAgent(BaseAgent):
|
|
|
867
892
|
|
|
868
893
|
response = await self._aget_model_response(
|
|
869
894
|
openai_messages,
|
|
870
|
-
|
|
895
|
+
accumulated_context_tokens,
|
|
871
896
|
response_format,
|
|
872
897
|
self._get_full_tool_schemas(),
|
|
873
898
|
)
|
|
@@ -876,7 +901,9 @@ class ChatAgent(BaseAgent):
|
|
|
876
901
|
if self.stop_event and self.stop_event.is_set():
|
|
877
902
|
# Use the _step_terminate to terminate the agent with reason
|
|
878
903
|
return self._step_terminate(
|
|
879
|
-
|
|
904
|
+
accumulated_context_tokens,
|
|
905
|
+
tool_call_records,
|
|
906
|
+
"termination_triggered",
|
|
880
907
|
)
|
|
881
908
|
|
|
882
909
|
if tool_call_requests := response.tool_call_requests:
|
|
@@ -910,28 +937,68 @@ class ChatAgent(BaseAgent):
|
|
|
910
937
|
await self._aformat_response_if_needed(response, response_format)
|
|
911
938
|
self._record_final_output(response.output_messages)
|
|
912
939
|
|
|
940
|
+
# Create token usage tracker for this step
|
|
941
|
+
step_token_usage = self._create_token_usage_tracker()
|
|
942
|
+
|
|
943
|
+
# Update with response usage
|
|
944
|
+
self._update_token_usage_tracker(step_token_usage, response.usage_dict)
|
|
945
|
+
|
|
913
946
|
return self._convert_to_chatagent_response(
|
|
914
947
|
response,
|
|
915
948
|
tool_call_records,
|
|
916
|
-
|
|
949
|
+
accumulated_context_tokens,
|
|
917
950
|
external_tool_call_requests,
|
|
951
|
+
step_token_usage["prompt_tokens"],
|
|
952
|
+
step_token_usage["completion_tokens"],
|
|
953
|
+
step_token_usage["total_tokens"],
|
|
918
954
|
)
|
|
919
955
|
|
|
956
|
+
def _create_token_usage_tracker(self) -> Dict[str, int]:
|
|
957
|
+
r"""Creates a fresh token usage tracker for a step.
|
|
958
|
+
|
|
959
|
+
Returns:
|
|
960
|
+
Dict[str, int]: A dictionary for tracking token usage.
|
|
961
|
+
"""
|
|
962
|
+
return {"prompt_tokens": 0, "completion_tokens": 0, "total_tokens": 0}
|
|
963
|
+
|
|
964
|
+
def _update_token_usage_tracker(
|
|
965
|
+
self, tracker: Dict[str, int], usage_dict: Dict[str, int]
|
|
966
|
+
) -> None:
|
|
967
|
+
r"""Updates a token usage tracker with values from a usage dictionary.
|
|
968
|
+
|
|
969
|
+
Args:
|
|
970
|
+
tracker (Dict[str, int]): The token usage tracker to update.
|
|
971
|
+
usage_dict (Dict[str, int]): The usage dictionary with new values.
|
|
972
|
+
"""
|
|
973
|
+
tracker["prompt_tokens"] += usage_dict.get("prompt_tokens", 0)
|
|
974
|
+
tracker["completion_tokens"] += usage_dict.get("completion_tokens", 0)
|
|
975
|
+
tracker["total_tokens"] += usage_dict.get("total_tokens", 0)
|
|
976
|
+
|
|
920
977
|
def _convert_to_chatagent_response(
|
|
921
978
|
self,
|
|
922
979
|
response: ModelResponse,
|
|
923
980
|
tool_call_records: List[ToolCallingRecord],
|
|
924
|
-
num_tokens: int,
|
|
981
|
+
num_tokens: int, # Context tokens from the last call in step
|
|
925
982
|
external_tool_call_requests: Optional[List[ToolCallRequest]],
|
|
983
|
+
step_api_prompt_tokens: int = 0,
|
|
984
|
+
step_api_completion_tokens: int = 0,
|
|
985
|
+
step_api_total_tokens: int = 0,
|
|
926
986
|
) -> ChatAgentResponse:
|
|
927
987
|
r"""Parse the final model response into the chat agent response."""
|
|
988
|
+
# Create usage_dict for the current step's API calls
|
|
989
|
+
step_api_usage_dict = {
|
|
990
|
+
"prompt_tokens": step_api_prompt_tokens,
|
|
991
|
+
"completion_tokens": step_api_completion_tokens,
|
|
992
|
+
"total_tokens": step_api_total_tokens,
|
|
993
|
+
}
|
|
994
|
+
|
|
928
995
|
info = self._step_get_info(
|
|
929
996
|
response.output_messages,
|
|
930
997
|
response.finish_reasons,
|
|
931
|
-
|
|
998
|
+
step_api_usage_dict, # Pass step-specific API usage here
|
|
932
999
|
response.response_id,
|
|
933
1000
|
tool_call_records,
|
|
934
|
-
num_tokens,
|
|
1001
|
+
num_tokens, # This is context tokens, not API usage
|
|
935
1002
|
external_tool_call_requests,
|
|
936
1003
|
)
|
|
937
1004
|
|
|
@@ -1580,6 +1647,56 @@ class ChatAgent(BaseAgent):
|
|
|
1580
1647
|
"""
|
|
1581
1648
|
self.model_backend.add_strategy(name, strategy_fn)
|
|
1582
1649
|
|
|
1650
|
+
def clone(self, with_memory: bool = False) -> ChatAgent:
|
|
1651
|
+
r"""Creates a new instance of :obj:`ChatAgent` with the same
|
|
1652
|
+
configuration as the current instance.
|
|
1653
|
+
|
|
1654
|
+
Args:
|
|
1655
|
+
with_memory (bool): Whether to copy the memory (conversation
|
|
1656
|
+
history) to the new agent. If True, the new agent will have
|
|
1657
|
+
the same conversation history. If False, the new agent will
|
|
1658
|
+
have a fresh memory with only the system message.
|
|
1659
|
+
(default: :obj:`False`)
|
|
1660
|
+
|
|
1661
|
+
Returns:
|
|
1662
|
+
ChatAgent: A new instance of :obj:`ChatAgent` with the same
|
|
1663
|
+
configuration.
|
|
1664
|
+
"""
|
|
1665
|
+
# Create a new instance with the same configuration
|
|
1666
|
+
# If with_memory is True, set system_message to None
|
|
1667
|
+
# If with_memory is False, use the original system message
|
|
1668
|
+
# To avoid duplicated system memory.
|
|
1669
|
+
system_message = None if with_memory else self._original_system_message
|
|
1670
|
+
|
|
1671
|
+
new_agent = ChatAgent(
|
|
1672
|
+
system_message=system_message,
|
|
1673
|
+
model=self.model_backend.models, # Pass the existing model_backend
|
|
1674
|
+
memory=None, # clone memory later
|
|
1675
|
+
message_window_size=getattr(self.memory, "window_size", None),
|
|
1676
|
+
token_limit=getattr(
|
|
1677
|
+
self.memory.get_context_creator(), "token_limit", None
|
|
1678
|
+
),
|
|
1679
|
+
output_language=self._output_language,
|
|
1680
|
+
tools=list(self._internal_tools.values()),
|
|
1681
|
+
external_tools=[
|
|
1682
|
+
schema for schema in self._external_tool_schemas.values()
|
|
1683
|
+
],
|
|
1684
|
+
response_terminators=self.response_terminators,
|
|
1685
|
+
scheduling_strategy=self.model_backend.scheduling_strategy.__name__,
|
|
1686
|
+
single_iteration=self.single_iteration,
|
|
1687
|
+
stop_event=self.stop_event,
|
|
1688
|
+
)
|
|
1689
|
+
|
|
1690
|
+
# Copy memory if requested
|
|
1691
|
+
if with_memory:
|
|
1692
|
+
# Get all records from the current memory
|
|
1693
|
+
context_records = self.memory.retrieve()
|
|
1694
|
+
# Write them to the new agent's memory
|
|
1695
|
+
for context_record in context_records:
|
|
1696
|
+
new_agent.memory.write_record(context_record.memory_record)
|
|
1697
|
+
|
|
1698
|
+
return new_agent
|
|
1699
|
+
|
|
1583
1700
|
def __repr__(self) -> str:
|
|
1584
1701
|
r"""Returns a string representation of the :obj:`ChatAgent`.
|
|
1585
1702
|
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
# ========= Copyright 2023-2024 @ CAMEL-AI.org. All Rights Reserved. =========
|
|
14
14
|
import random
|
|
15
15
|
import warnings
|
|
16
|
-
from typing import Any, Dict, Optional, Sequence
|
|
16
|
+
from typing import Any, Dict, List, Optional, Sequence, Tuple, Union
|
|
17
17
|
|
|
18
18
|
from colorama import Fore
|
|
19
19
|
|
|
@@ -22,6 +22,7 @@ from camel.memories import AgentMemory
|
|
|
22
22
|
from camel.messages import BaseMessage
|
|
23
23
|
from camel.models import BaseModelBackend
|
|
24
24
|
from camel.responses import ChatAgentResponse
|
|
25
|
+
from camel.types import ModelPlatformType, ModelType
|
|
25
26
|
from camel.utils import get_first_int, print_text_animated
|
|
26
27
|
|
|
27
28
|
# AgentOps decorator setting
|
|
@@ -41,11 +42,18 @@ class CriticAgent(ChatAgent):
|
|
|
41
42
|
r"""A class for the critic agent that assists in selecting an option.
|
|
42
43
|
|
|
43
44
|
Args:
|
|
44
|
-
system_message (BaseMessage): The system message
|
|
45
|
-
agent.
|
|
46
|
-
model (BaseModelBackend,
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
system_message (Union[BaseMessage, str], optional): The system message
|
|
46
|
+
for the chat agent. (default: :obj:`None`)
|
|
47
|
+
model (Union[BaseModelBackend, Tuple[str, str], str, ModelType,
|
|
48
|
+
Tuple[ModelPlatformType, ModelType], List[BaseModelBackend],
|
|
49
|
+
List[str], List[ModelType], List[Tuple[str, str]],
|
|
50
|
+
List[Tuple[ModelPlatformType, ModelType]]], optional):
|
|
51
|
+
The model backend(s) to use. Can be a single instance,
|
|
52
|
+
a specification (string, enum, tuple), or a list of instances
|
|
53
|
+
or specifications to be managed by `ModelManager`. If a list of
|
|
54
|
+
specifications (not `BaseModelBackend` instances) is provided,
|
|
55
|
+
they will be instantiated using `ModelFactory`. (default:
|
|
56
|
+
:obj:`ModelPlatformType.DEFAULT` with `ModelType.DEFAULT`)
|
|
49
57
|
message_window_size (int, optional): The maximum number of previous
|
|
50
58
|
messages to include in the context window. If `None`, no windowing
|
|
51
59
|
is performed. (default: :obj:`6`)
|
|
@@ -58,8 +66,21 @@ class CriticAgent(ChatAgent):
|
|
|
58
66
|
|
|
59
67
|
def __init__(
|
|
60
68
|
self,
|
|
61
|
-
system_message: BaseMessage,
|
|
62
|
-
model: Optional[
|
|
69
|
+
system_message: Optional[Union[BaseMessage, str]] = None,
|
|
70
|
+
model: Optional[
|
|
71
|
+
Union[
|
|
72
|
+
BaseModelBackend,
|
|
73
|
+
Tuple[str, str],
|
|
74
|
+
str,
|
|
75
|
+
ModelType,
|
|
76
|
+
Tuple[ModelPlatformType, ModelType],
|
|
77
|
+
List[BaseModelBackend],
|
|
78
|
+
List[str],
|
|
79
|
+
List[ModelType],
|
|
80
|
+
List[Tuple[str, str]],
|
|
81
|
+
List[Tuple[ModelPlatformType, ModelType]],
|
|
82
|
+
]
|
|
83
|
+
] = None,
|
|
63
84
|
memory: Optional[AgentMemory] = None,
|
|
64
85
|
message_window_size: int = 6,
|
|
65
86
|
retry_attempts: int = 2,
|
|
@@ -200,3 +221,47 @@ class CriticAgent(ChatAgent):
|
|
|
200
221
|
terminated=False,
|
|
201
222
|
info={},
|
|
202
223
|
)
|
|
224
|
+
|
|
225
|
+
def clone(self, with_memory: bool = False) -> 'CriticAgent':
|
|
226
|
+
r"""Creates a new instance of :obj:`CriticAgent` with the same
|
|
227
|
+
configuration as the current instance.
|
|
228
|
+
|
|
229
|
+
Args:
|
|
230
|
+
with_memory (bool): Whether to copy the memory (conversation
|
|
231
|
+
history) to the new agent. If True, the new agent will have
|
|
232
|
+
the same conversation history. If False, the new agent will
|
|
233
|
+
have a fresh memory with only the system message.
|
|
234
|
+
(default: :obj:`False`)
|
|
235
|
+
|
|
236
|
+
Returns:
|
|
237
|
+
CriticAgent: A new instance of :obj:`CriticAgent` with the same
|
|
238
|
+
configuration.
|
|
239
|
+
"""
|
|
240
|
+
# Create a new instance with the same configuration
|
|
241
|
+
# If with_memory is True, set system_message to None
|
|
242
|
+
# If with_memory is False, use the original system message
|
|
243
|
+
# To avoid duplicated system memory.
|
|
244
|
+
system_message = None if with_memory else self._original_system_message
|
|
245
|
+
|
|
246
|
+
new_agent = CriticAgent(
|
|
247
|
+
system_message=system_message,
|
|
248
|
+
model=self.model_backend.models, # Pass the existing model_backend
|
|
249
|
+
memory=None, # clone memory later
|
|
250
|
+
message_window_size=getattr(self.memory, "window_size", 6),
|
|
251
|
+
retry_attempts=self.retry_attempts,
|
|
252
|
+
verbose=self.verbose,
|
|
253
|
+
logger_color=self.logger_color,
|
|
254
|
+
)
|
|
255
|
+
|
|
256
|
+
# Copy memory if requested
|
|
257
|
+
if with_memory:
|
|
258
|
+
# Get all records from the current memory
|
|
259
|
+
context_records = self.memory.retrieve()
|
|
260
|
+
# Write them to the new agent's memory
|
|
261
|
+
for context_record in context_records:
|
|
262
|
+
new_agent.memory.write_record(context_record.memory_record)
|
|
263
|
+
|
|
264
|
+
# Copy CriticAgent-specific attributes
|
|
265
|
+
new_agent.options_dict = self.options_dict.copy()
|
|
266
|
+
|
|
267
|
+
return new_agent
|
|
@@ -15,12 +15,14 @@
|
|
|
15
15
|
from .apibank import APIBankBenchmark
|
|
16
16
|
from .apibench import APIBenchBenchmark
|
|
17
17
|
from .base import BaseBenchmark
|
|
18
|
+
from .browsecomp import BrowseCompBenchmark
|
|
18
19
|
from .gaia import DefaultGAIARetriever, GAIABenchmark
|
|
19
20
|
from .nexus import NexusBenchmark
|
|
20
21
|
from .ragbench import RAGBenchBenchmark
|
|
21
22
|
|
|
22
23
|
__all__ = [
|
|
23
24
|
"BaseBenchmark",
|
|
25
|
+
"BrowseCompBenchmark",
|
|
24
26
|
"GAIABenchmark",
|
|
25
27
|
"DefaultGAIARetriever",
|
|
26
28
|
"NexusBenchmark",
|