今天原本是用其它工具生成代码的,正好有朋友说掘金有个豆包MarsCode的活动,用这个试试好不好使,我就来测试了一下,测试就测一个真实,好坏都说,全面测试一下,希望帮助平台找到一些好的开发方向,也能帮助大家找到这个工具的好用之处。
我们进入到主页就能看大中间以及右上角都有显示的【立即获取编程助手】字样,点进去。
跳转到安装显示页面,这里给了VSCode与JetBrains的安装连接,我就不演示了,不是本期的主题内容,而且程序员电脑上肯定至少有一个。全栈的就全都有了。例如我都有。
这是我的一部分开发工具们。
支持的开发工具非常的完整:
VSCode用的多,先安装这个插件,这是官方给的安装步骤,写的非常详细,我就不再次累述了,显得麻烦。
但是我提供安装详情了,无声的GIF,把有问题的地方也都处理了。
安装完毕就能使用了,接下来我们先去工作台看看有什么再具体使用。
IDE安装就是到设置里面安装插件即可,这里我提供了Java的和Python的提示图片。
PythonIDE的插件安装:
由于是外网下载,依然比较慢。
在主页的头像上点击后可以看到工作台的字样,我们点击进入。
后台页面更像是项目管理。
这里模版给的还是很全面的呢。
我们创建一个项目试试。
项目创建完毕发现会直接打开web端的开发工具,可以从logo上看出来是豆包专属的工具。
豆包的在线工具发现了,原来再这里。
提问测试一下,我上传了一个infos的Excel文件,我们来看看能不能读取一下。
**问题:**帮我读取分析一下当前路径下的infos.xlsx文件,把所有sheet页的名称打印一下。
自己下载环境跑一下把,跑成功了,信息正常输出。
那么,随之问题也来了,豆包并没有给出环境问题的假设,既然要使用某库,一定要先给出安装库的说明啊。
在刚才的测试中我接了个图片,问题【帮我读取分析一下当前路径下的infos.xlsx文件,把所有sheet页的名称打印一下。】的回答中有3处不足之处:
1、代码中没有获取提问的文件名。2、没有给安装环境的提示。3、环境内容不完整。
希望训练模型的大佬能注意到这点。
接下来我们返回到本地继续测试本地的功能。
这里我们创建一个python的跨域接口webapi的项目,目的是为一个比赛准备一个实时更新的分数展示平台,大概要求是这样的:
1、创建一个数据库DDL语句,要求是一个成绩表,]分别是编号id,班级名称,问题1到问题8,共计10列。2、需要有一个python的GUI面板,每5秒更新查看数据库的成绩列表。3、需要创建一个python的跨域的接口,host='0.0.0.0',方便访问,接口要求是接收3个参数,分别是组号id,成绩,题目编号,不允许输入浮点数。4、创建一个3个参数的HTML页面,使用表单来访问127.0.0.1:5000/submit-score的接口,参数分别是组号id,成绩,题目编号,要求都是int类型,并且题目编号的取值范围是1-8,组号取值范围1-16,成绩取值范围是0-20,使用bootstrap来优化一下样式。
大致效果如下,要求是每5秒更新面板。
1、创建一个python的项目。
2、连续提问
创建一个数据库DDL语句,要求是一个成绩表,]分别是编号id,班级名称,问题1到问题8,共计10列。
结果如下,我们插入到数据库中,再插入对应班级的初始数据,初始数据这里我自己填写了一下,AI虽然肯定能给数据但是形容起来肯定还没写的快。
我这里稍微改变了一下列名:
帮我连接MySQL并查询对应表的数据,数据库信息是:url='rm-bp1zq3879r28p726lco.mysql.rds.aliyuncs.com'port=3306user='root'passwd='123456'db_name='mysql_six'
我们通过豆包的MarsCode一次性数据库连接成功,并且通过查询数据库我们获取到了结果,那么接下来我们把这个结果使用GUI展示即可。
提问:使用tkinter当做GUI的库,将查询到的results结果显示到表格中,使用threading创建一个每5秒钟刷新面板的功能。
返回结果:
运行成功,那么就下来我们在创建更新数据的WEBAPI接口与HTML的前端代码。
提问:根据DDL:
CREATETABLE`scores`(`id`INTAUTO_INCREMENT,`className`VARCHAR(20),`q1`TINYINT,`q2`TINYINT,`q3`TINYINT,`q4`TINYINT,`q5`TINYINT,`q6`TINYINT,`q7`TINYINT,`q8`TINYINT,PRIMARYKEY(`id`));来分析,需要创建一个python的跨域的修改数据接口,host='0.0.0.0',方便访问,接口要求是接收3个参数,分别是组号id,成绩,题目编号,不允许输入浮点数,数据库信息是
url='rm-bp1zq3879r28p726lco.mysql.rds.aliyuncs.com'port=3306user='更换自己的'passwd='更换自己的'db_name='mysql_six'
使用pymysql库来完成数据操作部分。
根据返回内容新建文件并运行。
改一下自己的数据库信息,运行以下看看。
运行测试:
再次保存成一个新文件
我来手动的改一下放的ip地址,再搞到本地运行一下啊,稍微微调一下,样貌上和文字都对得上了呢,这里测试一下修改第7组,也就是信息1班的第5题成绩改为9分。
修改测试,测试成功。
整体体验可以说还是非常到位我,我仅仅修改了部分非核心代码,一些文字描述上也基本准确,很棒的一次体验呢。
生成代码
问题:
我需要使用python连接MySQL数据库,主机地址:rm-bp1zq3879r28p726lco.mysql.rds.aliyuncs.com账号:root密码:admin666读取mysql_six数据库,数据库的字符集是UTF8的,里面有一个infos表,获取里面所有的数据,并保存到infos_data数据集中。
回答情况:
这里给了安装提示,但是没有给出安装语句。使用的是mysql-connector-python。我们自己使用pip来安装一下,在跑程序试试。
程序测试:
代码是真没啥问题,一次就跑通了。
代码解释
我们去掉刚才生成的代码给的注释,我们来生成一下代码解释,一会在用这个生成一个代码注释看看。
看步骤操作啊,一定是输入【正斜杠】出现提示后选择【explain】,选中要解释的代码后再回车使用。
使用效果:
注释代码
依然使用刚才的代码进行注释操作试试。
生成效果:
这里遇到一些列问题了。
/doc中没有选择代码的文字提示,可以理解成没有这个部分代码注释的功能,建议添加此功能。
代码注释很多的时候都是分块进行的,如果都注释上了那得多少行啊,上下翻动都很累,必要代码注释肯定是选中行进行注释的,或者我看到了那个黄色的小提示灯泡,我点开了一看还不是想要的内容。
生成单测
/explain中说要选中代码,/doc生成注释中又不需要选中代码,这里没有文字提示又需要选择代码,就很迷茫。
看着是:【没有选择代码的功能,应该就是整个文件的单测生成了。】
但是问题来了,竟然又让我选择代码,这个文字提示做的就有点迷茫了。
选中代码测试结果:
运行测试。
问题1:
函数功能提示:
我们可以在函数的名称上看到有【解释代码|注释代码|生成单测】功能,挺方便的。
问题2:让GUI的面板居中显示,大小为400*400的像素,处理一下没有提示文字的问题。
这次都显示了,效果还是不错的,就是还丑一些,我们再处理一下。
问题3:让开始按钮与停止按钮分为两行,并且放大按钮大小是原本按钮的3倍,给一个好看的按钮背景颜色。
看来听指挥的能力还是有限的,我们更新一下我们的提问格式。
问题4:
1、先将两个按钮从1行变成2行布局,开始在上,停止在下2、文字样式改为黑体字加粗3、给窗体一个浅灰色的背景颜色
问题2修改的gui面板大小,在这里就直接给取消了。不是应该在最新的代码上加以参考的吗?
效果:
问题5、清空历史记录整体提问
问题提问效果1:
问题提问效果2:
问题提问效果3:
再次添加问题:
如果小于10秒提示文字:胆子放大一些,如果大于10秒提示文字:练练反应速度吧。
我根据上面的问题继续提问,出现了异常停止的情况,二次提问前面的引导语又有所区别了。幸好在区别不大,但是还是没有得到对应的结果。
最后一次提问结果,又出问题了。
这里提供一个最好的版本。
1、项目限制
根据官方给的数据可以看到项目不超过10个。
限制项
说明
项目数量
不超过10个
CPU、Memory和Disk资源
单个项目可以使用的最大资源如下:*CPU:2Core*Memory:4GiB*Disk:10GiB
2、流量限制
流量超出限制后,将影响代码编写和已部署服务的请求。同时,HTTP请求将返回429状态码。仅计算数据传出量,可能导致超额。数据传入量不计入额度。
项目空间出流量
10GiB/月
部署服务出流量
带宽
5GiB/月
3、返回token极限——4k
提问:帮我创建一个12张表的用户管理数据库,给出完整的DDL语句与DML语句,DML语句要求插入的信息都是中文的,每个表至少10条数据。
结果:
长度计算:
长度是4004这是没有记录一些title的字符串,算起来也就是4096字符串长度吧。
这里我测试过程中有5条问题:
测评问题1:只写代码,不处理环境测评问题2、注释内容没法选择部分进行注释测评问题3、UI显示是【生成单测】但是需要选代码测评问题4:历史记录混乱测评问题5、提问时出现异常停止问题
整体测试上觉得这个工具当前满足基本的使用条件了,优点还是有不少的。
优点1、生成速度快,同比其它平台生成的速度要快好多。优点2、返回token长度是其它平台2倍。优点3、完全免费,没有看到任何付费的地方。优点4、有项目管理,在平台上可以记录自己的项目,随时可用。优点5、用于生成基础代码或者基础sql等内容非常的方便。
希望开发的人员能持续更好的更新版本,这样才能让豆包MarsCode更加的人性化,给开发者们带来更多的价值。