camel-ai 0.2.76a8__tar.gz → 0.2.76a12__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.76a8 → camel_ai-0.2.76a12}/PKG-INFO +43 -40
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/README.md +39 -39
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/__init__.py +1 -1
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/loaders/chunkr_reader.py +9 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/memories/records.py +36 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/messages/base.py +126 -33
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/societies/workforce/task_channel.py +43 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/societies/workforce/workforce.py +433 -76
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/storages/vectordb_storages/oceanbase.py +9 -10
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/tasks/task.py +4 -3
- camel_ai-0.2.76a12/camel/toolkits/hybrid_browser_toolkit/installer.py +203 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/hybrid_browser_toolkit/ts/package-lock.json +5 -612
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/hybrid_browser_toolkit/ts/package.json +0 -1
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/hybrid_browser_toolkit/ws_wrapper.py +54 -131
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/video_analysis_toolkit.py +1 -1
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/types/enums.py +3 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/utils/commons.py +13 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/utils/token_counting.py +25 -17
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/pyproject.toml +4 -7
- camel_ai-0.2.76a8/hatch_build_npm.py +0 -304
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/.gitignore +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/LICENSE +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/agents/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/agents/_types.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/agents/_utils.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/agents/base.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/agents/chat_agent.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/agents/critic_agent.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/agents/deductive_reasoner_agent.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/agents/embodied_agent.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/agents/knowledge_graph_agent.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/agents/mcp_agent.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/agents/multi_hop_generator_agent.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/agents/programmed_agent_instruction.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/agents/repo_agent.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/agents/role_assignment_agent.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/agents/search_agent.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/agents/task_agent.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/agents/tool_agents/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/agents/tool_agents/base.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/agents/tool_agents/hugging_face_tool_agent.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/benchmarks/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/benchmarks/apibank.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/benchmarks/apibench.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/benchmarks/base.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/benchmarks/browsecomp.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/benchmarks/gaia.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/benchmarks/mock_website/README.md +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/benchmarks/mock_website/mock_web.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/benchmarks/mock_website/requirements.txt +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/benchmarks/mock_website/shopping_mall/app.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/benchmarks/mock_website/task.json +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/benchmarks/nexus.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/benchmarks/ragbench.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/bots/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/bots/discord/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/bots/discord/discord_app.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/bots/discord/discord_installation.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/bots/discord/discord_store.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/bots/slack/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/bots/slack/models.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/bots/slack/slack_app.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/bots/telegram_bot.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/aiml_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/amd_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/anthropic_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/base_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/bedrock_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/cohere_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/cometapi_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/crynux_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/deepseek_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/gemini_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/groq_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/internlm_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/litellm_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/lmstudio_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/mistral_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/modelscope_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/moonshot_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/nebius_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/netmind_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/novita_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/nvidia_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/ollama_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/openai_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/openrouter_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/ppio_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/qianfan_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/qwen_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/reka_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/samba_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/sglang_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/siliconflow_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/togetherai_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/vllm_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/watsonx_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/yi_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/configs/zhipuai_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/data_collectors/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/data_collectors/alpaca_collector.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/data_collectors/base.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/data_collectors/sharegpt_collector.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/datagen/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/datagen/cot_datagen.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/datagen/evol_instruct/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/datagen/evol_instruct/evol_instruct.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/datagen/evol_instruct/scorer.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/datagen/evol_instruct/templates.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/datagen/self_improving_cot.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/datagen/self_instruct/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/datagen/self_instruct/filter/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/datagen/self_instruct/filter/filter_function.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/datagen/self_instruct/filter/filter_registry.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/datagen/self_instruct/filter/instruction_filter.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/datagen/self_instruct/self_instruct.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/datagen/self_instruct/templates.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/datagen/source2synth/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/datagen/source2synth/data_processor.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/datagen/source2synth/models.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/datagen/source2synth/user_data_processor_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/datahubs/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/datahubs/base.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/datahubs/huggingface.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/datahubs/models.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/datasets/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/datasets/base_generator.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/datasets/few_shot_generator.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/datasets/models.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/datasets/self_instruct_generator.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/datasets/static_dataset.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/embeddings/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/embeddings/azure_embedding.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/embeddings/base.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/embeddings/gemini_embedding.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/embeddings/jina_embedding.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/embeddings/mistral_embedding.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/embeddings/openai_compatible_embedding.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/embeddings/openai_embedding.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/embeddings/sentence_transformers_embeddings.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/embeddings/together_embedding.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/embeddings/vlm_embedding.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/environments/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/environments/models.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/environments/multi_step.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/environments/rlcards_env.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/environments/single_step.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/environments/tic_tac_toe.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/extractors/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/extractors/base.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/extractors/python_strategies.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/generators.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/human.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/interpreters/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/interpreters/base.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/interpreters/docker/Dockerfile +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/interpreters/docker_interpreter.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/interpreters/e2b_interpreter.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/interpreters/internal_python_interpreter.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/interpreters/interpreter_error.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/interpreters/ipython_interpreter.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/interpreters/microsandbox_interpreter.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/interpreters/subprocess_interpreter.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/loaders/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/loaders/apify_reader.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/loaders/base_io.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/loaders/base_loader.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/loaders/crawl4ai_reader.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/loaders/firecrawl_reader.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/loaders/jina_url_reader.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/loaders/markitdown.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/loaders/mineru_extractor.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/loaders/mistral_reader.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/loaders/pandas_reader.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/loaders/scrapegraph_reader.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/loaders/unstructured_io.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/logger.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/memories/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/memories/agent_memories.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/memories/base.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/memories/blocks/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/memories/blocks/chat_history_block.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/memories/blocks/vectordb_block.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/memories/context_creators/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/memories/context_creators/score_based.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/messages/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/messages/conversion/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/messages/conversion/alpaca.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/messages/conversion/conversation_models.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/messages/conversion/sharegpt/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/messages/conversion/sharegpt/function_call_formatter.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/messages/conversion/sharegpt/hermes/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/messages/conversion/sharegpt/hermes/hermes_function_formatter.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/messages/func_message.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/_utils.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/aiml_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/amd_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/anthropic_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/aws_bedrock_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/azure_openai_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/base_audio_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/base_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/cohere_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/cometapi_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/crynux_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/deepseek_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/fish_audio_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/gemini_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/groq_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/internlm_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/litellm_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/lmstudio_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/mistral_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/model_factory.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/model_manager.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/modelscope_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/moonshot_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/nebius_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/nemotron_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/netmind_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/novita_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/nvidia_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/ollama_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/openai_audio_models.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/openai_compatible_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/openai_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/openrouter_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/ppio_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/qianfan_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/qwen_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/reka_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/reward/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/reward/base_reward_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/reward/evaluator.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/reward/nemotron_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/reward/skywork_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/samba_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/sglang_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/siliconflow_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/stub_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/togetherai_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/vllm_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/volcano_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/watsonx_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/yi_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/models/zhipuai_model.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/personas/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/personas/persona.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/personas/persona_hub.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/prompts/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/prompts/ai_society.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/prompts/base.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/prompts/code.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/prompts/evaluation.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/prompts/generate_text_embedding_data.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/prompts/image_craft.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/prompts/misalignment.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/prompts/multi_condition_image_craft.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/prompts/object_recognition.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/prompts/persona_hub.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/prompts/prompt_templates.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/prompts/role_description_prompt_template.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/prompts/solution_extraction.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/prompts/task_prompt_template.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/prompts/translation.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/prompts/video_description_prompt.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/py.typed +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/responses/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/responses/agent_responses.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/retrievers/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/retrievers/auto_retriever.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/retrievers/base.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/retrievers/bm25_retriever.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/retrievers/cohere_rerank_retriever.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/retrievers/hybrid_retrival.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/retrievers/vector_retriever.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/runtimes/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/runtimes/api.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/runtimes/base.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/runtimes/configs.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/runtimes/daytona_runtime.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/runtimes/docker_runtime.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/runtimes/llm_guard_runtime.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/runtimes/remote_http_runtime.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/runtimes/ubuntu_docker_runtime.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/runtimes/utils/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/runtimes/utils/function_risk_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/runtimes/utils/ignore_risk_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/schemas/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/schemas/base.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/schemas/openai_converter.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/schemas/outlines_converter.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/services/agent_openapi_server.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/societies/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/societies/babyagi_playing.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/societies/role_playing.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/societies/workforce/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/societies/workforce/base.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/societies/workforce/prompts.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/societies/workforce/role_playing_worker.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/societies/workforce/single_agent_worker.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/societies/workforce/structured_output_handler.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/societies/workforce/utils.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/societies/workforce/worker.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/societies/workforce/workforce_logger.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/storages/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/storages/graph_storages/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/storages/graph_storages/base.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/storages/graph_storages/graph_element.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/storages/graph_storages/nebula_graph.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/storages/graph_storages/neo4j_graph.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/storages/key_value_storages/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/storages/key_value_storages/base.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/storages/key_value_storages/in_memory.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/storages/key_value_storages/json.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/storages/key_value_storages/mem0_cloud.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/storages/key_value_storages/redis.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/storages/object_storages/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/storages/object_storages/amazon_s3.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/storages/object_storages/azure_blob.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/storages/object_storages/base.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/storages/object_storages/google_cloud.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/storages/vectordb_storages/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/storages/vectordb_storages/base.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/storages/vectordb_storages/chroma.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/storages/vectordb_storages/faiss.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/storages/vectordb_storages/milvus.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/storages/vectordb_storages/pgvector.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/storages/vectordb_storages/qdrant.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/storages/vectordb_storages/surreal.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/storages/vectordb_storages/tidb.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/storages/vectordb_storages/weaviate.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/tasks/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/tasks/task_prompt.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/terminators/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/terminators/base.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/terminators/response_terminator.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/terminators/token_limit_terminator.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/aci_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/arxiv_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/ask_news_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/async_browser_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/audio_analysis_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/base.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/bohrium_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/browser_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/browser_toolkit_commons.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/code_execution.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/context_summarizer_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/craw4ai_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/dappier_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/data_commons_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/dingtalk.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/edgeone_pages_mcp_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/excel_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/file_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/function_tool.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/github_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/google_calendar_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/google_drive_mcp_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/google_maps_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/google_scholar_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/human_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/hybrid_browser_toolkit/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/hybrid_browser_toolkit/config_loader.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/hybrid_browser_toolkit/hybrid_browser_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/hybrid_browser_toolkit/hybrid_browser_toolkit_ts.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/hybrid_browser_toolkit/ts/src/browser-scripts.js +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/hybrid_browser_toolkit/ts/src/browser-session.ts +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/hybrid_browser_toolkit/ts/src/config-loader.ts +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/hybrid_browser_toolkit/ts/src/hybrid-browser-toolkit.ts +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/hybrid_browser_toolkit/ts/src/index.ts +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/hybrid_browser_toolkit/ts/src/parent-child-filter.ts +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/hybrid_browser_toolkit/ts/src/snapshot-parser.ts +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/hybrid_browser_toolkit/ts/src/som-screenshot-injected.ts +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/hybrid_browser_toolkit/ts/src/types.ts +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/hybrid_browser_toolkit/ts/tsconfig.json +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/hybrid_browser_toolkit/ts/websocket-server.js +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/hybrid_browser_toolkit_py/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/hybrid_browser_toolkit_py/actions.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/hybrid_browser_toolkit_py/agent.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/hybrid_browser_toolkit_py/browser_session.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/hybrid_browser_toolkit_py/config_loader.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/hybrid_browser_toolkit_py/hybrid_browser_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/hybrid_browser_toolkit_py/snapshot.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/hybrid_browser_toolkit_py/stealth_script.js +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/hybrid_browser_toolkit_py/unified_analyzer.js +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/image_analysis_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/image_generation_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/jina_reranker_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/klavis_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/linkedin_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/markitdown_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/math_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/mcp_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/memory_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/meshy_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/message_agent_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/message_integration.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/mineru_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/minimax_mcp_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/networkx_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/note_taking_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/notion_mcp_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/notion_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/open_api_specs/biztoc/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/open_api_specs/biztoc/ai-plugin.json +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/open_api_specs/biztoc/openapi.yaml +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/open_api_specs/coursera/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/open_api_specs/coursera/openapi.yaml +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/open_api_specs/create_qr_code/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/open_api_specs/create_qr_code/openapi.yaml +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/open_api_specs/klarna/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/open_api_specs/klarna/openapi.yaml +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/open_api_specs/nasa_apod/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/open_api_specs/nasa_apod/openapi.yaml +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/open_api_specs/outschool/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/open_api_specs/outschool/ai-plugin.json +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/open_api_specs/outschool/openapi.yaml +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/open_api_specs/outschool/paths/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/open_api_specs/outschool/paths/get_classes.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/open_api_specs/outschool/paths/search_teachers.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/open_api_specs/security_config.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/open_api_specs/speak/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/open_api_specs/speak/openapi.yaml +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/open_api_specs/web_scraper/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/open_api_specs/web_scraper/ai-plugin.json +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/open_api_specs/web_scraper/openapi.yaml +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/open_api_specs/web_scraper/paths/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/open_api_specs/web_scraper/paths/scraper.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/open_api_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/openbb_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/origene_mcp_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/page_script.js +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/playwright_mcp_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/pptx_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/pubmed_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/pulse_mcp_search_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/pyautogui_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/reddit_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/resend_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/retrieval_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/screenshot_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/search_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/searxng_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/semantic_scholar_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/slack_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/stripe_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/sympy_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/task_planning_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/terminal_toolkit/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/terminal_toolkit/terminal_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/terminal_toolkit/utils.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/thinking_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/twitter_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/vertex_ai_veo_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/video_download_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/weather_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/web_deploy_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/wechat_official_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/whatsapp_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/wolfram_alpha_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/toolkits/zapier_toolkit.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/types/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/types/agents/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/types/agents/tool_calling_record.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/types/mcp_registries.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/types/openai_types.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/types/unified_model_type.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/utils/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/utils/async_func.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/utils/chunker/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/utils/chunker/base.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/utils/chunker/code_chunker.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/utils/chunker/uio_chunker.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/utils/constants.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/utils/context_utils.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/utils/deduplication.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/utils/filename.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/utils/langfuse.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/utils/mcp.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/utils/mcp_client.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/utils/message_summarizer.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/utils/response_format.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/utils/tool_result.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/verifiers/__init__.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/verifiers/base.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/verifiers/math_verifier.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/verifiers/models.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/camel/verifiers/physics_verifier.py +0 -0
- {camel_ai-0.2.76a8 → camel_ai-0.2.76a12}/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.76a12
|
|
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
|
|
@@ -20,6 +20,7 @@ Requires-Dist: pillow<11.0.0,>=10.1.0
|
|
|
20
20
|
Requires-Dist: psutil<6,>=5.9.8
|
|
21
21
|
Requires-Dist: pydantic>=2.10.6
|
|
22
22
|
Requires-Dist: tiktoken<0.8,>=0.7.0
|
|
23
|
+
Requires-Dist: websockets<15.1,>=13.0
|
|
23
24
|
Provides-Extra: all
|
|
24
25
|
Requires-Dist: aci-sdk>=1.0.0b1; extra == 'all'
|
|
25
26
|
Requires-Dist: agentops<0.4,>=0.3.21; extra == 'all'
|
|
@@ -235,6 +236,8 @@ Requires-Dist: docx>=0.2.4; extra == 'eigent'
|
|
|
235
236
|
Requires-Dist: exa-py<2,>=1.10.0; extra == 'eigent'
|
|
236
237
|
Requires-Dist: ffmpeg-python<0.3,>=0.2.0; extra == 'eigent'
|
|
237
238
|
Requires-Dist: google-api-python-client==2.166.0; extra == 'eigent'
|
|
239
|
+
Requires-Dist: google-auth-httplib2==0.2.0; extra == 'eigent'
|
|
240
|
+
Requires-Dist: google-auth-oauthlib==1.2.1; extra == 'eigent'
|
|
238
241
|
Requires-Dist: imageio[pyav]<3,>=2.34.2; extra == 'eigent'
|
|
239
242
|
Requires-Dist: markitdown[all]>=0.1.1; extra == 'eigent'
|
|
240
243
|
Requires-Dist: mcp-server-fetch==2025.1.17; extra == 'eigent'
|
|
@@ -612,7 +615,7 @@ We are a community-driven research collective comprising over 100 researchers de
|
|
|
612
615
|
</div>
|
|
613
616
|
|
|
614
617
|
<div align="center">
|
|
615
|
-
<a href="https://docs.camel-ai.org/cookbooks/advanced_features/agents_with_rag
|
|
618
|
+
<a href="https://docs.camel-ai.org/cookbooks/advanced_features/agents_with_rag">
|
|
616
619
|
<img src="docs/images/rag_pipeline.png" alt="RAG Pipeline">
|
|
617
620
|
</a>
|
|
618
621
|
</div>
|
|
@@ -698,10 +701,10 @@ We provide a [**
|
|
705
|
+
- **[Creating Your First Agent Society](https://docs.camel-ai.org/cookbooks/basic_concepts/create_your_first_agents_society)**
|
|
706
|
+
- **[Embodied Agents](https://docs.camel-ai.org/cookbooks/advanced_features/embodied_agents)**
|
|
707
|
+
- **[Critic Agents](https://docs.camel-ai.org/cookbooks/advanced_features/critic_agents_and_tree_search)**
|
|
705
708
|
|
|
706
709
|
### Seeking Help
|
|
707
710
|
|
|
@@ -722,19 +725,19 @@ Core components and utilities to build, operate, and enhance CAMEL-AI agents and
|
|
|
722
725
|
|
|
723
726
|
| Module | Description |
|
|
724
727
|
|:---|:---|
|
|
725
|
-
| **[Agents](https://docs.camel-ai.org/key_modules/agents
|
|
726
|
-
| **[Agent Societies](https://docs.camel-ai.org/key_modules/society
|
|
727
|
-
| **[Data Generation](https://docs.camel-ai.org/key_modules/datagen
|
|
728
|
-
| **[Models](https://docs.camel-ai.org/key_modules/models
|
|
729
|
-
| **[Tools](https://docs.camel-ai.org/key_modules/tools
|
|
730
|
-
| **[Memory](https://docs.camel-ai.org/key_modules/memory
|
|
731
|
-
| **[Storage](https://docs.camel-ai.org/key_modules/storages
|
|
728
|
+
| **[Agents](https://docs.camel-ai.org/key_modules/agents)** | Core agent architectures and behaviors for autonomous operation. |
|
|
729
|
+
| **[Agent Societies](https://docs.camel-ai.org/key_modules/society)** | Components for building and managing multi-agent systems and collaboration. |
|
|
730
|
+
| **[Data Generation](https://docs.camel-ai.org/key_modules/datagen)** | Tools and methods for synthetic data creation and augmentation. |
|
|
731
|
+
| **[Models](https://docs.camel-ai.org/key_modules/models)** | Model architectures and customization options for agent intelligence. |
|
|
732
|
+
| **[Tools](https://docs.camel-ai.org/key_modules/tools)** | Tools integration for specialized agent tasks. |
|
|
733
|
+
| **[Memory](https://docs.camel-ai.org/key_modules/memory)** | Memory storage and retrieval mechanisms for agent state management. |
|
|
734
|
+
| **[Storage](https://docs.camel-ai.org/key_modules/storages)** | Persistent storage solutions for agent data and states. |
|
|
732
735
|
| **[Benchmarks](https://github.com/camel-ai/camel/tree/master/camel/benchmarks)** | Performance evaluation and testing frameworks. |
|
|
733
|
-
| **[Interpreters](https://docs.camel-ai.org/key_modules/interpreters
|
|
734
|
-
| **[Data Loaders](https://docs.camel-ai.org/key_modules/loaders
|
|
735
|
-
| **[Retrievers](https://docs.camel-ai.org/key_modules/retrievers
|
|
736
|
+
| **[Interpreters](https://docs.camel-ai.org/key_modules/interpreters)** | Code and command interpretation capabilities. |
|
|
737
|
+
| **[Data Loaders](https://docs.camel-ai.org/key_modules/loaders)** | Data ingestion and preprocessing tools. |
|
|
738
|
+
| **[Retrievers](https://docs.camel-ai.org/key_modules/retrievers)** | Knowledge retrieval and RAG components. |
|
|
736
739
|
| **[Runtime](https://github.com/camel-ai/camel/tree/master/camel/runtime)** | Execution environment and process management. |
|
|
737
|
-
| **[Human-in-the-Loop](https://docs.camel-ai.org/cookbooks/advanced_features/agents_with_human_in_loop_and_tool_approval
|
|
740
|
+
| **[Human-in-the-Loop](https://docs.camel-ai.org/cookbooks/advanced_features/agents_with_human_in_loop_and_tool_approval)** | Interactive components for human oversight and intervention. |
|
|
738
741
|
---
|
|
739
742
|
|
|
740
743
|
## Research
|
|
@@ -795,7 +798,7 @@ We believe that studying these agents on a large scale offers valuable insights
|
|
|
795
798
|
|
|
796
799
|
### 1. Utilize Various LLMs as Backends
|
|
797
800
|
|
|
798
|
-
For more details, please see our [`Models Documentation`](https://docs.camel-ai.org/key_modules/models
|
|
801
|
+
For more details, please see our [`Models Documentation`](https://docs.camel-ai.org/key_modules/models#).
|
|
799
802
|
|
|
800
803
|
> **Data (Hosted on Hugging Face)**
|
|
801
804
|
|
|
@@ -824,42 +827,42 @@ Practical guides and tutorials for implementing specific functionalities in CAME
|
|
|
824
827
|
### 1. Basic Concepts
|
|
825
828
|
| Cookbook | Description |
|
|
826
829
|
|:---|:---|
|
|
827
|
-
| **[Creating Your First Agent](https://docs.camel-ai.org/cookbooks/basic_concepts/create_your_first_agent
|
|
828
|
-
| **[Creating Your First Agent Society](https://docs.camel-ai.org/cookbooks/basic_concepts/create_your_first_agents_society
|
|
829
|
-
| **[Message Cookbook](https://docs.camel-ai.org/cookbooks/basic_concepts/agents_message
|
|
830
|
+
| **[Creating Your First Agent](https://docs.camel-ai.org/cookbooks/basic_concepts/create_your_first_agent)** | A step-by-step guide to building your first agent. |
|
|
831
|
+
| **[Creating Your First Agent Society](https://docs.camel-ai.org/cookbooks/basic_concepts/create_your_first_agents_society)** | Learn to build a collaborative society of agents. |
|
|
832
|
+
| **[Message Cookbook](https://docs.camel-ai.org/cookbooks/basic_concepts/agents_message)** | Best practices for message handling in agents. |
|
|
830
833
|
|
|
831
834
|
### 2. Advanced Features
|
|
832
835
|
| Cookbook | Description |
|
|
833
836
|
|:---|:---|
|
|
834
|
-
| **[Tools Cookbook](https://docs.camel-ai.org/cookbooks/advanced_features/agents_with_tools
|
|
835
|
-
| **[Memory Cookbook](https://docs.camel-ai.org/cookbooks/advanced_features/agents_with_memory
|
|
836
|
-
| **[RAG Cookbook](https://docs.camel-ai.org/cookbooks/advanced_features/agents_with_rag
|
|
837
|
-
| **[Graph RAG Cookbook](https://docs.camel-ai.org/cookbooks/advanced_features/agents_with_graph_rag
|
|
838
|
-
| **[Track CAMEL Agents with AgentOps](https://docs.camel-ai.org/cookbooks/advanced_features/agents_tracking
|
|
837
|
+
| **[Tools Cookbook](https://docs.camel-ai.org/cookbooks/advanced_features/agents_with_tools)** | Integrating tools for enhanced functionality. |
|
|
838
|
+
| **[Memory Cookbook](https://docs.camel-ai.org/cookbooks/advanced_features/agents_with_memory)** | Implementing memory systems in agents. |
|
|
839
|
+
| **[RAG Cookbook](https://docs.camel-ai.org/cookbooks/advanced_features/agents_with_rag)** | Recipes for Retrieval-Augmented Generation. |
|
|
840
|
+
| **[Graph RAG Cookbook](https://docs.camel-ai.org/cookbooks/advanced_features/agents_with_graph_rag)** | Leveraging knowledge graphs with RAG. |
|
|
841
|
+
| **[Track CAMEL Agents with AgentOps](https://docs.camel-ai.org/cookbooks/advanced_features/agents_tracking)** | Tools for tracking and managing agents in operations. |
|
|
839
842
|
|
|
840
843
|
### 3. Model Training & Data Generation
|
|
841
844
|
| Cookbook | Description |
|
|
842
845
|
|:---|:---|
|
|
843
|
-
| **[Data Generation with CAMEL and Finetuning with Unsloth](https://docs.camel-ai.org/cookbooks/data_generation/sft_data_generation_and_unsloth_finetuning_Qwen2_5_7B
|
|
844
|
-
| **[Data Gen with Real Function Calls and Hermes Format](https://docs.camel-ai.org/cookbooks/data_generation/data_gen_with_real_function_calls_and_hermes_format
|
|
845
|
-
| **[CoT Data Generation and Upload Data to Huggingface](https://docs.camel-ai.org/cookbooks/data_generation/distill_math_reasoning_data_from_deepseek_r1
|
|
846
|
-
| **[CoT Data Generation and SFT Qwen with Unsolth](https://docs.camel-ai.org/cookbooks/data_generation/cot_data_gen_sft_qwen_unsolth_upload_huggingface
|
|
846
|
+
| **[Data Generation with CAMEL and Finetuning with Unsloth](https://docs.camel-ai.org/cookbooks/data_generation/sft_data_generation_and_unsloth_finetuning_Qwen2_5_7B)** | Learn how to generate data with CAMEL and fine-tune models effectively with Unsloth. |
|
|
847
|
+
| **[Data Gen with Real Function Calls and Hermes Format](https://docs.camel-ai.org/cookbooks/data_generation/data_gen_with_real_function_calls_and_hermes_format)** | Explore how to generate data with real function calls and the Hermes format. |
|
|
848
|
+
| **[CoT Data Generation and Upload Data to Huggingface](https://docs.camel-ai.org/cookbooks/data_generation/distill_math_reasoning_data_from_deepseek_r1)** | Uncover how to generate CoT data with CAMEL and seamlessly upload it to Huggingface. |
|
|
849
|
+
| **[CoT Data Generation and SFT Qwen with Unsolth](https://docs.camel-ai.org/cookbooks/data_generation/cot_data_gen_sft_qwen_unsolth_upload_huggingface)** | Discover how to generate CoT data using CAMEL and SFT Qwen with Unsolth, and seamlessly upload your data and model to Huggingface. |
|
|
847
850
|
|
|
848
851
|
### 4. Multi-Agent Systems & Applications
|
|
849
852
|
| Cookbook | Description |
|
|
850
853
|
|:---|:---|
|
|
851
|
-
| **[Role-Playing Scraper for Report & Knowledge Graph Generation](https://docs.camel-ai.org/cookbooks/applications/roleplaying_scraper
|
|
852
|
-
| **[Create A Hackathon Judge Committee with Workforce](https://docs.camel-ai.org/cookbooks/multi_agent_society/workforce_judge_committee
|
|
853
|
-
| **[Dynamic Knowledge Graph Role-Playing: Multi-Agent System with dynamic, temporally-aware knowledge graphs](https://docs.camel-ai.org/cookbooks/
|
|
854
|
-
| **[Customer Service Discord Bot with Agentic RAG](https://docs.camel-ai.org/cookbooks/applications/customer_service_Discord_bot_using_SambaNova_with_agentic_RAG
|
|
855
|
-
| **[Customer Service Discord Bot with Local Model](https://docs.camel-ai.org/cookbooks/applications/customer_service_Discord_bot_using_local_model_with_agentic_RAG
|
|
854
|
+
| **[Role-Playing Scraper for Report & Knowledge Graph Generation](https://docs.camel-ai.org/cookbooks/applications/roleplaying_scraper)** | Create role-playing agents for data scraping and reporting. |
|
|
855
|
+
| **[Create A Hackathon Judge Committee with Workforce](https://docs.camel-ai.org/cookbooks/multi_agent_society/workforce_judge_committee)** | Building a team of agents for collaborative judging. |
|
|
856
|
+
| **[Dynamic Knowledge Graph Role-Playing: Multi-Agent System with dynamic, temporally-aware knowledge graphs](https://docs.camel-ai.org/cookbooks/advanced_features/agents_with_dkg)** | Builds dynamic, temporally-aware knowledge graphs for financial applications using a multi-agent system. It processes financial reports, news articles, and research papers to help traders analyze data, identify relationships, and uncover market insights. The system also utilizes diverse and optional element node deduplication techniques to ensure data integrity and optimize graph structure for financial decision-making. |
|
|
857
|
+
| **[Customer Service Discord Bot with Agentic RAG](https://docs.camel-ai.org/cookbooks/applications/customer_service_Discord_bot_using_SambaNova_with_agentic_RAG)** | Learn how to build a robust customer service bot for Discord using Agentic RAG. |
|
|
858
|
+
| **[Customer Service Discord Bot with Local Model](https://docs.camel-ai.org/cookbooks/applications/customer_service_Discord_bot_using_local_model_with_agentic_RAG)** | Learn how to build a robust customer service bot for Discord using Agentic RAG which supports local deployment. |
|
|
856
859
|
|
|
857
860
|
### 5. Data Processing
|
|
858
861
|
| Cookbook | Description |
|
|
859
862
|
|:---|:---|
|
|
860
|
-
| **[Video Analysis](https://docs.camel-ai.org/cookbooks/data_processing/video_analysis
|
|
861
|
-
| **[3 Ways to Ingest Data from Websites with Firecrawl](https://docs.camel-ai.org/cookbooks/data_processing/ingest_data_from_websites_with_Firecrawl
|
|
862
|
-
| **[Create AI Agents that work with your PDFs](https://docs.camel-ai.org/cookbooks/data_processing/agent_with_chunkr_for_pdf_parsing
|
|
863
|
+
| **[Video Analysis](https://docs.camel-ai.org/cookbooks/data_processing/video_analysis)** | Techniques for agents in video data analysis. |
|
|
864
|
+
| **[3 Ways to Ingest Data from Websites with Firecrawl](https://docs.camel-ai.org/cookbooks/data_processing/ingest_data_from_websites_with_Firecrawl)** | Explore three methods for extracting and processing data from websites using Firecrawl. |
|
|
865
|
+
| **[Create AI Agents that work with your PDFs](https://docs.camel-ai.org/cookbooks/data_processing/agent_with_chunkr_for_pdf_parsing)** | Learn how to create AI agents that work with your PDFs using Chunkr and Mistral AI. |
|
|
863
866
|
|
|
864
867
|
<br>
|
|
865
868
|
|
|
@@ -1000,7 +1003,7 @@ The source code is licensed under Apache 2.0.
|
|
|
1000
1003
|
<br>
|
|
1001
1004
|
|
|
1002
1005
|
[docs-image]: https://img.shields.io/badge/Documentation-EB3ECC
|
|
1003
|
-
[docs-url]: https://camel-ai.github.io/camel/index
|
|
1006
|
+
[docs-url]: https://camel-ai.github.io/camel/index
|
|
1004
1007
|
[star-image]: https://img.shields.io/github/stars/camel-ai/camel?label=stars&logo=github&color=brightgreen
|
|
1005
1008
|
[star-url]: https://github.com/camel-ai/camel/stargazers
|
|
1006
1009
|
[package-license-image]: https://img.shields.io/badge/License-Apache_2.0-blue.svg
|
|
@@ -1024,4 +1027,4 @@ The source code is licensed under Apache 2.0.
|
|
|
1024
1027
|
[package-download-url]: https://pypi.org/project/camel-ai
|
|
1025
1028
|
[join-us]:https://eigent-ai.notion.site/eigent-ai-careers
|
|
1026
1029
|
[join-us-image]:https://img.shields.io/badge/Join%20Us-yellow?style=plastic
|
|
1027
|
-
[image-join-us]: https://camel-ai.github.io/camel_asset/graphics/join_us.png
|
|
1030
|
+
[image-join-us]: https://camel-ai.github.io/camel_asset/graphics/join_us.png
|
|
@@ -213,7 +213,7 @@ We are a community-driven research collective comprising over 100 researchers de
|
|
|
213
213
|
</div>
|
|
214
214
|
|
|
215
215
|
<div align="center">
|
|
216
|
-
<a href="https://docs.camel-ai.org/cookbooks/advanced_features/agents_with_rag
|
|
216
|
+
<a href="https://docs.camel-ai.org/cookbooks/advanced_features/agents_with_rag">
|
|
217
217
|
<img src="docs/images/rag_pipeline.png" alt="RAG Pipeline">
|
|
218
218
|
</a>
|
|
219
219
|
</div>
|
|
@@ -299,10 +299,10 @@ We provide a [**
|
|
303
|
+
- **[Creating Your First Agent Society](https://docs.camel-ai.org/cookbooks/basic_concepts/create_your_first_agents_society)**
|
|
304
|
+
- **[Embodied Agents](https://docs.camel-ai.org/cookbooks/advanced_features/embodied_agents)**
|
|
305
|
+
- **[Critic Agents](https://docs.camel-ai.org/cookbooks/advanced_features/critic_agents_and_tree_search)**
|
|
306
306
|
|
|
307
307
|
### Seeking Help
|
|
308
308
|
|
|
@@ -323,19 +323,19 @@ Core components and utilities to build, operate, and enhance CAMEL-AI agents and
|
|
|
323
323
|
|
|
324
324
|
| Module | Description |
|
|
325
325
|
|:---|:---|
|
|
326
|
-
| **[Agents](https://docs.camel-ai.org/key_modules/agents
|
|
327
|
-
| **[Agent Societies](https://docs.camel-ai.org/key_modules/society
|
|
328
|
-
| **[Data Generation](https://docs.camel-ai.org/key_modules/datagen
|
|
329
|
-
| **[Models](https://docs.camel-ai.org/key_modules/models
|
|
330
|
-
| **[Tools](https://docs.camel-ai.org/key_modules/tools
|
|
331
|
-
| **[Memory](https://docs.camel-ai.org/key_modules/memory
|
|
332
|
-
| **[Storage](https://docs.camel-ai.org/key_modules/storages
|
|
326
|
+
| **[Agents](https://docs.camel-ai.org/key_modules/agents)** | Core agent architectures and behaviors for autonomous operation. |
|
|
327
|
+
| **[Agent Societies](https://docs.camel-ai.org/key_modules/society)** | Components for building and managing multi-agent systems and collaboration. |
|
|
328
|
+
| **[Data Generation](https://docs.camel-ai.org/key_modules/datagen)** | Tools and methods for synthetic data creation and augmentation. |
|
|
329
|
+
| **[Models](https://docs.camel-ai.org/key_modules/models)** | Model architectures and customization options for agent intelligence. |
|
|
330
|
+
| **[Tools](https://docs.camel-ai.org/key_modules/tools)** | Tools integration for specialized agent tasks. |
|
|
331
|
+
| **[Memory](https://docs.camel-ai.org/key_modules/memory)** | Memory storage and retrieval mechanisms for agent state management. |
|
|
332
|
+
| **[Storage](https://docs.camel-ai.org/key_modules/storages)** | Persistent storage solutions for agent data and states. |
|
|
333
333
|
| **[Benchmarks](https://github.com/camel-ai/camel/tree/master/camel/benchmarks)** | Performance evaluation and testing frameworks. |
|
|
334
|
-
| **[Interpreters](https://docs.camel-ai.org/key_modules/interpreters
|
|
335
|
-
| **[Data Loaders](https://docs.camel-ai.org/key_modules/loaders
|
|
336
|
-
| **[Retrievers](https://docs.camel-ai.org/key_modules/retrievers
|
|
334
|
+
| **[Interpreters](https://docs.camel-ai.org/key_modules/interpreters)** | Code and command interpretation capabilities. |
|
|
335
|
+
| **[Data Loaders](https://docs.camel-ai.org/key_modules/loaders)** | Data ingestion and preprocessing tools. |
|
|
336
|
+
| **[Retrievers](https://docs.camel-ai.org/key_modules/retrievers)** | Knowledge retrieval and RAG components. |
|
|
337
337
|
| **[Runtime](https://github.com/camel-ai/camel/tree/master/camel/runtime)** | Execution environment and process management. |
|
|
338
|
-
| **[Human-in-the-Loop](https://docs.camel-ai.org/cookbooks/advanced_features/agents_with_human_in_loop_and_tool_approval
|
|
338
|
+
| **[Human-in-the-Loop](https://docs.camel-ai.org/cookbooks/advanced_features/agents_with_human_in_loop_and_tool_approval)** | Interactive components for human oversight and intervention. |
|
|
339
339
|
---
|
|
340
340
|
|
|
341
341
|
## Research
|
|
@@ -396,7 +396,7 @@ We believe that studying these agents on a large scale offers valuable insights
|
|
|
396
396
|
|
|
397
397
|
### 1. Utilize Various LLMs as Backends
|
|
398
398
|
|
|
399
|
-
For more details, please see our [`Models Documentation`](https://docs.camel-ai.org/key_modules/models
|
|
399
|
+
For more details, please see our [`Models Documentation`](https://docs.camel-ai.org/key_modules/models#).
|
|
400
400
|
|
|
401
401
|
> **Data (Hosted on Hugging Face)**
|
|
402
402
|
|
|
@@ -425,42 +425,42 @@ Practical guides and tutorials for implementing specific functionalities in CAME
|
|
|
425
425
|
### 1. Basic Concepts
|
|
426
426
|
| Cookbook | Description |
|
|
427
427
|
|:---|:---|
|
|
428
|
-
| **[Creating Your First Agent](https://docs.camel-ai.org/cookbooks/basic_concepts/create_your_first_agent
|
|
429
|
-
| **[Creating Your First Agent Society](https://docs.camel-ai.org/cookbooks/basic_concepts/create_your_first_agents_society
|
|
430
|
-
| **[Message Cookbook](https://docs.camel-ai.org/cookbooks/basic_concepts/agents_message
|
|
428
|
+
| **[Creating Your First Agent](https://docs.camel-ai.org/cookbooks/basic_concepts/create_your_first_agent)** | A step-by-step guide to building your first agent. |
|
|
429
|
+
| **[Creating Your First Agent Society](https://docs.camel-ai.org/cookbooks/basic_concepts/create_your_first_agents_society)** | Learn to build a collaborative society of agents. |
|
|
430
|
+
| **[Message Cookbook](https://docs.camel-ai.org/cookbooks/basic_concepts/agents_message)** | Best practices for message handling in agents. |
|
|
431
431
|
|
|
432
432
|
### 2. Advanced Features
|
|
433
433
|
| Cookbook | Description |
|
|
434
434
|
|:---|:---|
|
|
435
|
-
| **[Tools Cookbook](https://docs.camel-ai.org/cookbooks/advanced_features/agents_with_tools
|
|
436
|
-
| **[Memory Cookbook](https://docs.camel-ai.org/cookbooks/advanced_features/agents_with_memory
|
|
437
|
-
| **[RAG Cookbook](https://docs.camel-ai.org/cookbooks/advanced_features/agents_with_rag
|
|
438
|
-
| **[Graph RAG Cookbook](https://docs.camel-ai.org/cookbooks/advanced_features/agents_with_graph_rag
|
|
439
|
-
| **[Track CAMEL Agents with AgentOps](https://docs.camel-ai.org/cookbooks/advanced_features/agents_tracking
|
|
435
|
+
| **[Tools Cookbook](https://docs.camel-ai.org/cookbooks/advanced_features/agents_with_tools)** | Integrating tools for enhanced functionality. |
|
|
436
|
+
| **[Memory Cookbook](https://docs.camel-ai.org/cookbooks/advanced_features/agents_with_memory)** | Implementing memory systems in agents. |
|
|
437
|
+
| **[RAG Cookbook](https://docs.camel-ai.org/cookbooks/advanced_features/agents_with_rag)** | Recipes for Retrieval-Augmented Generation. |
|
|
438
|
+
| **[Graph RAG Cookbook](https://docs.camel-ai.org/cookbooks/advanced_features/agents_with_graph_rag)** | Leveraging knowledge graphs with RAG. |
|
|
439
|
+
| **[Track CAMEL Agents with AgentOps](https://docs.camel-ai.org/cookbooks/advanced_features/agents_tracking)** | Tools for tracking and managing agents in operations. |
|
|
440
440
|
|
|
441
441
|
### 3. Model Training & Data Generation
|
|
442
442
|
| Cookbook | Description |
|
|
443
443
|
|:---|:---|
|
|
444
|
-
| **[Data Generation with CAMEL and Finetuning with Unsloth](https://docs.camel-ai.org/cookbooks/data_generation/sft_data_generation_and_unsloth_finetuning_Qwen2_5_7B
|
|
445
|
-
| **[Data Gen with Real Function Calls and Hermes Format](https://docs.camel-ai.org/cookbooks/data_generation/data_gen_with_real_function_calls_and_hermes_format
|
|
446
|
-
| **[CoT Data Generation and Upload Data to Huggingface](https://docs.camel-ai.org/cookbooks/data_generation/distill_math_reasoning_data_from_deepseek_r1
|
|
447
|
-
| **[CoT Data Generation and SFT Qwen with Unsolth](https://docs.camel-ai.org/cookbooks/data_generation/cot_data_gen_sft_qwen_unsolth_upload_huggingface
|
|
444
|
+
| **[Data Generation with CAMEL and Finetuning with Unsloth](https://docs.camel-ai.org/cookbooks/data_generation/sft_data_generation_and_unsloth_finetuning_Qwen2_5_7B)** | Learn how to generate data with CAMEL and fine-tune models effectively with Unsloth. |
|
|
445
|
+
| **[Data Gen with Real Function Calls and Hermes Format](https://docs.camel-ai.org/cookbooks/data_generation/data_gen_with_real_function_calls_and_hermes_format)** | Explore how to generate data with real function calls and the Hermes format. |
|
|
446
|
+
| **[CoT Data Generation and Upload Data to Huggingface](https://docs.camel-ai.org/cookbooks/data_generation/distill_math_reasoning_data_from_deepseek_r1)** | Uncover how to generate CoT data with CAMEL and seamlessly upload it to Huggingface. |
|
|
447
|
+
| **[CoT Data Generation and SFT Qwen with Unsolth](https://docs.camel-ai.org/cookbooks/data_generation/cot_data_gen_sft_qwen_unsolth_upload_huggingface)** | Discover how to generate CoT data using CAMEL and SFT Qwen with Unsolth, and seamlessly upload your data and model to Huggingface. |
|
|
448
448
|
|
|
449
449
|
### 4. Multi-Agent Systems & Applications
|
|
450
450
|
| Cookbook | Description |
|
|
451
451
|
|:---|:---|
|
|
452
|
-
| **[Role-Playing Scraper for Report & Knowledge Graph Generation](https://docs.camel-ai.org/cookbooks/applications/roleplaying_scraper
|
|
453
|
-
| **[Create A Hackathon Judge Committee with Workforce](https://docs.camel-ai.org/cookbooks/multi_agent_society/workforce_judge_committee
|
|
454
|
-
| **[Dynamic Knowledge Graph Role-Playing: Multi-Agent System with dynamic, temporally-aware knowledge graphs](https://docs.camel-ai.org/cookbooks/
|
|
455
|
-
| **[Customer Service Discord Bot with Agentic RAG](https://docs.camel-ai.org/cookbooks/applications/customer_service_Discord_bot_using_SambaNova_with_agentic_RAG
|
|
456
|
-
| **[Customer Service Discord Bot with Local Model](https://docs.camel-ai.org/cookbooks/applications/customer_service_Discord_bot_using_local_model_with_agentic_RAG
|
|
452
|
+
| **[Role-Playing Scraper for Report & Knowledge Graph Generation](https://docs.camel-ai.org/cookbooks/applications/roleplaying_scraper)** | Create role-playing agents for data scraping and reporting. |
|
|
453
|
+
| **[Create A Hackathon Judge Committee with Workforce](https://docs.camel-ai.org/cookbooks/multi_agent_society/workforce_judge_committee)** | Building a team of agents for collaborative judging. |
|
|
454
|
+
| **[Dynamic Knowledge Graph Role-Playing: Multi-Agent System with dynamic, temporally-aware knowledge graphs](https://docs.camel-ai.org/cookbooks/advanced_features/agents_with_dkg)** | Builds dynamic, temporally-aware knowledge graphs for financial applications using a multi-agent system. It processes financial reports, news articles, and research papers to help traders analyze data, identify relationships, and uncover market insights. The system also utilizes diverse and optional element node deduplication techniques to ensure data integrity and optimize graph structure for financial decision-making. |
|
|
455
|
+
| **[Customer Service Discord Bot with Agentic RAG](https://docs.camel-ai.org/cookbooks/applications/customer_service_Discord_bot_using_SambaNova_with_agentic_RAG)** | Learn how to build a robust customer service bot for Discord using Agentic RAG. |
|
|
456
|
+
| **[Customer Service Discord Bot with Local Model](https://docs.camel-ai.org/cookbooks/applications/customer_service_Discord_bot_using_local_model_with_agentic_RAG)** | Learn how to build a robust customer service bot for Discord using Agentic RAG which supports local deployment. |
|
|
457
457
|
|
|
458
458
|
### 5. Data Processing
|
|
459
459
|
| Cookbook | Description |
|
|
460
460
|
|:---|:---|
|
|
461
|
-
| **[Video Analysis](https://docs.camel-ai.org/cookbooks/data_processing/video_analysis
|
|
462
|
-
| **[3 Ways to Ingest Data from Websites with Firecrawl](https://docs.camel-ai.org/cookbooks/data_processing/ingest_data_from_websites_with_Firecrawl
|
|
463
|
-
| **[Create AI Agents that work with your PDFs](https://docs.camel-ai.org/cookbooks/data_processing/agent_with_chunkr_for_pdf_parsing
|
|
461
|
+
| **[Video Analysis](https://docs.camel-ai.org/cookbooks/data_processing/video_analysis)** | Techniques for agents in video data analysis. |
|
|
462
|
+
| **[3 Ways to Ingest Data from Websites with Firecrawl](https://docs.camel-ai.org/cookbooks/data_processing/ingest_data_from_websites_with_Firecrawl)** | Explore three methods for extracting and processing data from websites using Firecrawl. |
|
|
463
|
+
| **[Create AI Agents that work with your PDFs](https://docs.camel-ai.org/cookbooks/data_processing/agent_with_chunkr_for_pdf_parsing)** | Learn how to create AI agents that work with your PDFs using Chunkr and Mistral AI. |
|
|
464
464
|
|
|
465
465
|
<br>
|
|
466
466
|
|
|
@@ -601,7 +601,7 @@ The source code is licensed under Apache 2.0.
|
|
|
601
601
|
<br>
|
|
602
602
|
|
|
603
603
|
[docs-image]: https://img.shields.io/badge/Documentation-EB3ECC
|
|
604
|
-
[docs-url]: https://camel-ai.github.io/camel/index
|
|
604
|
+
[docs-url]: https://camel-ai.github.io/camel/index
|
|
605
605
|
[star-image]: https://img.shields.io/github/stars/camel-ai/camel?label=stars&logo=github&color=brightgreen
|
|
606
606
|
[star-url]: https://github.com/camel-ai/camel/stargazers
|
|
607
607
|
[package-license-image]: https://img.shields.io/badge/License-Apache_2.0-blue.svg
|
|
@@ -625,4 +625,4 @@ The source code is licensed under Apache 2.0.
|
|
|
625
625
|
[package-download-url]: https://pypi.org/project/camel-ai
|
|
626
626
|
[join-us]:https://eigent-ai.notion.site/eigent-ai-careers
|
|
627
627
|
[join-us-image]:https://img.shields.io/badge/Join%20Us-yellow?style=plastic
|
|
628
|
-
[image-join-us]: https://camel-ai.github.io/camel_asset/graphics/join_us.png
|
|
628
|
+
[image-join-us]: https://camel-ai.github.io/camel_asset/graphics/join_us.png
|
|
@@ -34,6 +34,12 @@ class ChunkrReaderConfig:
|
|
|
34
34
|
high_resolution (bool, optional): Whether to use high resolution OCR.
|
|
35
35
|
(default: :obj:`True`)
|
|
36
36
|
ocr_strategy (str, optional): The OCR strategy. Defaults to 'Auto'.
|
|
37
|
+
**kwargs: Additional keyword arguments to pass to the Chunkr
|
|
38
|
+
Configuration. This accepts all other Configuration parameters
|
|
39
|
+
such as expires_in, pipeline, segment_processing,
|
|
40
|
+
segmentation_strategy, etc.
|
|
41
|
+
See: https://github.com/lumina-ai-inc/chunkr/blob/main/core/src/
|
|
42
|
+
models/task.rs#L749
|
|
37
43
|
"""
|
|
38
44
|
|
|
39
45
|
def __init__(
|
|
@@ -41,10 +47,12 @@ class ChunkrReaderConfig:
|
|
|
41
47
|
chunk_processing: int = 512,
|
|
42
48
|
high_resolution: bool = True,
|
|
43
49
|
ocr_strategy: str = "Auto",
|
|
50
|
+
**kwargs,
|
|
44
51
|
):
|
|
45
52
|
self.chunk_processing = chunk_processing
|
|
46
53
|
self.high_resolution = high_resolution
|
|
47
54
|
self.ocr_strategy = ocr_strategy
|
|
55
|
+
self.kwargs = kwargs
|
|
48
56
|
|
|
49
57
|
|
|
50
58
|
class ChunkrReader:
|
|
@@ -190,4 +198,5 @@ class ChunkrReader:
|
|
|
190
198
|
"Auto": OcrStrategy.AUTO,
|
|
191
199
|
"All": OcrStrategy.ALL,
|
|
192
200
|
}.get(chunkr_config.ocr_strategy, OcrStrategy.ALL),
|
|
201
|
+
**chunkr_config.kwargs,
|
|
193
202
|
)
|
|
@@ -94,6 +94,42 @@ class MemoryRecord(BaseModel):
|
|
|
94
94
|
if "role_type" in data and isinstance(data["role_type"], str):
|
|
95
95
|
data["role_type"] = RoleType(data["role_type"])
|
|
96
96
|
|
|
97
|
+
# Deserialize image_list from base64 strings/URLs back to PIL Images/
|
|
98
|
+
# URLs
|
|
99
|
+
if "image_list" in data and data["image_list"] is not None:
|
|
100
|
+
import base64
|
|
101
|
+
from io import BytesIO
|
|
102
|
+
|
|
103
|
+
from PIL import Image
|
|
104
|
+
|
|
105
|
+
image_objects = []
|
|
106
|
+
for img_item in data["image_list"]:
|
|
107
|
+
if isinstance(img_item, dict):
|
|
108
|
+
# New format with type indicator
|
|
109
|
+
if img_item["type"] == "url":
|
|
110
|
+
# URL string, keep as-is
|
|
111
|
+
image_objects.append(img_item["data"])
|
|
112
|
+
else: # type == "base64"
|
|
113
|
+
# Base64 encoded image, convert to PIL Image
|
|
114
|
+
img_bytes = base64.b64decode(img_item["data"])
|
|
115
|
+
img = Image.open(BytesIO(img_bytes))
|
|
116
|
+
# Restore the format attribute if it was saved
|
|
117
|
+
if "format" in img_item:
|
|
118
|
+
img.format = img_item["format"]
|
|
119
|
+
image_objects.append(img)
|
|
120
|
+
else:
|
|
121
|
+
# Legacy format: assume it's a base64 string
|
|
122
|
+
img_bytes = base64.b64decode(img_item)
|
|
123
|
+
img = Image.open(BytesIO(img_bytes))
|
|
124
|
+
image_objects.append(img)
|
|
125
|
+
data["image_list"] = image_objects
|
|
126
|
+
|
|
127
|
+
# Deserialize video_bytes from base64 string
|
|
128
|
+
if "video_bytes" in data and data["video_bytes"] is not None:
|
|
129
|
+
import base64
|
|
130
|
+
|
|
131
|
+
data["video_bytes"] = base64.b64decode(data["video_bytes"])
|
|
132
|
+
|
|
97
133
|
# Get valid constructor parameters (cached)
|
|
98
134
|
valid_params = cls._get_constructor_params(message_cls)
|
|
99
135
|
|
|
@@ -64,8 +64,9 @@ class BaseMessage:
|
|
|
64
64
|
content (str): The content of the message.
|
|
65
65
|
video_bytes (Optional[bytes]): Optional bytes of a video associated
|
|
66
66
|
with the message. (default: :obj:`None`)
|
|
67
|
-
image_list (Optional[List[Image.Image]]): Optional list of
|
|
68
|
-
objects associated with the
|
|
67
|
+
image_list (Optional[List[Union[Image.Image, str]]]): Optional list of
|
|
68
|
+
PIL Image objects or image URLs (strings) associated with the
|
|
69
|
+
message. (default: :obj:`None`)
|
|
69
70
|
image_detail (Literal["auto", "low", "high"]): Detail level of the
|
|
70
71
|
images associated with the message. (default: :obj:`auto`)
|
|
71
72
|
video_detail (Literal["auto", "low", "high"]): Detail level of the
|
|
@@ -80,7 +81,7 @@ class BaseMessage:
|
|
|
80
81
|
content: str
|
|
81
82
|
|
|
82
83
|
video_bytes: Optional[bytes] = None
|
|
83
|
-
image_list: Optional[List[Image.Image]] = None
|
|
84
|
+
image_list: Optional[List[Union[Image.Image, str]]] = None
|
|
84
85
|
image_detail: Literal["auto", "low", "high"] = "auto"
|
|
85
86
|
video_detail: Literal["auto", "low", "high"] = "auto"
|
|
86
87
|
parsed: Optional[Union[BaseModel, dict]] = None
|
|
@@ -92,7 +93,7 @@ class BaseMessage:
|
|
|
92
93
|
content: str,
|
|
93
94
|
meta_dict: Optional[Dict[str, str]] = None,
|
|
94
95
|
video_bytes: Optional[bytes] = None,
|
|
95
|
-
image_list: Optional[List[Image.Image]] = None,
|
|
96
|
+
image_list: Optional[List[Union[Image.Image, str]]] = None,
|
|
96
97
|
image_detail: Union[
|
|
97
98
|
OpenAIVisionDetailType, str
|
|
98
99
|
] = OpenAIVisionDetailType.AUTO,
|
|
@@ -109,8 +110,9 @@ class BaseMessage:
|
|
|
109
110
|
dictionary for the message.
|
|
110
111
|
video_bytes (Optional[bytes]): Optional bytes of a video
|
|
111
112
|
associated with the message.
|
|
112
|
-
image_list (Optional[List[Image.Image]]): Optional list
|
|
113
|
-
Image objects associated with
|
|
113
|
+
image_list (Optional[List[Union[Image.Image, str]]]): Optional list
|
|
114
|
+
of PIL Image objects or image URLs (strings) associated with
|
|
115
|
+
the message.
|
|
114
116
|
image_detail (Union[OpenAIVisionDetailType, str]): Detail level of
|
|
115
117
|
the images associated with the message.
|
|
116
118
|
video_detail (Union[OpenAIVisionDetailType, str]): Detail level of
|
|
@@ -137,7 +139,7 @@ class BaseMessage:
|
|
|
137
139
|
content: str,
|
|
138
140
|
meta_dict: Optional[Dict[str, str]] = None,
|
|
139
141
|
video_bytes: Optional[bytes] = None,
|
|
140
|
-
image_list: Optional[List[Image.Image]] = None,
|
|
142
|
+
image_list: Optional[List[Union[Image.Image, str]]] = None,
|
|
141
143
|
image_detail: Union[
|
|
142
144
|
OpenAIVisionDetailType, str
|
|
143
145
|
] = OpenAIVisionDetailType.AUTO,
|
|
@@ -154,8 +156,9 @@ class BaseMessage:
|
|
|
154
156
|
dictionary for the message.
|
|
155
157
|
video_bytes (Optional[bytes]): Optional bytes of a video
|
|
156
158
|
associated with the message.
|
|
157
|
-
image_list (Optional[List[Image.Image]]): Optional list
|
|
158
|
-
Image objects associated with
|
|
159
|
+
image_list (Optional[List[Union[Image.Image, str]]]): Optional list
|
|
160
|
+
of PIL Image objects or image URLs (strings) associated with
|
|
161
|
+
the message.
|
|
159
162
|
image_detail (Union[OpenAIVisionDetailType, str]): Detail level of
|
|
160
163
|
the images associated with the message.
|
|
161
164
|
video_detail (Union[OpenAIVisionDetailType, str]): Detail level of
|
|
@@ -436,31 +439,64 @@ class BaseMessage:
|
|
|
436
439
|
)
|
|
437
440
|
if self.image_list and len(self.image_list) > 0:
|
|
438
441
|
for image in self.image_list:
|
|
439
|
-
if image
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
442
|
+
# Check if image is a URL string or PIL Image
|
|
443
|
+
if isinstance(image, str):
|
|
444
|
+
# Image is a URL string
|
|
445
|
+
hybrid_content.append(
|
|
446
|
+
{
|
|
447
|
+
"type": "image_url",
|
|
448
|
+
"image_url": {
|
|
449
|
+
"url": image,
|
|
450
|
+
"detail": self.image_detail,
|
|
451
|
+
},
|
|
452
|
+
}
|
|
448
453
|
)
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
454
|
+
else:
|
|
455
|
+
# Image is a PIL Image object
|
|
456
|
+
if image.format is None:
|
|
457
|
+
# Set default format to PNG as fallback
|
|
458
|
+
image.format = 'PNG'
|
|
459
|
+
|
|
460
|
+
image_type: str = image.format.lower()
|
|
461
|
+
if image_type not in OpenAIImageType:
|
|
462
|
+
raise ValueError(
|
|
463
|
+
f"Image type {image.format} "
|
|
464
|
+
f"is not supported by OpenAI vision model"
|
|
465
|
+
)
|
|
466
|
+
|
|
467
|
+
# Convert RGBA to RGB for formats that don't support
|
|
468
|
+
# transparency or when the image has transparency channel
|
|
469
|
+
img_to_save = image
|
|
470
|
+
if image.mode in ('RGBA', 'LA', 'P') and image_type in (
|
|
471
|
+
'jpeg',
|
|
472
|
+
'jpg',
|
|
473
|
+
):
|
|
474
|
+
# JPEG doesn't support transparency, convert to RGB
|
|
475
|
+
img_to_save = image.convert('RGB')
|
|
476
|
+
elif (
|
|
477
|
+
image.mode in ('RGBA', 'LA', 'P')
|
|
478
|
+
and image_type == 'png'
|
|
479
|
+
):
|
|
480
|
+
# For PNG with transparency, convert to RGBA if needed
|
|
481
|
+
if image.mode in ('LA', 'P'):
|
|
482
|
+
img_to_save = image.convert('RGBA')
|
|
483
|
+
# else: RGBA mode, keep as-is
|
|
484
|
+
|
|
485
|
+
with io.BytesIO() as buffer:
|
|
486
|
+
img_to_save.save(fp=buffer, format=image.format)
|
|
487
|
+
encoded_image = base64.b64encode(
|
|
488
|
+
buffer.getvalue()
|
|
489
|
+
).decode("utf-8")
|
|
490
|
+
image_prefix = f"data:image/{image_type};base64,"
|
|
491
|
+
hybrid_content.append(
|
|
492
|
+
{
|
|
493
|
+
"type": "image_url",
|
|
494
|
+
"image_url": {
|
|
495
|
+
"url": f"{image_prefix}{encoded_image}",
|
|
496
|
+
"detail": self.image_detail,
|
|
497
|
+
},
|
|
498
|
+
}
|
|
453
499
|
)
|
|
454
|
-
image_prefix = f"data:image/{image_type};base64,"
|
|
455
|
-
hybrid_content.append(
|
|
456
|
-
{
|
|
457
|
-
"type": "image_url",
|
|
458
|
-
"image_url": {
|
|
459
|
-
"url": f"{image_prefix}{encoded_image}",
|
|
460
|
-
"detail": self.image_detail,
|
|
461
|
-
},
|
|
462
|
-
}
|
|
463
|
-
)
|
|
464
500
|
|
|
465
501
|
if self.video_bytes:
|
|
466
502
|
import imageio.v3 as iio
|
|
@@ -552,9 +588,66 @@ class BaseMessage:
|
|
|
552
588
|
Returns:
|
|
553
589
|
dict: The converted dictionary.
|
|
554
590
|
"""
|
|
555
|
-
|
|
591
|
+
result = {
|
|
556
592
|
"role_name": self.role_name,
|
|
557
593
|
"role_type": self.role_type.value,
|
|
558
594
|
**(self.meta_dict or {}),
|
|
559
595
|
"content": self.content,
|
|
560
596
|
}
|
|
597
|
+
|
|
598
|
+
# Include image/video fields if present
|
|
599
|
+
if self.image_list is not None:
|
|
600
|
+
# Handle both PIL Images and URL strings
|
|
601
|
+
import base64
|
|
602
|
+
from io import BytesIO
|
|
603
|
+
|
|
604
|
+
image_data_list = []
|
|
605
|
+
for img in self.image_list:
|
|
606
|
+
if isinstance(img, str):
|
|
607
|
+
# Image is a URL string, store as-is
|
|
608
|
+
image_data_list.append({"type": "url", "data": img})
|
|
609
|
+
else:
|
|
610
|
+
# Image is a PIL Image, convert to base64
|
|
611
|
+
# Preserve format, default to PNG if not set
|
|
612
|
+
img_format = img.format if img.format else "PNG"
|
|
613
|
+
|
|
614
|
+
# Handle transparency for different formats
|
|
615
|
+
img_to_save = img
|
|
616
|
+
if img.mode in (
|
|
617
|
+
'RGBA',
|
|
618
|
+
'LA',
|
|
619
|
+
'P',
|
|
620
|
+
) and img_format.upper() in ('JPEG', 'JPG'):
|
|
621
|
+
# JPEG doesn't support transparency, convert to RGB
|
|
622
|
+
img_to_save = img.convert('RGB')
|
|
623
|
+
elif (
|
|
624
|
+
img.mode in ('LA', 'P') and img_format.upper() == 'PNG'
|
|
625
|
+
):
|
|
626
|
+
# For PNG with transparency, convert to RGBA if needed
|
|
627
|
+
img_to_save = img.convert('RGBA')
|
|
628
|
+
# else: keep as-is for other combinations
|
|
629
|
+
|
|
630
|
+
buffered = BytesIO()
|
|
631
|
+
img_to_save.save(buffered, format=img_format)
|
|
632
|
+
img_str = base64.b64encode(buffered.getvalue()).decode()
|
|
633
|
+
image_data_list.append(
|
|
634
|
+
{
|
|
635
|
+
"type": "base64",
|
|
636
|
+
"data": img_str,
|
|
637
|
+
"format": img_format, # Preserve format
|
|
638
|
+
}
|
|
639
|
+
)
|
|
640
|
+
result["image_list"] = image_data_list
|
|
641
|
+
|
|
642
|
+
if self.video_bytes is not None:
|
|
643
|
+
import base64
|
|
644
|
+
|
|
645
|
+
result["video_bytes"] = base64.b64encode(self.video_bytes).decode()
|
|
646
|
+
|
|
647
|
+
if self.image_detail is not None:
|
|
648
|
+
result["image_detail"] = self.image_detail
|
|
649
|
+
|
|
650
|
+
if self.video_detail is not None:
|
|
651
|
+
result["video_detail"] = self.video_detail
|
|
652
|
+
|
|
653
|
+
return result
|