当前位置: 首页 > news >正文

ChatDev 简易指导文档

概述

ChatDev 是一个由 OpenBMB 开发的开源框架,旨在通过基于大型语言模型(LLM)的多智能体协作实现从自然语言创意到定制化软件的开发。ChatDev 模拟虚拟软件公司,通过不同角色的智能体(如首席执行官、首席技术官、程序员、测试员、设计师等)协作完成设计、编码、测试和文档编写等任务。其目标是提供一个易用、可高度定制和可扩展的框架,用于研究集体智能和自动化软件开发。

安装

环境要求

  • Python 版本:3.9 或更高版本
  • 包管理器:pip
  • 可选:Docker(用于安全代码执行)
  • 操作系统:支持 Windows、Linux 和 macOS

安装步骤

  1. 克隆仓库
    从 GitHub 克隆 ChatDev 仓库:

    git clone https://github.com/OpenBMB/ChatDev.git
    cd ChatDev
    
  2. 创建虚拟环境(推荐)
    为避免依赖冲突,建议创建虚拟环境:

    python -m venv chatdev_env
    source chatdev_env/bin/activate  # Linux/Mac
    chatdev_env\Scripts\activate  # Windows
    
  3. 安装依赖
    安装 ChatDev 所需的 Python 包:

    pip install -r requirements.txt
    

    依赖包括 openaicamel-ai 等,具体见 requirements.txt。

  4. 验证安装
    运行以下命令检查环境:

    python3 run.py --help
    

    若显示命令行帮助信息,说明安装成功。

配置

ChatDev 依赖大型语言模型(如 OpenAI 的 GPT-4o)运行,需配置 API 密钥或本地模型。

  1. 设置 OpenAI API 密钥
    将 API 密钥添加到环境变量:

    export OPENAI_API_KEY="your-api-key"
    

    或修改 CompanyConfig/Default/model_config.json 文件:

    {"model": "gpt-4o","api_key": "your-api-key"
    }
    
  2. 本地模型支持
    ChatDev 支持本地模型(如 LLaMA、Ollama)。需修改 model_config.json 并安装相应依赖。社区正在完善本地模型集成文档,详情见 Issue #27 和 Issue #352。

基本使用

ChatDev 通过多智能体协作完成软件开发任务。以下是一个简单示例,展示如何通过命令行创建软件。

示例:开发 2048 游戏

运行以下命令:

python3 run.py --task "design a 2048 game" --name "2048" --org "THUNLP" --config "Default"

这将在 WareHouse/2048_THUNLP_timestamp 文件夹中生成:

  • 2048 游戏相关文件和文档
  • 公司配置文件(CompanyConfig/Default 中的三个 JSON 文件)
  • 软件构建过程的日志文件(timestamp.log
  • 初始提示文件(2048.prompt

运行结果

ChatDev 将通过智能体协作生成 2048 游戏的代码、文档和测试用例。例如,生成的代码可能包括:

import randomdef create_board():board = [[0]*4 for _ in range(4)]add_new_tile(board)add_new_tile(board)return boarddef add_new_tile(board):empty_cells = [(i, j) for i in range(4) for j in range(4) if board[i][j] == 0]if empty_cells:i, j = random.choice(empty_cells)board[i][j] = random.choice([2, 4])

高级功能

1. 自定义 ChatChain

ChatDev 允许用户自定义软件开发流程(ChatChain),例如 DemandAnalysis -> Coding -> Testing -> Manual。配置文件位于 CompanyConfig/Default/ChatChainConfig.json,可调整阶段、循环次数和是否启用反思。

示例:修改 ChatChainConfig.json

{"phases": ["DemandAnalysis", "Coding", "Testing", "Manual"],"max_turn_step": 10,"git_management": true
}

启用 Git 管理后,程序员智能体将使用 GitHub 进行版本控制。

2. 人机交互模式(HAI)

通过 --config "Human" 启用人机交互模式,允许用户扮演审查员角色,实时提供反馈:

python3 run.py --task "design a tic-tac-toe game" --config "Human"

用户可在开发过程中与智能体交互,澄清需求或提出修改建议。

3. 艺术设计支持

通过 --config "Art" 激活设计师智能体,生成软件所需的图像:

python3 run.py --task "design a chess game with custom graphics" --config "Art"

生成的图像和相关文件存储在 WareHouse 文件夹中。

4. 体验式协同学习

ChatDev 集成了体验式协同学习模块,智能体可从先前任务中学习,提升性能。经验池位于 ecl/memory/MemoryCards.json。可通过设置 with_memory: true 启用此功能。

5. Docker 支持

为确保代码执行安全,ChatDev 支持 Docker 沙箱环境:

docker run -it --rm -v $(pwd):/app -w /app python:3.9 bash
pip install -r requirements.txt
python3 run.py --task "design a calculator app" --config "Default"

Docker 隔离不可信代码,防止本地系统受损。

6. Web 可视化

ChatDev 提供本地 Web 可视化工具,显示实时日志、回放日志和 ChatChain 流程:

python3 visualizer/app.py

访问 http://localhost:5000 查看可视化界面。

常见应用场景

  1. 软件开发
    ChatDev 可生成完整软件,包括代码、测试用例和使用手册。例如,开发 Web 应用、游戏或工具。

  2. 教育与研究
    研究人员可使用 ChatDev 研究多智能体协作和集体智能,定制角色和流程以模拟不同场景。

  3. 快速原型设计
    通过自然语言描述快速生成原型,适合验证创意或教学演示。

http://www.dtcms.com/a/278898.html

相关文章:

  • Spring Boot Cucumber 测试报告嵌入方法
  • gitlab-ci.yml
  • ps如何批处理文件(批量裁剪,批量设置文件大小)
  • RNN(循环神经网络)
  • 青岛国瑞 RCV 带来的独特价值
  • MinIo快速入门
  • 13.计算 Python 字符串的字节大小
  • Kubernetes 高级调度 02
  • victoriametrics Operator 安装
  • 雅思练习总结(二十九)
  • 前端docx库实现将html页面导出word
  • AI革命,分布式存储也在革命,全闪化拐点已至
  • 【第一章编辑器开发基础第二节编辑器布局_2GUI中滚动列表(2/4)】
  • Web Socket 学习笔记
  • C# 入门学习教程(三)
  • Python基础语法1:注释与输入输出、变量与简单数据类型、运算符与表达式、条件判断与循环
  • 云原生技术与应用-Containerd容器技术详解
  • MySQL数据库的基础操作
  • AI驱动的软件工程(下):AI辅助的质检与交付
  • nvidia-smi命令参数解释
  • 机器学习(ML)、深度学习(DL)、强化学习(RL):人工智能的三驾马车
  • 外星人电脑Alienware Aurora R11原装出厂OEM预装Windows10系统
  • 自动驾驶数据仓库:时间片合并算法。
  • 【React Native】ScrollView 和 FlatList 组件
  • 基于ASP.NET+SQL Server实现(Web)排球赛事网站
  • Java文件操作
  • PTKQuery
  • 大规模测试自动化测试指南
  • day9 串口通信
  • 如何单独安装设置包域名