ITADN
camel-ai/camel
camel-ai/camel · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈


社区 | 安装 | 示例 | 论文 | 引用 | 贡献指南 | CAMEL-AI

🐫 CAMEL 是一个致力于探索智能体(agents)扩展定律(scaling laws)的开源社区。我们相信,大规模研究这些智能体能为其行为、能力和潜在风险提供有价值的见解。为了促进该领域的研究,我们实现并支持多种类型的智能体、任务、提示词(prompts)、模型和模拟环境。


加入我们(DiscordWeChat),共同探索智能体扩展定律的边界。

🌟 在 GitHub 上 Star CAMEL,即时获取新版本发布通知。

Star

目录


CAMEL 框架设计原则

🧬 可演化性

该框架通过生成数据并与环境交互,使多智能体系统能够持续演化。这种演化可以由带有可验证奖励的强化学习或监督学习驱动。

📈 可扩展性

该框架旨在支持拥有数百万个智能体的系统,确保在大规模下实现高效的协调、通信和资源管理。

💾 有状态性

智能体维护有状态记忆,使其能够与环境进行多步交互,并高效地处理复杂任务。

📖 代码即提示

每一行代码和注释都作为智能体的提示。代码应清晰、可读地编写,确保人类和智能体都能有效解读。


为何在您的研究中使用 CAMEL?

我们是一个由社区驱动的研究集体,由超过 100 名致力于推进多智能体系统前沿研究的科研人员组成。全球各地的研究人员基于以下原因选择 CAMEL 用于他们的研究。

大规模智能体系统模拟多达 100 万个智能体,以研究复杂多智能体环境中的涌现行为和扩展定律。
动态通信实现智能体之间的实时交互,促进无缝协作以解决复杂任务。
有状态记忆赋予智能体保留和利用历史上下文的能力,从而改进长期交互中的决策。
支持多种基准测试利用标准化基准测试严格评估智能体性能,确保可复现性和可靠的比较。
支持不同类型的智能体处理多种智能体角色、任务、模型和环境,支持跨学科实验和多样化的研究应用。
数据生成与工具集成自动化创建大规模结构化数据集,同时与多种工具无缝集成,简化合成数据生成和研究工作流程。

你能用 CAMEL 构建什么?

1. 数据生成

2. 任务自动化

3. 世界模拟


快速开始

得益于 CAMEL 在 PyPI 上的可用性,安装 CAMEL 轻而易举。只需打开终端并运行:

pip install camel-ai

从 ChatAgent 开始

本示例演示如何使用 CAMEL 框架创建一个 ChatAgent,并使用 DuckDuckGo 执行搜索查询。

  1. 安装 tools 包:
pip install 'camel-ai[web_tools]'
  1. 设置你的 OpenAI API 密钥:
export OPENAI_API_KEY='your_openai_api_key'

或者,使用一个 .env 文件:

cp .env.example .env
# then edit .env and add your keys
  1. 运行以下 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).
  1. (可选)启用模型请求/响应日志:
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 技术栈和示例集,以构建强大的多智能体系统。

我们提供了一个 Google Colab 演示,展示了两个 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 多名研究人员,致力于探索多智能体系统的前沿研究。加入我们正在进行的项目,或与我们一起测试新想法,通过电子邮件联系以获取更多信息。

Partners

合成数据集

1. 利用多种 LLM 作为后端

更多详情,请参阅我们的 Models Documentation.

数据(托管于 Hugging Face)

数据集对话格式指令格式对话格式(翻译)
AI Society对话格式指令格式对话格式(翻译)
Code对话格式指令格式x
Math对话格式xx
PhysicsChat formatxx
ChemistryChat formatxx
BiologyChat formatxx

2. 指令与任务的可视化

数据集指令任务
AI SocietyInstructionsTasks
CodeInstructionsTasks
MisalignmentInstructionsTasks

实用指南(用例)

在 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 OCRCAMEL 智能体使用 Mistral 进行 OCR 以分析文档,减少文档理解工作流中的人工投入。

5 研究与协作

用例描述
多智能体研究助理模拟一个研究智能体团队在文献综述上进行协作,提高探索性分析与报告撰写的效率。

🧱 基于 CAMEL 构建(真实产品与研究)

研究项目

名称描述
ChatDev用于软件开发的通信智能体
Paper2Poster从科学论文自动生成多模态海报
Paper2Video从科学论文自动生成视频

产品项目

名称描述
Eigent全球首个多智能体劳动力

🗓️ 活动

我们积极参与社区活动,包括:

  • 🎙️ 社区会议 — 与 CAMEL 团队的每周线上同步
  • 🏆 竞赛 — 由 CAMEL 主办的黑客马拉松、赏金任务和编程挑战
  • 🤝 志愿者活动 — 贡献、文档编写和导师指导
  • 🌍 大使计划 — 在你的大学或本地技术团体中代表 CAMEL

想要主办或参与 CAMEL 活动?加入我们的 Discord 或成为 大使计划 的一员。

为 CAMEL 做贡献

对于希望贡献代码的人,我们感谢你对我们开源项目的兴趣。请花点时间查看我们的贡献指南,以开启顺畅的合作之旅。🚀

我们也欢迎你通过社交媒体、活动或会议分享 CAMEL 来帮助其发展。你的支持意义重大!

贡献者

contrib.rocks 制作。


致谢

特别感谢 Nomic AI 为我们提供了其数据集探索工具(Atlas)的扩展访问权限。

我们还要感谢 Haya Hammoud 为我们项目设计了初始标志。

我们实现了来自其他研究的精彩想法,供您构建、比较和定制您的智能体。如果您使用了这些模块中的任何一个,请引用原始作品:

许可证

源代码采用 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: 扫描下方二维码加入我们的微信社区。

    WeChat QR Code