🐫 欢迎使用CAMEL! 🐫

安装#

1. 从PyPI安装#

要安装基础CAMEL库:

pip install camel-ai

注意:某些功能可能需要依赖项才能正常工作。安装camel-ai[all]以确保所有依赖项可用,或根据您需要的功能安装特定的额外组件。

pip install 'camel-ai[all]'  # Replace with options below

可用附加功能:

  • all: 包含以下所有功能

  • model_platforms: OpenAI, Google, Mistral, Anthropic Claude, Cohere 等。

  • huggingface: Transformers、Diffusers、Accelerate、Datasets、PyTorch等

  • rag: 句子转换器、Qdrant、Milvus、TiDB、BM25等。

  • storage: Neo4j, Redis, Azure Blob, Google Cloud Storage, AWS S3 等。

  • web_tools: DuckDuckGo, 维基百科, WolframAlpha, 谷歌地图, 天气API等。

  • document_tools: PDF、Word、OpenAPI、BeautifulSoup、Unstructured等文档处理工具

  • media_tools: 图像处理、音频处理、YouTube下载、FFmpeg等。

  • communication_tools: Slack、Discord、Telegram、GitHub、Reddit、Notion等

  • data_tools: Pandas、TextBlob、DataCommons、OpenBB、Stripe等。

  • research_tools: arXiv、谷歌学术等。

  • dev_tools: Docker、Jupyter、Tree-sitter、代码解释器等。

可以使用逗号组合多个额外选项:

pip install 'camel-ai[rag,web_tools,document_tools]'  # Example: RAG system with web search and document processing

2. 通过Docker安装#

详细指南可以查看这里

默认情况下,代理使用来自ModelType.DEFAULTModelPlatformType.DEFAULT模型。您可以通过环境变量配置默认模型平台和模型类型。如果未设置这些变量,代理将回退到默认设置:

ModelPlatformType.DEFAULT = "openai"
ModelType.DEFAULT = "gpt-4o-mini"

3. 从源码使用uv构建#

# Clone github repo
git clone https://github.com/camel-ai/camel.git

# Change directory into project directory
cd camel

# Install uv if you don't have it already
pip install uv

# Create a virtual environment and install dependencies
# We support using Python 3.10, 3.11, 3.12
uv venv .venv --python=3.10

# Activate the virtual environment
# For macOS/Linux
source .venv/bin/activate
# For Windows
.venv\Scripts\activate

# Install CAMEL with all dependencies
uv pip install -e ".[all, dev, docs]"

# For developers: Install pre-commit hooks and mypy
uv pip install pre-commit mypy
pre-commit install

# Exit the virtual environment when done
deactivate

4. 运行测试#

要运行测试,请确保您已首先激活虚拟环境:

# Activate the virtual environment
# For macOS/Linux
source .venv/bin/activate
# For Windows
.venv\Scripts\activate

# Run tests
pytest --fast-test-mode test/

# Run specific tests
pytest -v apps/
pytest -v examples/

# Exit the virtual environment when done
deactivate

5. 设置默认模型平台和模型类型(可选)#

您可以通过设置以下环境变量来自定义默认模型平台和模型类型:

export DEFAULT_MODEL_PLATFORM_TYPE=<your preferred platform>  # e.g., openai, anthropic, etc.
export DEFAULT_MODEL_TYPE=<your preferred model>  # e.g., gpt-3.5-turbo, gpt-4o-mini, etc.

6. 设置您的模型API密钥(以OpenAI为例)#

对于Bash shell环境(Linux、macOS系统及Windows上的Git Bash):

# Export your OpenAI API key
export OPENAI_API_KEY=<insert your OpenAI API key>
OPENAI_API_BASE_URL=<inert your OpenAI API BASE URL>  #(Should you utilize an OpenAI proxy service, kindly specify this)

对于Windows命令提示符:

REM export your OpenAI API key
set OPENAI_API_KEY=<insert your OpenAI API key>
set OPENAI_API_BASE_URL=<inert your OpenAI API BASE URL>  #(Should you utilize an OpenAI proxy service, kindly specify this)

对于Windows PowerShell:

# Export your OpenAI API key
$env:OPENAI_API_KEY="<insert your OpenAI API key>"
$env:OPENAI_API_BASE_URL="<inert your OpenAI API BASE URL>"  #(Should you utilize an OpenAI proxy service, kindly specify this)

将每个示例中的 your OpenAI API key>替换为您实际的OpenAI API密钥。

请注意环境变量是会话特定的。如果您打开新的终端窗口或标签页,您需要在新会话中重新设置API密钥。

对于 .env 文件:

为了简化管理API密钥的过程,您可以将信息存储在.env文件中,并动态加载到您的应用程序中。

  1. 修改CAMEL根目录下的.env文件并填写以下行:

OPENAI_API_KEY=<fill your API KEY here>

替换为您的实际API密钥。

  1. 在Python脚本中加载.env文件:使用dotenv模块中的load_dotenv()函数将.env文件中的变量加载到环境中。示例如下:

from dotenv import load_dotenv
import os

# Load environment variables from the .env file
load_dotenv()

有关项目中键名的更多详细信息以及如何应用键,您可以参考这里

[!提示] 默认情况下,load_dotenv()函数不会覆盖系统中已设置的现有环境变量。它只会填充缺失的变量。 如果您需要用.env文件中的值覆盖现有环境变量,请使用override=True参数:

load_dotenv(override=True)

设置OpenAI API密钥后,您可以运行role_playing.py脚本。在此here查找各种助理-用户角色的任务。

# You can change the role pair and initial prompt in role_playing.py
python examples/ai_society/role_playing.py

也欢迎运行以下任何你感兴趣的脚本:

# You can change the role pair and initial prompt in these python files

# Examples of two agents role-playing
python examples/ai_society/role_playing.py

# The agent answers questions by utilizing code execution tools.
python examples/toolkits/code_execution_toolkit.py

# Generating a knowledge graph with an agent
python examples/knowledge_graph/knowledge_graph_agent_example.py  

# Multiple agents collaborating to decompose and solve tasks
python examples/workforce/multiple_single_agents.py 

# Use agent to generate creative image
python examples/vision/image_crafting.py

如需更多功能示例,请参阅examples目录。