camel-ai 0.2.48__tar.gz → 0.2.49__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.48 → camel_ai-0.2.49}/PKG-INFO +1 -1
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/__init__.py +1 -1
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/configs/__init__.py +3 -0
- camel_ai-0.2.49/camel/configs/netmind_config.py +82 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/__init__.py +2 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/model_factory.py +3 -0
- camel_ai-0.2.49/camel/models/netmind_model.py +96 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/societies/workforce/role_playing_worker.py +1 -1
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/societies/workforce/single_agent_worker.py +3 -1
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/storages/vectordb_storages/milvus.py +9 -8
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/types/enums.py +43 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/types/unified_model_type.py +5 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/utils/mcp.py +1 -1
- {camel_ai-0.2.48 → camel_ai-0.2.49}/pyproject.toml +1 -1
- {camel_ai-0.2.48 → camel_ai-0.2.49}/.gitignore +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/LICENSE +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/README.md +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/agents/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/agents/_types.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/agents/_utils.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/agents/base.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/agents/chat_agent.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/agents/critic_agent.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/agents/deductive_reasoner_agent.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/agents/embodied_agent.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/agents/knowledge_graph_agent.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/agents/multi_hop_generator_agent.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/agents/programmed_agent_instruction.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/agents/repo_agent.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/agents/role_assignment_agent.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/agents/search_agent.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/agents/task_agent.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/agents/tool_agents/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/agents/tool_agents/base.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/agents/tool_agents/hugging_face_tool_agent.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/benchmarks/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/benchmarks/apibank.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/benchmarks/apibench.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/benchmarks/base.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/benchmarks/gaia.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/benchmarks/nexus.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/benchmarks/ragbench.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/bots/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/bots/discord/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/bots/discord/discord_app.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/bots/discord/discord_installation.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/bots/discord/discord_store.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/bots/slack/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/bots/slack/models.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/bots/slack/slack_app.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/bots/telegram_bot.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/configs/aiml_config.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/configs/anthropic_config.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/configs/base_config.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/configs/bedrock_config.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/configs/cohere_config.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/configs/deepseek_config.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/configs/gemini_config.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/configs/groq_config.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/configs/internlm_config.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/configs/litellm_config.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/configs/lmstudio_config.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/configs/mistral_config.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/configs/modelscope_config.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/configs/moonshot_config.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/configs/nvidia_config.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/configs/ollama_config.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/configs/openai_config.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/configs/openrouter_config.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/configs/ppio_config.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/configs/qwen_config.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/configs/reka_config.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/configs/samba_config.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/configs/sglang_config.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/configs/siliconflow_config.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/configs/togetherai_config.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/configs/vllm_config.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/configs/yi_config.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/configs/zhipuai_config.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/data_collector/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/data_collector/alpaca_collector.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/data_collector/base.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/data_collector/sharegpt_collector.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/datagen/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/datagen/cot_datagen.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/datagen/evol_instruct/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/datagen/evol_instruct/evol_instruct.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/datagen/evol_instruct/scorer.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/datagen/evol_instruct/templates.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/datagen/self_improving_cot.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/datagen/self_instruct/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/datagen/self_instruct/filter/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/datagen/self_instruct/filter/filter_function.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/datagen/self_instruct/filter/filter_registry.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/datagen/self_instruct/filter/instruction_filter.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/datagen/self_instruct/self_instruct.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/datagen/self_instruct/templates.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/datagen/source2synth/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/datagen/source2synth/data_processor.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/datagen/source2synth/models.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/datagen/source2synth/user_data_processor_config.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/datahubs/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/datahubs/base.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/datahubs/huggingface.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/datahubs/models.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/datasets/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/datasets/base_generator.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/datasets/few_shot_generator.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/datasets/models.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/datasets/self_instruct_generator.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/datasets/static_dataset.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/embeddings/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/embeddings/azure_embedding.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/embeddings/base.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/embeddings/jina_embedding.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/embeddings/mistral_embedding.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/embeddings/openai_compatible_embedding.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/embeddings/openai_embedding.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/embeddings/sentence_transformers_embeddings.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/embeddings/together_embedding.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/embeddings/vlm_embedding.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/environments/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/environments/models.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/environments/multi_step.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/environments/single_step.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/environments/tic_tac_toe.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/extractors/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/extractors/base.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/extractors/python_strategies.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/generators.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/human.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/interpreters/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/interpreters/base.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/interpreters/docker/Dockerfile +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/interpreters/docker_interpreter.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/interpreters/e2b_interpreter.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/interpreters/internal_python_interpreter.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/interpreters/interpreter_error.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/interpreters/ipython_interpreter.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/interpreters/subprocess_interpreter.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/loaders/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/loaders/apify_reader.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/loaders/base_io.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/loaders/chunkr_reader.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/loaders/crawl4ai_reader.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/loaders/firecrawl_reader.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/loaders/jina_url_reader.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/loaders/mineru_extractor.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/loaders/pandas_reader.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/loaders/scrapegraph_reader.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/loaders/unstructured_io.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/logger.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/memories/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/memories/agent_memories.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/memories/base.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/memories/blocks/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/memories/blocks/chat_history_block.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/memories/blocks/vectordb_block.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/memories/context_creators/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/memories/context_creators/score_based.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/memories/records.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/messages/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/messages/base.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/messages/conversion/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/messages/conversion/alpaca.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/messages/conversion/conversation_models.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/messages/conversion/sharegpt/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/messages/conversion/sharegpt/function_call_formatter.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/messages/conversion/sharegpt/hermes/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/messages/conversion/sharegpt/hermes/hermes_function_formatter.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/messages/func_message.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/_utils.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/aiml_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/anthropic_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/aws_bedrock_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/azure_openai_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/base_audio_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/base_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/cohere_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/deepseek_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/fish_audio_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/gemini_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/groq_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/internlm_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/litellm_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/lmstudio_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/mistral_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/model_manager.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/modelscope_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/moonshot_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/nemotron_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/nvidia_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/ollama_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/openai_audio_models.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/openai_compatible_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/openai_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/openrouter_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/ppio_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/qwen_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/reka_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/reward/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/reward/base_reward_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/reward/evaluator.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/reward/nemotron_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/reward/skywork_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/samba_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/sglang_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/siliconflow_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/stub_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/togetherai_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/vllm_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/volcano_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/yi_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/models/zhipuai_model.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/personas/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/personas/persona.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/personas/persona_hub.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/prompts/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/prompts/ai_society.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/prompts/base.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/prompts/code.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/prompts/evaluation.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/prompts/generate_text_embedding_data.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/prompts/image_craft.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/prompts/misalignment.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/prompts/multi_condition_image_craft.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/prompts/object_recognition.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/prompts/persona_hub.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/prompts/prompt_templates.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/prompts/role_description_prompt_template.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/prompts/solution_extraction.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/prompts/task_prompt_template.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/prompts/translation.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/prompts/video_description_prompt.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/py.typed +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/responses/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/responses/agent_responses.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/retrievers/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/retrievers/auto_retriever.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/retrievers/base.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/retrievers/bm25_retriever.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/retrievers/cohere_rerank_retriever.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/retrievers/hybrid_retrival.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/retrievers/vector_retriever.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/runtime/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/runtime/api.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/runtime/base.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/runtime/configs.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/runtime/docker_runtime.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/runtime/llm_guard_runtime.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/runtime/remote_http_runtime.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/runtime/ubuntu_docker_runtime.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/runtime/utils/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/runtime/utils/function_risk_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/runtime/utils/ignore_risk_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/schemas/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/schemas/base.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/schemas/openai_converter.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/schemas/outlines_converter.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/societies/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/societies/babyagi_playing.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/societies/role_playing.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/societies/workforce/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/societies/workforce/base.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/societies/workforce/prompts.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/societies/workforce/task_channel.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/societies/workforce/utils.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/societies/workforce/worker.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/societies/workforce/workforce.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/storages/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/storages/graph_storages/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/storages/graph_storages/base.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/storages/graph_storages/graph_element.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/storages/graph_storages/nebula_graph.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/storages/graph_storages/neo4j_graph.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/storages/key_value_storages/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/storages/key_value_storages/base.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/storages/key_value_storages/in_memory.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/storages/key_value_storages/json.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/storages/key_value_storages/mem0_cloud.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/storages/key_value_storages/redis.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/storages/object_storages/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/storages/object_storages/amazon_s3.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/storages/object_storages/azure_blob.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/storages/object_storages/base.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/storages/object_storages/google_cloud.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/storages/vectordb_storages/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/storages/vectordb_storages/base.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/storages/vectordb_storages/oceanbase.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/storages/vectordb_storages/qdrant.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/storages/vectordb_storages/tidb.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/tasks/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/tasks/task.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/tasks/task_prompt.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/terminators/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/terminators/base.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/terminators/response_terminator.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/terminators/token_limit_terminator.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/arxiv_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/ask_news_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/audio_analysis_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/base.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/browser_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/code_execution.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/dalle_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/dappier_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/data_commons_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/excel_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/file_write_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/function_tool.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/github_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/google_calendar_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/google_maps_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/google_scholar_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/human_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/image_analysis_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/jina_reranker_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/linkedin_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/math_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/mcp_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/memory_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/meshy_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/mineru_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/networkx_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/notion_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/open_api_specs/biztoc/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/open_api_specs/biztoc/ai-plugin.json +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/open_api_specs/biztoc/openapi.yaml +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/open_api_specs/coursera/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/open_api_specs/coursera/openapi.yaml +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/open_api_specs/create_qr_code/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/open_api_specs/create_qr_code/openapi.yaml +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/open_api_specs/klarna/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/open_api_specs/klarna/openapi.yaml +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/open_api_specs/nasa_apod/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/open_api_specs/nasa_apod/openapi.yaml +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/open_api_specs/outschool/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/open_api_specs/outschool/ai-plugin.json +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/open_api_specs/outschool/openapi.yaml +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/open_api_specs/outschool/paths/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/open_api_specs/outschool/paths/get_classes.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/open_api_specs/outschool/paths/search_teachers.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/open_api_specs/security_config.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/open_api_specs/speak/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/open_api_specs/speak/openapi.yaml +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/open_api_specs/web_scraper/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/open_api_specs/web_scraper/ai-plugin.json +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/open_api_specs/web_scraper/openapi.yaml +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/open_api_specs/web_scraper/paths/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/open_api_specs/web_scraper/paths/scraper.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/open_api_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/openai_agent_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/openbb_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/page_script.js +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/pubmed_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/pyautogui_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/reddit_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/retrieval_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/search_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/searxng_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/semantic_scholar_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/slack_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/stripe_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/sympy_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/terminal_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/thinking_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/twitter_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/video_analysis_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/video_download_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/weather_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/whatsapp_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/toolkits/zapier_toolkit.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/types/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/types/agents/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/types/agents/tool_calling_record.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/types/openai_types.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/utils/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/utils/async_func.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/utils/chunker/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/utils/chunker/base.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/utils/chunker/code_chunker.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/utils/chunker/uio_chunker.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/utils/commons.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/utils/constants.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/utils/deduplication.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/utils/response_format.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/utils/token_counting.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/verifiers/__init__.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/verifiers/base.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/verifiers/math_verifier.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/verifiers/models.py +0 -0
- {camel_ai-0.2.48 → camel_ai-0.2.49}/camel/verifiers/python_verifier.py +0 -0
|
@@ -25,6 +25,7 @@ from .lmstudio_config import LMSTUDIO_API_PARAMS, LMStudioConfig
|
|
|
25
25
|
from .mistral_config import MISTRAL_API_PARAMS, MistralConfig
|
|
26
26
|
from .modelscope_config import MODELSCOPE_API_PARAMS, ModelScopeConfig
|
|
27
27
|
from .moonshot_config import MOONSHOT_API_PARAMS, MoonshotConfig
|
|
28
|
+
from .netmind_config import NETMIND_API_PARAMS, NetmindConfig
|
|
28
29
|
from .nvidia_config import NVIDIA_API_PARAMS, NvidiaConfig
|
|
29
30
|
from .ollama_config import OLLAMA_API_PARAMS, OllamaConfig
|
|
30
31
|
from .openai_config import OPENAI_API_PARAMS, ChatGPTConfig
|
|
@@ -55,6 +56,8 @@ __all__ = [
|
|
|
55
56
|
'GroqConfig',
|
|
56
57
|
'LiteLLMConfig',
|
|
57
58
|
'LITELLM_API_PARAMS',
|
|
59
|
+
'NetmindConfig',
|
|
60
|
+
'NETMIND_API_PARAMS',
|
|
58
61
|
'NvidiaConfig',
|
|
59
62
|
'NVIDIA_API_PARAMS',
|
|
60
63
|
'OllamaConfig',
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# ========= Copyright 2023-2024 @ CAMEL-AI.org. All Rights Reserved. =========
|
|
2
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
|
+
# you may not use this file except in compliance with the License.
|
|
4
|
+
# You may obtain a copy of the License at
|
|
5
|
+
#
|
|
6
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
7
|
+
#
|
|
8
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
9
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
10
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
+
# See the License for the specific language governing permissions and
|
|
12
|
+
# limitations under the License.
|
|
13
|
+
# ========= Copyright 2023-2024 @ CAMEL-AI.org. All Rights Reserved. =========
|
|
14
|
+
from __future__ import annotations
|
|
15
|
+
|
|
16
|
+
from typing import Dict, List, Optional, Union
|
|
17
|
+
|
|
18
|
+
from pydantic import Field
|
|
19
|
+
|
|
20
|
+
from camel.configs.base_config import BaseConfig
|
|
21
|
+
from camel.types import NotGiven
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class NetmindConfig(BaseConfig):
|
|
25
|
+
r"""Defines the parameters for generating chat completions using OpenAI
|
|
26
|
+
compatibility.
|
|
27
|
+
|
|
28
|
+
Reference: https://netmind-power.gitbook.io/netmind-power-documentation/
|
|
29
|
+
api/inference/chat
|
|
30
|
+
|
|
31
|
+
Args:
|
|
32
|
+
presence_penalty (float, optional): Number between :obj:`-2.0` and
|
|
33
|
+
:obj:`2.0`. Positive values penalize new tokens based on whether
|
|
34
|
+
they appear in the text so far, increasing the model's likelihood
|
|
35
|
+
to talk about new topics. See more information about frequency and
|
|
36
|
+
presence penalties. (default: :obj:`None`)
|
|
37
|
+
frequency_penalty (float, optional): Number between :obj:`-2.0` and
|
|
38
|
+
:obj:`2.0`. Positive values penalize new tokens based on their
|
|
39
|
+
existing frequency in the text so far, decreasing the model's
|
|
40
|
+
likelihood to repeat the same line verbatim. See more information
|
|
41
|
+
about frequency and presence penalties. (default: :obj:`None`)
|
|
42
|
+
repetition_penalty (float, optional): Penalizes new tokens based on
|
|
43
|
+
their appearance in the prompt and generated text.
|
|
44
|
+
(default: :obj:`None`)
|
|
45
|
+
stream (bool, optional): Whether to stream the response.
|
|
46
|
+
(default: :obj:`None`)
|
|
47
|
+
temperature (float, optional): Controls randomness in the response.
|
|
48
|
+
Higher values make output more random, lower values make it more
|
|
49
|
+
deterministic. Range: [0.0, 2.0]. (default: :obj:`None`)
|
|
50
|
+
top_p (float, optional): Controls diversity via nucleus sampling.
|
|
51
|
+
Range: [0.0, 1.0]. (default: :obj:`None`)
|
|
52
|
+
logit_bias (dict, optional): Modify the likelihood of specified tokens
|
|
53
|
+
appearing in the completion. Accepts a json object that maps tokens
|
|
54
|
+
(specified by their token ID in the tokenizer) to an associated
|
|
55
|
+
bias value from :obj:`-100` to :obj:`100`. Mathematically, the bias
|
|
56
|
+
is added to the logits generated by the model prior to sampling.
|
|
57
|
+
The exact effect will vary per model, but values between:obj:` -1`
|
|
58
|
+
and :obj:`1` should decrease or increase likelihood of selection;
|
|
59
|
+
values like :obj:`-100` or :obj:`100` should result in a ban or
|
|
60
|
+
exclusive selection of the relevant token. (default: :obj:`None`)
|
|
61
|
+
max_tokens (Union[int, NotGiven], optional): Maximum number of tokens
|
|
62
|
+
to generate. If not provided, model will use its default maximum.
|
|
63
|
+
(default: :obj:`None`)
|
|
64
|
+
stop (Optional[List[str]], optional): List of stop sequences.
|
|
65
|
+
(default: :obj:`None`)
|
|
66
|
+
n (Optional[int], optional): Number of chat completion choices to
|
|
67
|
+
generate for each input message. (default: :obj:`None`)
|
|
68
|
+
"""
|
|
69
|
+
|
|
70
|
+
stream: Optional[bool] = Field(default=None)
|
|
71
|
+
temperature: Optional[float] = Field(default=None)
|
|
72
|
+
top_p: Optional[float] = Field(default=None)
|
|
73
|
+
presence_penalty: Optional[float] = Field(default=None)
|
|
74
|
+
frequency_penalty: Optional[float] = Field(default=None)
|
|
75
|
+
repetition_penalty: Optional[float] = Field(default=None)
|
|
76
|
+
max_tokens: Optional[Union[int, NotGiven]] = Field(default=None)
|
|
77
|
+
stop: Optional[List[str]] = Field(default=None)
|
|
78
|
+
n: Optional[int] = Field(default=None)
|
|
79
|
+
logit_bias: Optional[Dict[str, float]] = Field(default=None)
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
NETMIND_API_PARAMS = {param for param in NetmindConfig.model_fields.keys()}
|
|
@@ -31,6 +31,7 @@ from .model_manager import ModelManager, ModelProcessingError
|
|
|
31
31
|
from .modelscope_model import ModelScopeModel
|
|
32
32
|
from .moonshot_model import MoonshotModel
|
|
33
33
|
from .nemotron_model import NemotronModel
|
|
34
|
+
from .netmind_model import NetmindModel
|
|
34
35
|
from .nvidia_model import NvidiaModel
|
|
35
36
|
from .ollama_model import OllamaModel
|
|
36
37
|
from .openai_audio_models import OpenAIAudioModels
|
|
@@ -65,6 +66,7 @@ __all__ = [
|
|
|
65
66
|
'ModelManager',
|
|
66
67
|
'LiteLLMModel',
|
|
67
68
|
'OpenAIAudioModels',
|
|
69
|
+
'NetmindModel',
|
|
68
70
|
'NemotronModel',
|
|
69
71
|
'NvidiaModel',
|
|
70
72
|
'OllamaModel',
|
|
@@ -31,6 +31,7 @@ from camel.models.lmstudio_model import LMStudioModel
|
|
|
31
31
|
from camel.models.mistral_model import MistralModel
|
|
32
32
|
from camel.models.modelscope_model import ModelScopeModel
|
|
33
33
|
from camel.models.moonshot_model import MoonshotModel
|
|
34
|
+
from camel.models.netmind_model import NetmindModel
|
|
34
35
|
from camel.models.nvidia_model import NvidiaModel
|
|
35
36
|
from camel.models.ollama_model import OllamaModel
|
|
36
37
|
from camel.models.openai_compatible_model import OpenAICompatibleModel
|
|
@@ -123,6 +124,8 @@ class ModelFactory:
|
|
|
123
124
|
model_class = AIMLModel
|
|
124
125
|
elif model_platform.is_volcano:
|
|
125
126
|
model_class = VolcanoModel
|
|
127
|
+
elif model_platform.is_netmind:
|
|
128
|
+
model_class = NetmindModel
|
|
126
129
|
|
|
127
130
|
elif model_platform.is_openai and model_type.is_openai:
|
|
128
131
|
model_class = OpenAIModel
|
|
@@ -0,0 +1,96 @@
|
|
|
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
|
+
import os
|
|
16
|
+
from typing import Any, Dict, Optional, Union
|
|
17
|
+
|
|
18
|
+
from camel.configs import NETMIND_API_PARAMS, NetmindConfig
|
|
19
|
+
from camel.models.openai_compatible_model import OpenAICompatibleModel
|
|
20
|
+
from camel.types import ModelType
|
|
21
|
+
from camel.utils import (
|
|
22
|
+
BaseTokenCounter,
|
|
23
|
+
api_keys_required,
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class NetmindModel(OpenAICompatibleModel):
|
|
28
|
+
r"""Constructor for Netmind backend with OpenAI compatibility.
|
|
29
|
+
|
|
30
|
+
Args:
|
|
31
|
+
model_type (Union[ModelType, str]): Model for which a backend is
|
|
32
|
+
created, supported model can be found here:
|
|
33
|
+
https://www.netmind.ai/modelsLibrary?expandList=Chat
|
|
34
|
+
model_config_dict (Optional[Dict[str, Any]], optional): A dictionary
|
|
35
|
+
that will be fed into:obj:`openai.ChatCompletion.create()`. If
|
|
36
|
+
:obj:`None`, :obj:`NetmindConfig().as_dict()` will be used.
|
|
37
|
+
(default: :obj:`None`)
|
|
38
|
+
api_key (Optional[str], optional): The API key for authenticating with
|
|
39
|
+
the Netmind service. (default: :obj:`None`)
|
|
40
|
+
url (Optional[str], optional): The url to the Netmind service.
|
|
41
|
+
If not provided, "https://api.netmind.ai/inference-api/openai/v1"
|
|
42
|
+
will be used.(default: :obj:`None`)
|
|
43
|
+
token_counter (Optional[BaseTokenCounter], optional): Token counter to
|
|
44
|
+
use for the model. If not provided, :obj:`OpenAITokenCounter(
|
|
45
|
+
ModelType.GPT_4O_MINI)` will be used.
|
|
46
|
+
timeout (Optional[float], optional): The timeout value in seconds for
|
|
47
|
+
API calls. If not provided, will fall back to the MODEL_TIMEOUT
|
|
48
|
+
environment variable or default to 180 seconds.
|
|
49
|
+
(default: :obj:`None`)
|
|
50
|
+
"""
|
|
51
|
+
|
|
52
|
+
@api_keys_required(
|
|
53
|
+
[
|
|
54
|
+
("api_key", 'NETMIND_API_KEY'),
|
|
55
|
+
]
|
|
56
|
+
)
|
|
57
|
+
def __init__(
|
|
58
|
+
self,
|
|
59
|
+
model_type: Union[ModelType, str],
|
|
60
|
+
model_config_dict: Optional[Dict[str, Any]] = None,
|
|
61
|
+
api_key: Optional[str] = None,
|
|
62
|
+
url: Optional[str] = None,
|
|
63
|
+
token_counter: Optional[BaseTokenCounter] = None,
|
|
64
|
+
timeout: Optional[float] = None,
|
|
65
|
+
) -> None:
|
|
66
|
+
if model_config_dict is None:
|
|
67
|
+
model_config_dict = NetmindConfig().as_dict()
|
|
68
|
+
api_key = api_key or os.environ.get("NETMIND_API_KEY")
|
|
69
|
+
url = url or os.environ.get(
|
|
70
|
+
"NETMIND_API_BASE_URL",
|
|
71
|
+
"https://api.netmind.ai/inference-api/openai/v1",
|
|
72
|
+
)
|
|
73
|
+
timeout = timeout or float(os.environ.get("MODEL_TIMEOUT", 180))
|
|
74
|
+
super().__init__(
|
|
75
|
+
model_type=model_type,
|
|
76
|
+
model_config_dict=model_config_dict,
|
|
77
|
+
api_key=api_key,
|
|
78
|
+
url=url,
|
|
79
|
+
token_counter=token_counter,
|
|
80
|
+
timeout=timeout,
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
def check_model_config(self):
|
|
84
|
+
r"""Check whether the model configuration contains any
|
|
85
|
+
unexpected arguments to NETMIND API.
|
|
86
|
+
|
|
87
|
+
Raises:
|
|
88
|
+
ValueError: If the model configuration dictionary contains any
|
|
89
|
+
unexpected arguments to NETMIND API.
|
|
90
|
+
"""
|
|
91
|
+
for param in self.model_config_dict:
|
|
92
|
+
if param not in NETMIND_API_PARAMS:
|
|
93
|
+
raise ValueError(
|
|
94
|
+
f"Unexpected argument `{param}` is "
|
|
95
|
+
"input into NETMIND model backend."
|
|
96
|
+
)
|
|
@@ -112,7 +112,7 @@ class RolePlayingWorker(Worker):
|
|
|
112
112
|
chat_history = []
|
|
113
113
|
while n < self.chat_turn_limit:
|
|
114
114
|
n += 1
|
|
115
|
-
assistant_response, user_response = role_play_session.
|
|
115
|
+
assistant_response, user_response = await role_play_session.astep(
|
|
116
116
|
input_msg
|
|
117
117
|
)
|
|
118
118
|
|
|
@@ -72,7 +72,9 @@ class SingleAgentWorker(Worker):
|
|
|
72
72
|
additional_info=task.additional_info,
|
|
73
73
|
)
|
|
74
74
|
try:
|
|
75
|
-
response = self.worker.
|
|
75
|
+
response = await self.worker.astep(
|
|
76
|
+
prompt, response_format=TaskResult
|
|
77
|
+
)
|
|
76
78
|
except Exception as e:
|
|
77
79
|
print(
|
|
78
80
|
f"{Fore.RED}Error occurred while processing task {task.id}:"
|
|
@@ -359,15 +359,16 @@ class MilvusStorage(BaseVectorStorage):
|
|
|
359
359
|
**kwargs,
|
|
360
360
|
)
|
|
361
361
|
query_results = []
|
|
362
|
-
for
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
362
|
+
for points in search_result:
|
|
363
|
+
for point in points:
|
|
364
|
+
query_results.append(
|
|
365
|
+
VectorDBQueryResult.create(
|
|
366
|
+
similarity=point['distance'],
|
|
367
|
+
id=str(point['id']),
|
|
368
|
+
payload=(point['entity'].get('payload')),
|
|
369
|
+
vector=point['entity'].get('vector'),
|
|
370
|
+
)
|
|
369
371
|
)
|
|
370
|
-
)
|
|
371
372
|
|
|
372
373
|
return query_results
|
|
373
374
|
|
|
@@ -149,6 +149,18 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
149
149
|
CLAUDE_3_5_HAIKU = "claude-3-5-haiku-latest"
|
|
150
150
|
CLAUDE_3_7_SONNET = "claude-3-7-sonnet-latest"
|
|
151
151
|
|
|
152
|
+
# Netmind models
|
|
153
|
+
NETMIND_LLAMA_4_MAVERICK_17B_128E_INSTRUCT = (
|
|
154
|
+
"meta-llama/Llama-4-Maverick-17B-128E-Instruct"
|
|
155
|
+
)
|
|
156
|
+
NETMIND_LLAMA_4_SCOUT_17B_16E_INSTRUCT = (
|
|
157
|
+
"meta-llama/Llama-4-Scout-17B-16E-Instruct"
|
|
158
|
+
)
|
|
159
|
+
NETMIND_DEEPSEEK_R1 = "deepseek-ai/DeepSeek-R1"
|
|
160
|
+
NETMIND_DEEPSEEK_V3 = "deepseek-ai/DeepSeek-V3-0324"
|
|
161
|
+
NETMIND_DOUBAO_1_5_PRO = "doubao/Doubao-1.5-pro"
|
|
162
|
+
NETMIND_QWQ_32B = "Qwen/QwQ-32B"
|
|
163
|
+
|
|
152
164
|
# Nvidia models
|
|
153
165
|
NVIDIA_NEMOTRON_340B_INSTRUCT = "nvidia/nemotron-4-340b-instruct"
|
|
154
166
|
NVIDIA_NEMOTRON_340B_REWARD = "nvidia/nemotron-4-340b-reward"
|
|
@@ -606,6 +618,17 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
606
618
|
ModelType.DEEPSEEK_REASONER,
|
|
607
619
|
}
|
|
608
620
|
|
|
621
|
+
@property
|
|
622
|
+
def is_netmind(self) -> bool:
|
|
623
|
+
return self in {
|
|
624
|
+
ModelType.NETMIND_LLAMA_4_MAVERICK_17B_128E_INSTRUCT,
|
|
625
|
+
ModelType.NETMIND_LLAMA_4_SCOUT_17B_16E_INSTRUCT,
|
|
626
|
+
ModelType.NETMIND_DEEPSEEK_R1,
|
|
627
|
+
ModelType.NETMIND_DEEPSEEK_V3,
|
|
628
|
+
ModelType.NETMIND_DOUBAO_1_5_PRO,
|
|
629
|
+
ModelType.NETMIND_QWQ_32B,
|
|
630
|
+
}
|
|
631
|
+
|
|
609
632
|
@property
|
|
610
633
|
def is_ppio(self) -> bool:
|
|
611
634
|
return self in {
|
|
@@ -759,6 +782,11 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
759
782
|
ModelType.PPIO_YI_1_5_34B_CHAT,
|
|
760
783
|
}:
|
|
761
784
|
return 16_384
|
|
785
|
+
|
|
786
|
+
elif self in {
|
|
787
|
+
ModelType.NETMIND_DOUBAO_1_5_PRO,
|
|
788
|
+
}:
|
|
789
|
+
return 32_000
|
|
762
790
|
elif self in {
|
|
763
791
|
ModelType.MISTRAL_CODESTRAL,
|
|
764
792
|
ModelType.MISTRAL_7B,
|
|
@@ -814,6 +842,7 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
814
842
|
ModelType.PPIO_DEEPSEEK_R1,
|
|
815
843
|
ModelType.PPIO_DEEPSEEK_V3,
|
|
816
844
|
ModelType.AWS_DEEPSEEK_R1,
|
|
845
|
+
ModelType.NETMIND_QWQ_32B,
|
|
817
846
|
}:
|
|
818
847
|
return 64_000
|
|
819
848
|
elif self in {
|
|
@@ -863,6 +892,8 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
863
892
|
ModelType.AWS_LLAMA_3_3_70B_INSTRUCT,
|
|
864
893
|
ModelType.AWS_LLAMA_3_2_90B_INSTRUCT,
|
|
865
894
|
ModelType.AWS_LLAMA_3_2_11B_INSTRUCT,
|
|
895
|
+
ModelType.NETMIND_DEEPSEEK_R1,
|
|
896
|
+
ModelType.NETMIND_DEEPSEEK_V3,
|
|
866
897
|
}:
|
|
867
898
|
return 128_000
|
|
868
899
|
elif self in {
|
|
@@ -906,8 +937,14 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
906
937
|
ModelType.OPENROUTER_LLAMA_4_MAVERICK_FREE,
|
|
907
938
|
}:
|
|
908
939
|
return 256_000
|
|
940
|
+
|
|
941
|
+
elif self in {
|
|
942
|
+
ModelType.NETMIND_LLAMA_4_SCOUT_17B_16E_INSTRUCT,
|
|
943
|
+
}:
|
|
944
|
+
return 320_000
|
|
909
945
|
elif self in {
|
|
910
946
|
ModelType.OPENROUTER_LLAMA_4_SCOUT_FREE,
|
|
947
|
+
ModelType.NETMIND_LLAMA_4_MAVERICK_17B_128E_INSTRUCT,
|
|
911
948
|
}:
|
|
912
949
|
return 512_000
|
|
913
950
|
elif self in {
|
|
@@ -1121,6 +1158,7 @@ class ModelPlatformType(Enum):
|
|
|
1121
1158
|
SILICONFLOW = "siliconflow"
|
|
1122
1159
|
AIML = "aiml"
|
|
1123
1160
|
VOLCANO = "volcano"
|
|
1161
|
+
NETMIND = "netmind"
|
|
1124
1162
|
|
|
1125
1163
|
@classmethod
|
|
1126
1164
|
def from_name(cls, name):
|
|
@@ -1246,6 +1284,11 @@ class ModelPlatformType(Enum):
|
|
|
1246
1284
|
r"""Returns whether this platform is DeepSeek."""
|
|
1247
1285
|
return self is ModelPlatformType.DEEPSEEK
|
|
1248
1286
|
|
|
1287
|
+
@property
|
|
1288
|
+
def is_netmind(self) -> bool:
|
|
1289
|
+
r"""Returns whether this platform is Netmind."""
|
|
1290
|
+
return self is ModelPlatformType.NETMIND
|
|
1291
|
+
|
|
1249
1292
|
@property
|
|
1250
1293
|
def is_ppio(self) -> bool:
|
|
1251
1294
|
r"""Returns whether this platform is PPIO."""
|
|
@@ -113,6 +113,11 @@ class UnifiedModelType(str):
|
|
|
113
113
|
r"""Returns whether the model is a Mistral model."""
|
|
114
114
|
return True
|
|
115
115
|
|
|
116
|
+
@property
|
|
117
|
+
def is_netmind(self) -> bool:
|
|
118
|
+
r"""Returns whether the model is a Netmind model."""
|
|
119
|
+
return True
|
|
120
|
+
|
|
116
121
|
@property
|
|
117
122
|
def is_reka(self) -> bool:
|
|
118
123
|
r"""Returns whether the model is a Reka model."""
|
|
@@ -69,7 +69,7 @@ class MCPServer:
|
|
|
69
69
|
func = getattr(instance, name, None)
|
|
70
70
|
if func is None or not callable(func):
|
|
71
71
|
raise ValueError(
|
|
72
|
-
f"Method {name} not found in class {cls.
|
|
72
|
+
f"Method {name} not found in class {cls.__name__} or "
|
|
73
73
|
"cannot be called."
|
|
74
74
|
)
|
|
75
75
|
wrapper = self.make_wrapper(func)
|
|
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
|