# Camel > This documentation was extracted from the [CAMEL GitHub repository](https://github.com/camel-ai/camel). ## Pages - [CAMEL Documentation Source](source.md): This documentation was extracted from the [CAMEL GitHub repository](https://github.com/camel-ai/camel). - [camel.agents package](camelagents.md): ::: {.toctree maxdepth="4"} - [camel.agents.tool_agents package](camelagentstool-agents.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.benchmarks package](camelbenchmarks.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.bots.discord package](camelbotsdiscord.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.bots package](camelbots.md): ::: {.toctree maxdepth="4"} - [camel.bots.slack package](camelbotsslack.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.configs package](camelconfigs.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.data_collector package](cameldata-collector.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.datagen package](cameldatagen.md): ::: {.toctree maxdepth="4"} - [camel.datagen.self_instruct.filter package](cameldatagenself-instructfilter.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.datagen.self_instruct package](cameldatagenself-instruct.md): ::: {.toctree maxdepth="4"} - [camel.datagen.source2synth package](cameldatagensource2synth.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.datahubs package](cameldatahubs.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.datasets package](cameldatasets.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.embeddings package](camelembeddings.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.environments package](camelenvironments.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.extractors package](camelextractors.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.interpreters package](camelinterpreters.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.loaders package](camelloaders.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel package](camel.md): ::: {.toctree maxdepth="4"} - [camel.memories.blocks package](camelmemoriesblocks.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.memories.context_creators package](camelmemoriescontext-creators.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.memories package](camelmemories.md): ::: {.toctree maxdepth="4"} - [camel.messages.conversion package](camelmessagesconversion.md): ::: {.toctree maxdepth="4"} - [camel.messages.conversion.sharegpt.hermes package](camelmessagesconversionsharegpthermes.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.messages.conversion.sharegpt package](camelmessagesconversionsharegpt.md): ::: {.toctree maxdepth="4"} - [camel.messages package](camelmessages.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.models package](camelmodels.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.models.reward package](camelmodelsreward.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.personas package](camelpersonas.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.prompts package](camelprompts.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.responses package](camelresponses.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.retrievers package](camelretrievers.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.runtime package](camelruntime.md): ::: {.toctree maxdepth="4"} - [camel.runtime.utils package](camelruntimeutils.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.schemas package](camelschemas.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.societies package](camelsocieties.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [Submodules](camelsocietiesworkforce.md): camel.societies.workforce package ======================= - [camel.storages.graph_storages package](camelstoragesgraph-storages.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.storages.key_value_storages package](camelstorageskey-value-storages.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.storages package](camelstorages.md): ::: {.toctree maxdepth="4"} - [camel.storages.object_storages package](camelstoragesobject-storages.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.storages.vectordb_storages package](camelstoragesvectordb-storages.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.tasks package](cameltasks.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.terminators package](camelterminators.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.toolkits package](cameltoolkits.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.types.agents package](cameltypesagents.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.types package](cameltypes.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.utils package](camelutils.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [camel.verifiers package](camelverifiers.md): ::: {.automodule members="" undoc-members="" show-inheritance=""} - [Index](cookbooks-advanced-features.md): Advanced Features ================ - [Applications](cookbooks-applications.md): ::: {.toctree maxdepth="1"} - [Index](cookbooks-basic-concepts.md): Basic Concepts ============= - [Agentic Data Generation](cookbooks-data-generation.md): ::: {.toctree maxdepth="1"} - [Deep Dive into CAMEL’s Practices for Self-Improving CoT Generation 🚀](cookbooks-data-generation-self-improving-cot-generation.md): The field of AI is rapidly evolving, with reasoning models playing a crucial role in enhancing the problem-solving ca... - [Index](cookbooks-data-processing.md): Data Processing and Analysis =========================== - [Create Document Summarization Agents with Mistral OCR & CAMEL-AI đŸ«](cookbooks-data-processing-summarisation-agent-with-mistral-ocr.md): You can also check this cookbook in Colab [here](https://colab.research.google.com/drive/1ZwVmqa5vjpZ0C3H7k1XIseFfbCR... - [Loong Cookbooks {#cookbooks_loong}](cookbooks-loong.md): ::: {.toctree maxdepth="1" caption="Loong Cookbooks"} - [MCP Cookbooks {#cookbooks_mcp}](cookbooks-mcp.md): ::: {.toctree maxdepth="1" caption="MCP Cookbooks"} - [🍳 CAMEL Cookbook: Building a Collaborative AI Research Society](cookbooks-multi-agent-society-azure-openai-claude-society.md): ⭐ *Star us on [GitHub](https://github.com/camel-ai/camel), join our [Discord](https://discord.camel-ai.org), or follo... - [Multi-agent Society](cookbooks-multi-agent-society.md): ::: {.toctree maxdepth="1"} - [Installation](get-started-installation.md): **Python Version Requirements** - [Introduction](get-started-introduction.md): **CAMEL‑AI is an open‑source, modular framework for building intelligent multi‑agent systems.** It provides the primi... - [Setup](get-started-setup.md): CAMEL-AI supports multiple model backends. Choose one below and configure your environment variables. - [Welcome to CAMEL\'s documentation!](index.md): | **Finding the Scaling Law of Agents: The First and the Best - [BenchMarks](key-modules-benchmark.md): The **Benchmark** module in CAMEL provides a framework for evaluating AI agents and language models across various ta... - [Agents](key-modules-agents.md): Agents in CAMEL are autonomous entities capable of performing specific tasks through interaction with language models... - [Browser Toolkit](key-modules-browsertoolkit.md): The Browser Toolkit provides a powerful set of tools to automate and interact with web browsers. It allows CAM... - [Datagen](key-modules-datagen.md): This page introduces CAMEL's **data generation modules** for creating high-quality training data with explicit reason... - [Embeddings](key-modules-embeddings.md): Embeddings transform text, images, and other media into dense numeric vectors - [Interpreters](key-modules-interpreters.md): Interpreters allow CAMEL agents to **execute code snippets** in various secure and flexible environments—from local s... - [Loaders](key-modules-loaders.md): CAMEL’s Loaders provide flexible ways to ingest and process all kinds of data - [Memory](key-modules-memory.md): The CAMEL Memory module gives your AI agents a flexible, persistent way to **store, retrieve, and manage information*... - [Messages](key-modules-messages.md): The BaseMessage class is the backbone for all message objects in - [Models](key-modules-models.md): In CAMEL, every model refers specifically to a Large Language Model (LLM) the intelligent core powering... - [Prompts](key-modules-prompts.md): The prompt module in CAMEL guides AI models to produce accurate, relevant, and personalized outputs. It provid... - [Retrievers](key-modules-retrievers.md): Retrievers are your AI search engine for large text collections or knowledge bases. They let you find the most releva... - [Runtimes](key-modules-runtimes.md): CAMEL’s **runtime module** enables the secure, flexible, and isolated execution of tools and code. Runtimes allow age... - [Societies](key-modules-societies.md): The society module simulates agent social behaviors and collaborative workflows. - [Society](key-modules-society.md): The society module simulates agent social behaviors and collaborative workflows. - [Storages](key-modules-storages.md): The Storage module in CAMEL-AI gives you a **unified interface for saving, searching, and managing your data**... - [Tasks](key-modules-tasks.md): For more detailed usage information, please refer to our cookbook: [Task Generation Cookbook](../cookbooks/multi_agen... - [Terminal Toolkit](key-modules-terminaltoolkit.md): The Terminal Toolkit provides a secure and powerful way for CAMEL agents to interact with a terminal. It allow... - [Tools](key-modules-tools.md): For more detailed usage information, please refer to our cookbook: [Tools Cookbook](../cookbooks/advanced_features/ag... - [Workforce](key-modules-workforce.md): Workforce is CAMEL-AI’s powerful multi-agent collaboration engine. It enables you to assemble, manage, and scale team... - [CAMEL Agents as an MCP Client](mcp-camel-agents-as-an-mcp-clients.md): This guide walks you through turning your CAMEL AI agent into an MCP client, letting your agent easily use tools from... - [Toolkit as MCP Server](mcp-camel-toolkits-as-an-mcp-server.md): A Toolkit is a bundle of related tools—functions that let agents fetch data, automate, search, or integrate wi... - [Connect to Existing MCP Tools in CAMEL ChatAgent](mcp-connecting-existing-mcp-tools.md): You can connect any Model Context Protocol (MCP) tool—like the official filesystem server—directly to your CAMEL Chat... - [CAMEL Agent as an MCP Server](mcp-export-camel-agent-as-mcp-server.md): Publishing your ChatAgent as an MCP server turns your agent into a universal AI backend. - [CAMEL-AI MCPHub](mcp-mcp-hub.md): title: "CAMEL-AI MCPHub" - [Overview](mcp-overview.md): MCP (Model Context Protocol) originated from an [Anthropic article](https://www.anthropic.com/news/model-context-prot... - [Camel.Agents.Chat_Agent](reference-camelagentschat-agent.md): def _cleanup_temp_files(): - [Camel.Configs.Vllm_Config](reference-camelconfigsvllm-config.md): class VLLMConfig(BaseConfig): - [Camel.Environments.Rlcards_Env](reference-camelenvironmentsrlcards-env.md): class ActionExtractor(BaseExtractorStrategy): - [Camel.Interpreters.Internal_Python_Interpreter](reference-camelinterpretersinternal-python-interpreter.md): class InternalPythonInterpreter(BaseInterpreter): - [Camel.Loaders.Base_Loader](reference-camelloadersbase-loader.md): class BaseLoader(ABC): - [Camel.Loaders.Firecrawl_Reader](reference-camelloadersfirecrawl-reader.md): class Firecrawl: - [Camel.Loaders.Jina_Url_Reader](reference-camelloadersjina-url-reader.md): class JinaURLReader: - [Camel.Loaders.Scrapegraph_Reader](reference-camelloadersscrapegraph-reader.md): class ScrapeGraphAI: - [Camel.Logger](reference-camellogger.md): def _configure_library_logging(): - [Camel.Memories.Context_Creators.Score_Based](reference-camelmemoriescontext-creatorsscore-based.md): class ScoreBasedContextCreator(BaseContextCreator): - [Camel.Messages.Base](reference-camelmessagesbase.md): class BaseMessage: - [Camel.Messages.Func_Message](reference-camelmessagesfunc-message.md): class FunctionCallingMessage(BaseMessage): - [Camel.Models.Aws_Bedrock_Model](reference-camelmodelsaws-bedrock-model.md): class AWSBedrockModel(OpenAICompatibleModel): - [Camel.Models.Azure_Openai_Model](reference-camelmodelsazure-openai-model.md): class AzureOpenAIModel(BaseModelBackend): - [Camel.Models.Base_Model](reference-camelmodelsbase-model.md): class ModelBackendMeta(ABCMeta): - [Camel.Models.Deepseek_Model](reference-camelmodelsdeepseek-model.md): class DeepSeekModel(OpenAICompatibleModel): - [Camel.Models.Model_Manager](reference-camelmodelsmodel-manager.md): class ModelProcessingError(Exception): - [Camel.Models.Ollama_Model](reference-camelmodelsollama-model.md): class OllamaModel(OpenAICompatibleModel): - [Camel.Models.Openai_Compatible_Model](reference-camelmodelsopenai-compatible-model.md): class OpenAICompatibleModel(BaseModelBackend): - [Camel.Models.Openai_Model](reference-camelmodelsopenai-model.md): class OpenAIModel(BaseModelBackend): - [Camel.Models.Vllm_Model](reference-camelmodelsvllm-model.md): class VLLMModel(OpenAICompatibleModel): - [Camel.Retrievers.Bm25_Retriever](reference-camelretrieversbm25-retriever.md): class BM25Retriever(BaseRetriever): - [Camel.Retrievers.Cohere_Rerank_Retriever](reference-camelretrieverscohere-rerank-retriever.md): class CohereRerankRetriever(BaseRetriever): - [Camel.Runtimes.Configs](reference-camelruntimesconfigs.md): class TaskConfig(BaseModel): - [Camel.Runtimes.Daytona_Runtime](reference-camelruntimesdaytona-runtime.md): class DaytonaRuntime(BaseRuntime): - [Camel.Runtimes.Docker_Runtime](reference-camelruntimesdocker-runtime.md): class DockerRuntime(BaseRuntime): - [Camel.Runtimes.Remote_Http_Runtime](reference-camelruntimesremote-http-runtime.md): class RemoteHttpRuntime(BaseRuntime): - [Camel.Services.Agent_Openapi_Server](reference-camelservicesagent-openapi-server.md): class InitRequest(BaseModel): - [Camel.Societies.Role_Playing](reference-camelsocietiesrole-playing.md): class RolePlaying: - [Camel.Societies.Workforce.Role_Playing_Worker](reference-camelsocietiesworkforcerole-playing-worker.md): class RolePlayingWorker(Worker): - [Camel.Societies.Workforce.Single_Agent_Worker](reference-camelsocietiesworkforcesingle-agent-worker.md): class AgentPool: - [Camel.Societies.Workforce.Structured_Output_Handler](reference-camelsocietiesworkforcestructured-output-handler.md): class StructuredOutputHandler: - [Camel.Societies.Workforce.Task_Channel](reference-camelsocietiesworkforcetask-channel.md): class PacketStatus(Enum): - [Camel.Societies.Workforce.Utils](reference-camelsocietiesworkforceutils.md): class WorkerConf(BaseModel): - [Camel.Societies.Workforce.Worker](reference-camelsocietiesworkforceworker.md): class Worker(BaseNode, ABC): - [Camel.Societies.Workforce.Workforce](reference-camelsocietiesworkforceworkforce.md): class WorkforceState(Enum): - [Camel.Societies.Workforce.Workforce_Logger](reference-camelsocietiesworkforceworkforce-logger.md): class WorkforceLogger: - [Camel.Storages.Key_Value_Storages.Mem0_Cloud](reference-camelstorageskey-value-storagesmem0-cloud.md): class Mem0Storage(BaseKeyValueStorage): - [Camel.Storages.Object_Storages.Amazon_S3](reference-camelstoragesobject-storagesamazon-s3.md): class AmazonS3Storage(BaseObjectStorage): - [Camel.Storages.Object_Storages.Azure_Blob](reference-camelstoragesobject-storagesazure-blob.md): class AzureBlobStorage(BaseObjectStorage): - [Camel.Storages.Object_Storages.Google_Cloud](reference-camelstoragesobject-storagesgoogle-cloud.md): class GoogleCloudStorage(BaseObjectStorage): - [Camel.Storages.Vectordb_Storages.Chroma](reference-camelstoragesvectordb-storageschroma.md): class ChromaStorage(BaseVectorStorage): - [Camel.Storages.Vectordb_Storages.Pgvector](reference-camelstoragesvectordb-storagespgvector.md): class PgVectorStorage(BaseVectorStorage): - [Camel.Tasks.Task](reference-cameltaskstask.md): class TaskValidationMode(Enum): - [Camel.Toolkits.Aci_Toolkit](reference-cameltoolkitsaci-toolkit.md): class ACIToolkit(BaseToolkit): - [Camel.Toolkits.Arxiv_Toolkit](reference-cameltoolkitsarxiv-toolkit.md): class ArxivToolkit(BaseToolkit): - [Camel.Toolkits.Craw4Ai_Toolkit](reference-cameltoolkitscraw4ai-toolkit.md): class Crawl4AIToolkit(BaseToolkit): - [Camel.Toolkits.Dappier_Toolkit](reference-cameltoolkitsdappier-toolkit.md): class DappierToolkit(BaseToolkit): - [Camel.Toolkits.Edgeone_Pages_Mcp_Toolkit](reference-cameltoolkitsedgeone-pages-mcp-toolkit.md): class EdgeOnePagesMCPToolkit(BaseToolkit): - [Camel.Toolkits.Excel_Toolkit](reference-cameltoolkitsexcel-toolkit.md): class ExcelToolkit(BaseToolkit): - [Camel.Toolkits.File_Write_Toolkit](reference-cameltoolkitsfile-write-toolkit.md): class FileWriteToolkit(BaseToolkit): - [Camel.Toolkits.Github_Toolkit](reference-cameltoolkitsgithub-toolkit.md): class GithubToolkit(BaseToolkit): - [{'success': True, 'message_id': 'abc123', 'thread_id': 'abc123', 'message': 'Email sent successfully'}](reference-cameltoolkitsgmail-toolkit.md): class GmailToolkit(BaseToolkit): - [Camel.Toolkits.Google_Drive_Mcp_Toolkit](reference-cameltoolkitsgoogle-drive-mcp-toolkit.md): class GoogleDriveMCPToolkit(BaseToolkit): - [Camel.Toolkits.Human_Toolkit](reference-cameltoolkitshuman-toolkit.md): class HumanToolkit(BaseToolkit): - [Camel.Toolkits.Hybrid_Browser_Toolkit.Actions](reference-cameltoolkitshybrid-browser-toolkitactions.md): class ActionExecutor: - [Camel.Toolkits.Hybrid_Browser_Toolkit.Agent](reference-cameltoolkitshybrid-browser-toolkitagent.md): class PlaywrightLLMAgent: - [Camel.Toolkits.Hybrid_Browser_Toolkit.Browser_Session](reference-cameltoolkitshybrid-browser-toolkitbrowser-session.md): class HybridBrowserSession: - [Camel.Toolkits.Hybrid_Browser_Toolkit.Config_Loader](reference-cameltoolkitshybrid-browser-toolkitconfig-loader.md): Configuration for browser automation including stealth mode and timeouts. - [Camel.Toolkits.Hybrid_Browser_Toolkit.Hybrid_Browser_Toolkit](reference-cameltoolkitshybrid-browser-toolkithybrid-browser-toolkit.md): class HybridBrowserToolkit(BaseToolkit): - [Camel.Toolkits.Hybrid_Browser_Toolkit.Snapshot](reference-cameltoolkitshybrid-browser-toolkitsnapshot.md): class PageSnapshot: - [Camel.Toolkits.Hybrid_Browser_Toolkit.Stealth_Config](reference-cameltoolkitshybrid-browser-toolkitstealth-config.md): Stealth configuration for browser automation to avoid bot detection. - [Camel.Toolkits.Jina_Reranker_Toolkit](reference-cameltoolkitsjina-reranker-toolkit.md): class JinaRerankerToolkit(BaseToolkit): - [Camel.Toolkits.Markitdown_Toolkit](reference-cameltoolkitsmarkitdown-toolkit.md): class MarkItDownToolkit(BaseToolkit): - [Camel.Toolkits.Message_Agent_Toolkit](reference-cameltoolkitsmessage-agent-toolkit.md): class MessageAgentTool(BaseToolkit): - [Camel.Toolkits.Non_Visual_Browser_Toolkit.Nv_Browser_Session](reference-cameltoolkitsnon-visual-browser-toolkitnv-browser-session.md): class HybridBrowserSession: - [Camel.Toolkits.Note_Taking_Toolkit](reference-cameltoolkitsnote-taking-toolkit.md): class NoteTakingToolkit(BaseToolkit): - [Camel.Toolkits.Openai_Image_Toolkit](reference-cameltoolkitsopenai-image-toolkit.md): class OpenAIImageToolkit(BaseToolkit): - [Camel.Toolkits.Pptx_Toolkit](reference-cameltoolkitspptx-toolkit.md): class PPTXToolkit(BaseToolkit): - [Camel.Toolkits.Search_Toolkit](reference-cameltoolkitssearch-toolkit.md): class SearchToolkit(BaseToolkit): - [Camel.Toolkits.Slack_Toolkit](reference-cameltoolkitsslack-toolkit.md): class SlackToolkit(BaseToolkit): - [Camel.Toolkits.Sympy_Toolkit](reference-cameltoolkitssympy-toolkit.md): class SymPyToolkit(BaseToolkit): - [Camel.Toolkits.Task_Planning_Toolkit](reference-cameltoolkitstask-planning-toolkit.md): class TaskPlanningToolkit(BaseToolkit): - [Camel.Toolkits.Terminal_Toolkit](reference-cameltoolkitsterminal-toolkit.md): class TerminalToolkit(BaseToolkit): - [Camel.Toolkits.Thinking_Toolkit](reference-cameltoolkitsthinking-toolkit.md): class ThinkingToolkit(BaseToolkit): - [Camel.Toolkits.Video_Analysis_Toolkit](reference-cameltoolkitsvideo-analysis-toolkit.md): class VideoAnalysisToolkit(BaseToolkit): - [Camel.Toolkits.Video_Download_Toolkit](reference-cameltoolkitsvideo-download-toolkit.md): def _capture_screenshot(video_file: str, timestamp: float): - [Camel.Toolkits.Wechat_Official_Toolkit](reference-cameltoolkitswechat-official-toolkit.md): def _get_wechat_access_token(): - [Camel.Types.Agents.Tool_Calling_Record](reference-cameltypesagentstool-calling-record.md): class ToolCallingRecord(BaseModel): - [Camel.Utils.Message_Summarizer](reference-camelutilsmessage-summarizer.md): class MessageSummary(BaseModel): - [Camel.Utils.Tool_Result](reference-camelutilstool-result.md): class ToolResult: