查看原文
其他

ChatDev,一个超强的 python 库

程序员小寒 程序员学长 2023-09-18

大家好,我是小寒。

今天给大家分享一个超强的 python 库,ChatDev

https://github.com/OpenBMB/ChatDev

使用 ChatDev , 你可以通过自然语言来创建定制化的软件

传统上,软件开发涉及多个阶段,包括需求分析、设计、编码、测试和文档

深度学习,特别是大型语言模型 (LLM) 的最新进展,在各种自然语言处理 (NLP) 和代码生成任务中显示出了前景,激发了人们对其在软件工程中的应用的兴趣。

然而,使用 LLM 生成整个软件系统会带来挑战,包括代码幻觉和决策中缺乏交叉检查
为了应对这些挑战,我们推出了CHATDEV,一家基于虚拟聊天的软件开发公司。‍
CHATDEV 遵循瀑布模型,将软件开发过程分为四个阶段:设计、编码、测试和文档化

每个阶段都涉及多个代理,促进协作对话和有效解决问题

CHATDEV 的 Chat Chain 充当促进者的角色,将每个阶段分解为原子子任务,并通过上下文感知通信启用双重角色来提出和验证解决方案。

CHATDEV 范式

Chat Chain,打破开发流程

Chat Chain 是 CHATDEV 范式的支柱,将软件开发过程划分为连续的原子聊天任务
每次聊天都涉及两个角色参与上下文感知的多轮讨论,以提出和验证解决方案。
这种方法确保对每个阶段内的特定子任务的精细关注,促进有效的协作并促进实现期望的产出。

设计阶段,创意产生

在设计阶段,CHATDEV 收到客户的初步想法。

CEO、CPO 和 CTO 等角色协作定义技术设计要求,并对软件的模式和编程语言做出关键决策。

编码阶段,实现愿景

编码阶段涉及 CTO、程序员和美术设计师等角色

CHATDEV 使用面向对象的编程语言(例如 Python)和 “版本演化” 机制来高效管理代码。
为了减轻代码幻觉,CHATDEV 引入了 “思维指令” 机制,允许在代码生成过程中进行明确的指导并减少歧义。

测试阶段,确保可靠性

测试阶段涉及程序员、审阅者和测试员等角色

CHATDEV 采用同行评审和系统测试来识别和纠正实施错误。

与编码阶段类似,“思维指令” 机制用于确保精确且上下文感知的调试。

文档阶段,创建用户友好的文档

在设计、编码和测试之后,CHATDEV 生成软件项目文档。

CEO、CPO、CTO 和程序员等角色协作创建用户手册和环境依赖项的配置说明。

CHATDEV的优势

CHATDEV 的软件开发方法具有多种优势。

  • 统一范式:CHATDEV 简化了整个软件开发过程,消除了每个阶段对专门模型的需求。

  • 精细聚焦:Chat Chain 允许精细关注每个阶段内的特定子任务,从而促进有效的协作。

  • 减少代码幻觉:思维指令机制减少了编码和测试阶段的代码幻觉,从而产生更可靠的代码。

  • 效率和成本效益:正如实验所证明的那样,CHATDEV 的自动化软件开发流程高效且具有成本效益。

初体验

下载 git 存储库
git clone https://github.com/OpenBMB/ChatDev.git
安装所需的 python 库
cd ChatDev/
pip install openai
pip install tiktoken
pip install -r requirements.txt
设置 openai key 。
import os
api_key = "****"
# Set the environment variable
os.environ["OPENAI_API_KEY"] = api_key

下面就可以尽情发挥你的想法。

例如,我们想构建一个随机锻炼生成器,其中包含 3 到 8 个针对全身的练习。
python3 run.py --task "build a random workout generator with 3 to 8 exercises targeting the full body" --name "workout app"
代码运行完毕后,会在 WareHouse 目录生成 workout app 目录,里面生成了你所需的代码。

然后执行 main 函数,就可以启动我们的项目。

它可以根据你输入的数量,生成相应的锻炼项目。


最后



今天的分享就到这里。如果觉得不错,点赞,转发安排起来吧。接下来我们会分享更多的 「深度学习案例以及python相关的技术」,欢迎大家关注。最后,最近新建了一个 python 学习交流群,会经常分享 「python相关学习资料,也可以问问题,非常棒的一个群」

「进群方式:加我微信,备注 “python”」



往期回顾


Fashion-MNIST 服装图片分类-Pytorch实现

python 探索性数据分析(EDA)案例分享

深度学习案例分享 | 房价预测 - PyTorch 实现

万字长文 |  面试高频算法题之动态规划系列

面试高频算法题之回溯算法(全文六千字)  

    



如果对本文有疑问可以加作者微信直接交流。进技术交流群的可以加微信拉你进群。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存