基于gpt的根据需求生成完整软件项目的工具codellms 原创

codellms
发布于 2023-7-7 11:04
浏览
0收藏

先观看一段视频:点击查看

视频例子使用gpt3.5的api,没有验证gpt4.0。


背景

在真正的软件开发中,必然有精细的要求,不可能一句很模糊的话就直接生成一个应用,比如,非专业人士可能会说,给我做一个电商网站。而程序员一定要问具体需求、入参出参,前端还需要ui出设计,具体到字体,颜色,像素等。所以根据一句提示词生成应用不贴合真实的开发过程。

需求越详细,gpt生成的代码才越接近我们想要的,codellms就是定位为根据详细需求生成代码的工具。下面我们简单介绍它的使用。

安装

codellms基于nodejs,所以前提是已经安装好nodejs环境,那么我们使用如下命令全局安装codellms:

npm install -g codellms

初始化项目

在你创建好的项目文件夹下执行命令:

codellms init

默认生成一个codellms.toml文件和一个features文件夹。

配置

我们先配置codellms.toml文件:

[dependencies] # 这里写你想要依赖的库或包,没要求的话也可以不用写。
express='4.18.2' 

[basic] # 项目的基本信息,比如什么编程语言,架构模式等。
language = "node" # Java\Go\PHP...
arch = "mvc" # or clean architecture ...
[open‍‌‌‌‍ai]

api​key="key填在这里" # 别忘了填入自己的key
model="gpt-3.5-turbo" # 项目默认使用这个模型
temperature=0.5

配置由于触发敏感词,请看具体项目。

编写需求

为了不过于自由的编写需求,需要对需求的编写方式做一些约束,这里使用BDD(Gherkin语法)的方式编写需求,在features文件夹下建立以feature为后缀的的文件,比如todolist.feature.

Feature: Todolist, REStful风格的api。不使用任何数据库
Scenario: 添加一个todo项
Given: 提供一个名为"todo"的输入项目
When: post
Then: 记录这个todo和id在内存

Scenario: 返回todolist
When: get
Then: 返回新增加的todo列表

上述需求并没有那么严格,因为chatgpt支持自然语言,就算只写返回增删读写四个接口,它也会生成,但是,如上面所说,需求越详细,代码越能符合我们的需求。
一个模块建议使用一个单独的feature文件,如果有先后顺序,可以加数字来让它按数字顺序读取需求并生成代码。

运行

只需要执行:

codellms build

即可开始你的旅程。

在运行的最后,如果有错误,将会自动改正。

由于前端的特殊性,真正的项目对布局、颜色、按钮、位置等都有要求,所以在gpt多模态可以用之前,不建议使用codellms生成前端项目。这里标题的完整的项目,指的是没有ui的项目。

项目目前还在开发中,一点点完善,未来接入其他的模型,使用多模态实现前后端项目的联合生成。

最后,欢迎Star: codellms

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2023-7-7 11:15:14修改
1
收藏
回复
举报
回复
    相关推荐