社区 | 安装 | 示例 | 论文 | 引用 | 贡献指南 | CAMEL-AI
🐫 CAMEL 是一个致力于探索智能体(agents)扩展定律(scaling laws)的开源社区。我们相信,大规模研究这些智能体能为其行为、能力和潜在风险提供有价值的见解。为了促进该领域的研究,我们实现并支持多种类型的智能体、任务、提示词(prompts)、模型和模拟环境。
加入我们(Discord 或 WeChat),共同探索智能体扩展定律的边界。
🌟 在 GitHub 上 Star CAMEL,即时获取新版本发布通知。
目录
- CAMEL 框架设计原则
- 为何在研究中选用 CAMEL?
- 使用 CAMEL 可以构建什么?
- 快速入门
- 技术栈
- 研究
- 合成数据集
- 示例集(用例)
- 真实世界用例
- 🧱 基于 CAMEL 构建(真实世界产品与研究)
- 🗓️ 活动
- 为 CAMEL 做贡献
- 社区与联系
- 引用
- 致谢
- 许可证
CAMEL 框架设计原则
🧬 可演化性
该框架通过生成数据并与环境交互,使多智能体系统能够持续演化。这种演化可以由带有可验证奖励的强化学习或监督学习驱动。
📈 可扩展性
该框架旨在支持拥有数百万个智能体的系统,确保在大规模下实现高效的协调、通信和资源管理。
💾 有状态性
智能体维护有状态记忆,使其能够与环境进行多步交互,并高效地处理复杂任务。
📖 代码即提示
每一行代码和注释都作为智能体的提示。代码应清晰、可读地编写,确保人类和智能体都能有效解读。
为何在您的研究中使用 CAMEL?
我们是一个由社区驱动的研究集体,由超过 100 名致力于推进多智能体系统前沿研究的科研人员组成。全球各地的研究人员基于以下原因选择 CAMEL 用于他们的研究。
| ✅ | 大规模智能体系统 | 模拟多达 100 万个智能体,以研究复杂多智能体环境中的涌现行为和扩展定律。 |
| ✅ | 动态通信 | 实现智能体之间的实时交互,促进无缝协作以解决复杂任务。 |
| ✅ | 有状态记忆 | 赋予智能体保留和利用历史上下文的能力,从而改进长期交互中的决策。 |
| ✅ | 支持多种基准测试 | 利用标准化基准测试严格评估智能体性能,确保可复现性和可靠的比较。 |
| ✅ | 支持不同类型的智能体 | 处理多种智能体角色、任务、模型和环境,支持跨学科实验和多样化的研究应用。 |
| ✅ | 数据生成与工具集成 | 自动化创建大规模结构化数据集,同时与多种工具无缝集成,简化合成数据生成和研究工作流程。 |
你能用 CAMEL 构建什么?
1. 数据生成
2. 任务自动化
3. 世界模拟
快速开始
得益于 CAMEL 在 PyPI 上的可用性,安装 CAMEL 轻而易举。只需打开终端并运行:
pip install camel-ai
从 ChatAgent 开始
本示例演示如何使用 CAMEL 框架创建一个 ChatAgent,并使用 DuckDuckGo 执行搜索查询。
- 安装 tools 包:
pip install 'camel-ai[web_tools]'
- 设置你的 OpenAI API 密钥:
export OPENAI_API_KEY='your_openai_api_key'
或者,使用一个 .env 文件:
cp .env.example .env
# then edit .env and add your keys
- 运行以下 Python 代码:
from camel.models import ModelFactory
from camel.types import ModelPlatformType, ModelType
from camel.agents import ChatAgent
from camel.toolkits import SearchToolkit
model = ModelFactory.create(
model_platform=ModelPlatformType.OPENAI,
model_type=ModelType.GPT_4O,
model_config_dict={"temperature": 0.0},
)
search_tool = SearchToolkit().search_duckduckgo
agent = ChatAgent(model=model, tools=[search_tool])
response_1 = agent.step("What is CAMEL-AI?")
print(response_1.msgs[0].content)
# CAMEL-AI is the first LLM (Large Language Model) multi-agent framework
# and an open-source community focused on finding the scaling laws of agents.
# ...
response_2 = agent.step("What is the Github link to CAMEL framework?")
print(response_2.msgs[0].content)
# The GitHub link to the CAMEL framework is
# [https://github.com/camel-ai/camel](https://github.com/camel-ai/camel).
- (可选)启用模型请求/响应日志:
export CAMEL_MODEL_LOG_ENABLED=true
export CAMEL_MODEL_LOG_MODEL_CONFIG_ENABLED=true
export CAMEL_LOG_DIR=camel_logs
CAMEL_MODEL_LOG_ENABLED: 启用请求/响应 JSON 日志。CAMEL_MODEL_LOG_MODEL_CONFIG_ENABLED: 控制model_config_dict是否记录在request.model_config_dict下。 若未设置,其默认值与CAMEL_MODEL_LOG_ENABLED相同。CAMEL_LOG_DIR: 生成的日志文件目录 (默认:camel_logs)。- 日志以 UTF-8 JSON 格式写入,保留多语言文本 (例如中文、日文、阿拉伯文),无 Unicode 转义噪声。
有关更详细的说明和额外的配置选项,请参阅安装部分。
运行后,您可以访问 docs.camel-ai.org 探索我们的 CAMEL 技术栈和示例集,以构建强大的多智能体系统。
我们提供了一个 演示,展示了两个 ChatGPT 智能体之间的对话,它们分别扮演 Python 程序员和股票交易员的角色,协作开发用于股票市场的交易机器人。
探索不同类型的智能体、它们的角色及其应用。
寻求帮助
如果您在设置 CAMEL 时遇到任何问题,请在 CAMEL discord 上联系我们。
技术栈
核心模块
用于构建、运行和增强 CAMEL-AI 智能体及社会的核心组件与工具。
| 模块 | 描述 |
|---|---|
| Agents | 用于自主运行的核心智能体架构与行为。 |
| Agent Societies | 用于构建和管理多智能体系统及协作的组件。 |
| Data Generation | 用于合成数据创建与增强的工具和方法。 |
| Models | 用于智能体智能的模型架构与定制选项。 |
| Tools | 用于专业智能体任务的工具集成。 |
| Memory | 用于智能体状态管理的记忆存储与检索机制。 |
| Storage | 用于智能体数据与状态的持久化存储解决方案。 |
| Benchmarks | 性能评估与测试框架。 |
| Interpreters | 代码与命令解释能力。 |
| Data Loaders | 数据摄取与预处理工具。 |
| Retrievers | 知识检索与 RAG 组件。 |
| Runtime | 执行环境与进程管理。 |
| Human-in-the-Loop | 用于人类监督与干预的交互式组件。 |
研究
我们相信,大规模研究这些智能体能为其行为、能力和潜在风险提供有价值的见解。
探索我们的研究项目:
与美国的研究合作
我们诚挚邀请您使用 CAMEL 开展具有影响力的研究。
严谨的研究需要时间和资源。我们是一个由社区驱动的研究集体,拥有 100 多名研究人员,致力于探索多智能体系统的前沿研究。加入我们正在进行的项目,或与我们一起测试新想法,通过电子邮件联系以获取更多信息。
![]()
合成数据集
1. 利用多种 LLM 作为后端
更多详情,请参阅我们的 Models Documentation.
数据(托管于 Hugging Face)
| 数据集 | 对话格式 | 指令格式 | 对话格式(翻译) |
|---|---|---|---|
| AI Society | 对话格式 | 指令格式 | 对话格式(翻译) |
| Code | 对话格式 | 指令格式 | x |
| Math | 对话格式 | x | x |
| Physics | Chat format | x | x |
| Chemistry | Chat format | x | x |
| Biology | Chat format | x | x |
2. 指令与任务的可视化
| 数据集 | 指令 | 任务 |
|---|---|---|
| AI Society | Instructions | Tasks |
| Code | Instructions | Tasks |
| Misalignment | Instructions | Tasks |
实用指南(用例)
在 CAMEL-AI 智能体和社会中实现特定功能的实用指南和教程。
1. 基础概念
| 实用指南 | 描述 |
|---|---|
| 创建您的第一个智能体 | 构建您的第一个智能体的分步指南。 |
| 创建您的第一个智能体社会 | 学习构建协作的智能体社会。 |
| 消息实用指南 | 智能体中消息处理的最佳实践。 |
2. 高级功能
| 实用指南 | 描述 |
|---|---|
| 工具实用指南 | 集成工具以增强功能。 |
| 记忆实用指南 | 在智能体中实现记忆系统。 |
| RAG 实用指南 | 检索增强生成的配方。 |
| Graph RAG 实用指南 | 利用知识图谱结合 RAG。 |
| 使用 AgentOps 跟踪 CAMEL 智能体 | 用于在运维中跟踪和管理智能体的工具。 |
3. 模型训练与数据生成
| Cookbook | 描述 |
|---|---|
| 使用 CAMEL 进行数据生成以及使用 Unsloth 进行微调 | 学习如何使用 CAMEL 生成数据,并使用 Unsloth 有效地微调模型。 |
| 使用真实函数调用和 Hermes 格式进行数据生成 | 探索如何使用真实函数调用和 Hermes 格式生成数据。 |
| CoT 数据生成以及将数据上传到 Huggingface | 了解如何使用 CAMEL 生成 CoT 数据,并将其无缝上传到 Huggingface。 |
| CoT 数据生成以及使用 Unsolth 对 Qwen 进行 SFT | 发现如何使用 CAMEL 生成 CoT 数据,并使用 Unsolth 对 Qwen 进行 SFT,以及将您的数据和模型无缝上传到 Huggingface。 |
4. 多智能体系统与应用
| 食谱 | 描述 |
|---|---|
| 用于报告与知识图谱生成的角色扮演爬虫 | 创建用于数据抓取和报告生成的角色扮演智能体。 |
| 使用 Workforce 创建黑客松评审委员会 | 构建一个用于协作评审的智能体团队。 |
| 动态知识图谱角色扮演:具有动态、时间感知知识图谱的多智能体系统 | 使用多智能体系统为金融应用构建动态、时间感知的知识图谱。它处理财务报告、新闻文章和研究论文,帮助交易者分析数据、识别关系并发现市场洞察。该系统还利用多样化和可选的元素节点去重技术,以确保数据完整性并优化用于金融决策的图结构。 |
| 使用 Agentic RAG 的客户服务 Discord 机器人 | 学习如何使用 Agentic RAG 为 Discord 构建一个健壮的客户服务机器人。 |
| 使用本地模型的客户服务 Discord 机器人 | 学习如何使用支持本地部署的 Agentic RAG 为 Discord 构建一个健壮的客户服务机器人。 |
5. 数据处理
| 食谱 | 描述 |
|---|---|
| 视频分析 | 用于智能体进行视频数据分析的技术。 |
| 使用 Firecrawl 从网站摄取数据的 3 种方式 | 探索使用 Firecrawl 从网站提取和处理数据的三种方法。 |
| 创建可与您的 PDF 协作的 AI 智能体 | 学习如何使用 Chunkr 和 Mistral AI 创建可与您的 PDF 协作的 AI 智能体。 |
实际应用场景
展示 CAMEL 多智能体框架如何在基础设施自动化、生产力工作流、检索增强对话、智能文档/视频分析以及协作研究等方面实现真实业务价值的实际应用场景。
1 基础设施自动化
| 用例 | 描述 |
|---|---|
| ACI MCP | 展示 CAMEL 多智能体框架如何在基础设施自动化、生产力工作流、检索增强对话、智能文档/视频分析以及协作研究等方面实现真实业务价值的实际应用场景。 |
| Cloudflare MCP CAMEL | 智能体动态管理 Cloudflare 资源,实现可扩展且高效的云安全与性能调优。 |
2 生产力与业务工作流
| 用例 | 描述 |
|---|---|
| Airbnb MCP | 协调智能体以优化和管理 Airbnb 房源及房东运营。 |
| PPTX Toolkit Usecase | 分析 PowerPoint 文档并通过多智能体协作提取结构化洞察。 |
3 检索增强多智能体聊天
| 用例 | 描述 |
|---|---|
| Chat with GitHub | 通过利用 RAG 风格工作流的 CAMEL 智能体查询和理解 GitHub 代码库,加速开发者入职和代码库导航。 |
| Chat with YouTube | 对话式智能体提取并总结视频转录文本,实现更快的内容理解和再利用。 |
4 视频与文档智能
| 用例 | 描述 |
|---|---|
| YouTube OCR | 智能体对视频截图执行 OCR 以总结视觉内容,支持媒体监控与合规。 |
| Mistral OCR | CAMEL 智能体使用 Mistral 进行 OCR 以分析文档,减少文档理解工作流中的人工投入。 |
5 研究与协作
| 用例 | 描述 |
|---|---|
| 多智能体研究助理 | 模拟一个研究智能体团队在文献综述上进行协作,提高探索性分析与报告撰写的效率。 |
🧱 基于 CAMEL 构建(真实产品与研究)
研究项目
| 名称 | 描述 |
|---|---|
| ChatDev | 用于软件开发的通信智能体 |
| Paper2Poster | 从科学论文自动生成多模态海报 |
| Paper2Video | 从科学论文自动生成视频 |
产品项目
| 名称 | 描述 |
|---|---|
| Eigent | 全球首个多智能体劳动力 |
🗓️ 活动
我们积极参与社区活动,包括:
- 🎙️ 社区会议 — 与 CAMEL 团队的每周线上同步
- 🏆 竞赛 — 由 CAMEL 主办的黑客马拉松、赏金任务和编程挑战
- 🤝 志愿者活动 — 贡献、文档编写和导师指导
- 🌍 大使计划 — 在你的大学或本地技术团体中代表 CAMEL
为 CAMEL 做贡献
对于希望贡献代码的人,我们感谢你对我们开源项目的兴趣。请花点时间查看我们的贡献指南,以开启顺畅的合作之旅。🚀
我们也欢迎你通过社交媒体、活动或会议分享 CAMEL 来帮助其发展。你的支持意义重大!
贡献者
由 contrib.rocks 制作。
致谢
特别感谢 Nomic AI 为我们提供了其数据集探索工具(Atlas)的扩展访问权限。
我们还要感谢 Haya Hammoud 为我们项目设计了初始标志。
我们实现了来自其他研究的精彩想法,供您构建、比较和定制您的智能体。如果您使用了这些模块中的任何一个,请引用原始作品:
-
来自 Nakajima et al. 的
TaskCreationAgent和TaskPrioritizationAgent:Task-Driven Autonomous Agent. -
来自 Tao Ge et al. 的
PersonaHub:Scaling Synthetic Data Creation with 1,000,000,000 Personas. [Example] -
来自 Yizhong Wang et al. 的
Self-Instruct:SELF-INSTRUCT: Aligning Language Models with Self-Generated Instructions. [Example]
许可证
源代码采用 Apache 2.0 许可。
引用
@inproceedings{li2023camel,
title={CAMEL: Communicative Agents for "Mind" Exploration of Large Language Model Society},
author={Li, Guohao and Hammoud, Hasan Abed Al Kader and Itani, Hani and Khizbullin, Dmitrii and Ghanem, Bernard},
booktitle={Thirty-seventh Conference on Neural Information Processing Systems},
year={2023}
}
以下是引用我们工作的示例:
We use the CAMEL framework \cite{li2023camel} to develop the agents used in our experiments.
社区与联系
如需更多信息,请联系 camel-ai@eigent.ai
-
GitHub Issues: 报告错误、请求功能并跟踪开发进度。 提交 issue
-
Discord: 获取实时支持,与社区交流,并获取最新动态。 加入我们
-
X (Twitter): 关注以获取更新、AI 见解和重要公告。 关注我们
-
Ambassador Project: 为 CAMEL-AI 进行宣传,举办活动并贡献内容。 了解更多
-
WeChat Community: 扫描下方二维码加入我们的微信社区。
