Advertisement

CAMEL:大型语言模型社会“心智”探索的交流代理

阅读量:

CAMEL:大型语言模型社会“心智”探索的交流代理

[

Python 版本

](https://docs.python.org/3.10/)

[

PyTest 状态

](https://github.com/camel-ai/camel/actions/workflows/pytest_package.yml)

[

文档

](https://camel-ai.github.io/camel/index.html)

[

星星

](https://github.com/camel-ai/camel/stargazers)

[

软件包许可证

](https://github.com/camel-ai/camel/blob/master/licenses/LICENSE)

[

数据许可

](https://github.com/camel-ai/camel/blob/master/licenses/DATA_LICENSE)

[官方社区](https://github.com/camel-ai/catalyst/discuss Q&A > 社区) |
[安装指南与依赖管理说明](httpst//crates rh cloud::catalyst rh docs #dependencies) |
[技术文档与API参考]catalyst-docs" > 指南 | [Catalyst框架中的示例代码库]examples" > 仓库 |
[Catalyst核心算法研究 research papers > 论文 | [Catalyst项目的参考文献与引用说明]citation" > 引用 |
[如何撰写与维护Catalyst项目的贡献指南dev_guide" > 文档 | [CAMEL-AI平台官网]wwwcamel ai" > 官网

[

如图所示 单击此处获取更多信息

概述

对话和基于聊天的语言模型的迅速发展已在复杂任务解决方面展现出显著成效。然而,在一定程度上而言其成功受限于人类输入来指导对话这一机制这可能导致时间和效率上的挑战本文探讨了一种构建可扩展技术以促进交流代理间的自主合作并深入剖析其"认知"过程的可能性为了应对自主合作所带来的实现挑战我们提出了一种名为 角色扮演的 新型交流代理框架这种方法通过引入 初始提示 来引导不同角色之间的有效协作从而实现共同目标同时保持与人类意图的高度一致性我们展示了如何利用角色扮演生成多轮对话数据集以此来系统性地研究聊天代理的行为模式及其能力这不仅有助于深化对对话语言模型的理解也为研究多模态交互系统提供了新的视角在该研究中我们做出了三个主要贡献第一是引入了一种新颖的交流代理框架第二是开发了一种可扩展的方法用于分析多代理系统的协作行为第三是开源了相关代码库作为该研究的支持材料这些工作成果均已在GitHub存储库中进行了公开访问

社区

CAMEL 是一个开源项目,专注于探索自主性与通信代理机制的研究方向。我们坚信通过系统性深入研究这些代理机制能够透彻了解它们的行为特点、功能边界以及潜在风险点。为了推动相关领域的发展与进步,在此我们致力于开发并维护涵盖不同类别的代理服务、任务模块以及智能提示系统,并构建多维度的支持框架以促进创新环境的构建。

诚挚邀请您加入我们的社区(SlackDiscord微信),让我们共同携手拓展人工智能社会建设的新疆界。

亲自尝试

我们提供了一个

[

谷歌Colab

链接地址位于此处

模拟实验展示了两个 ChatGPT 代理之间的互动过程,并分别扮演一名Python程序员与一名股票交易员,在协同合作中共同研发出一套适用于股票市场交易的机器人系统。

[

](https://raw.githubusercontent.com/camel-ai/camel/master/misc/framework.png)

安装

来自 PyPI

要安装基本 CAMEL 库:

复制代码
    pip install camel-ai

某些功能需要额外的依赖项:

  • 安装所有依赖项:
复制代码
  • 要使用 HuggingFace 代理:
复制代码
  • 要启用 RAG 或使用代理内存:
复制代码

来自来源

CAMEL使用诗歌从源安装(推荐):

复制代码
    # Make sure your python version is later than 3.10
    # You can use pyenv to manage multiple python verisons in your sytstem
    
    # Clone github repo
    git clone https://github.com/camel-ai/camel.git
    
    # Change directory into project directory
    cd camel
    
    # If you didn't install peotry before
    pip install poetry  # (Optional)
    
    # We suggest using python 3.10
    poetry env use python3.10  # (Optional)
    
    # Activate CAMEL virtual environment
    poetry shell
    
    # Install the base CAMEL library
    # It takes about 90 seconds
    poetry install
    
    # Install CAMEL with all dependencies
    poetry install -E all # (Optional)
    
    # Exit the virtual environment
    exit

提示

当您在运行应用程序时遇到错误poetry install时,请注意这可能源于缓存配置或问题。为了排查此问题,请您尝试重新运行应用并检查日志信息。

复制代码
    poetry install --no-cache

CAMEL使用 conda 和 pip 从源代码安装:

复制代码
    # Create a conda virtual environment
    conda create --name camel python=3.10
    
    # Activate CAMEL conda environment
    conda activate camel
    
    # Clone github repo
    git clone -b v0.2.1a https://github.com/camel-ai/camel.git
    
    # Change directory into project directory
    cd camel
    
    # Install CAMEL from source
    pip install -e .
    
    # Or if you want to use all other extra packages
    pip install -e .[all] # (Optional)

来自 Docker

具体说明的具体内容可在此处获取到

文档

CAMEL 包文档页面

例子

您可在此位置上访问该链接以获取各组助手与用户角色之间的任务列表。

例如,运行role_playing.py脚本:

请确保将 OpenAI API 密钥信息正确设置在相应的系统环境中。您可以根据以下步骤进行操作:1. 操作系统为Windows时,请在控制面板中找到此选项;2. 操作系统为macOS时,请在System Preferences中找到此选项;3. 您也可以通过命令提示符或 Terminal直接输入相关命令。

对于 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)

在所有情况下,请将此替换为您的OpenAI API密钥:json<{your_actual_API_key}>

设置 OpenAI API 密钥后,您可以运行脚本:

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

特别提示:环境变量是 session-specific 的。建议在您打开新的终端窗口或选项卡时,在新会话中重新设置 API 密钥。

使用开源模型作为后端(例如使用 Ollama 在本地设置 Llama 3)

  • 安装并配置Ollama软件包(官方下载链接:https://ollama.com/download),支持多种操作系统版本的便捷安装。
    • 在完成配置后,请启动终端并输入以下命令以提取完整的Llama3模型路径:
      bash 复制代码
      llm-tree -l 7b -o $LMEOPT_Llama3_model \
        --model-argument $LMPTΞLlama3_model \
        --export-attention
      命令中的参数需根据实际模型路径进行调整以确保路径的有效性和完整性。
复制代码
  • 在您的项目目录中创建一个类似于下面的 ModelFile。
复制代码

生成一个脚本用于获取基础模型(llama3),并利用 ModelFile 创建自定义模型。将该脚本保存为 .sh 文件:

复制代码

进入脚本和 ModelFile 所在的目录并运行该脚本。您能够使用 Llama3 模型,并且它由 CAMEL 代理组进行了优化提升。

复制代码

使用开源模型作为后端(例如使用 vLLM 在本地设置 Phi-3)

  • 安装 vLLM
  • 设置 vLLM 后,启动 OpenAI 兼容服务器,例如通过
复制代码

启动或执行相应的代码,并参考以下链接获取更多详细信息:https://github.com/camel-ai/camel/blob/master/examples/models/vllm_model_example.py(注:此处已替换原始引号以避免Markdown语法冲突)

复制代码

数据(托管于 Hugging Face)

数据集 聊天格式 指令格式 聊天格式(翻译)
人工智能协会 聊天格式 指令格式 聊天格式(翻译)
代码 聊天格式 指令格式
数学 聊天格式
物理 聊天格式
化学 聊天格式
生物学 聊天格式

指令和任务的可视化

数据集 指示 任务
人工智能协会 指示 任务
代码 指示 任务
错位 指示 任务

实施来自其他作品的研究思路

我们可以借鉴其他作品中的创新性研究想法。为了帮助您构建、比较和自定义您的代理,在实际应用中,请确保引用原始作品。

基于任务驱动的智能代理系统(TaskPrioritizationAgent)的研究综述指出:该系统结合GPT-4、Pinecone和LangChain技术实现多功能应用场景[示例] BabyAGI 项目进行深入探索。

消息

  • 发布 AI 社会与代码数据集(2023 年 4 月 2 日)
  • Python 库的初始版本CAMEL(2023 年 3 月 21 日)

引用

复制代码
 <span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>@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}
    
 }
    
 </code></span></span></span></span>

致谢

表示衷心感谢Nomic AI的支持与授权访问其数据集探索工具(Atlas)。

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

执照

源代码采用 Apache 2.0 许可。

该数据集遵循 CC BY NC 4.0 许可协议,在此协议下限定其用途仅为非商业性使用。建议此数据集训练出的任意模型不得应用于超出研究范围之外的目的。

为 CAMEL 做出贡献🐫

感谢您对我们开源项目的兴趣与支持。我们已为此准备了一份详细的贡献指南文档,请查看此链接内的详细说明以了解如何按照CAMEL框架完成开发工作。如需进一步协助,请参考此指南。

全部评论 (0)

还没有任何评论哟~