4
9
0
5
分享

玩法平台-通义灵码评测-任务组的测评

2023-11-01490北京
笔记来源于:任务
玩法平台-通义灵码评测-任务组

基于通义灵码完成一次个人笔记分析

写在前面的话

昨天,云栖大会上,阿里发布了通义大模型2.0,以及其上的几款重量级产品,通义灵码就是其中之一。作为一款国产的、免费的编码助手,期待已久了,迫不及待的体验一把。
这次主要体验一下通义灵码的自然语言生成代码、代码自动补全和代码解释功能。

需求和思路

需求:临近年底,又积累了不少笔记,想看看今年自己在哪些方向上做了调研、尝试、测评,遂决定写个脚本来分析下。语言选择python。
思路:大概如下:

we_ui_refresh


初体验

先做一个简单的尝试:生成"设定一个文件路径并打开"的python代码。
在通义灵码对话框中,输入自然语言描述的问题:python如何打开一个文件目录。通义灵码生成python代码,插入到文件中。

we_ui_refresh
从这个简单的测试来看,通义灵码的使用非常简洁,采用流行的对话方式,自然语言的处理也非常准确,生成代码的同时也提供了解释,体验非常友好
接下来,开始正式开发需求

正式需求开发

新建一个debug.py文件,开始利用通义灵码生成代码。
1、在通义灵码对话框中,输入自然语言描述的问题:python如何获取一个文件路径下全部文件夹的名字,以及每个文件夹中全部文件的数量

we_ui_refresh

通义灵码生成了完整的代码,点击运行,效果如下:

we_ui_refresh

可以看到,通义灵码确实对指定路径进行了遍历,将指定路径下的文件夹展示了出来,但其展示的是全路径,并且把文件夹下的子文件夹都也展示出来了,另外,一些非笔记类的隐藏文件夹如.idea、.git等都被扫描统计了,因此我们需要对查询条件进行限制。
2、在首次查询条件后已对话的形式增加限制:1)修正为子文件夹的相对路径;2)修正为一级目录;3)增加限定,不包括隐藏文件夹。生成新的代码如下:

we_ui_refresh

发现这次隐藏文件确实过滤掉了,但一级目录的限定并没有生效,通过通义灵码解释代码,发现问题出在os.walt()这部分
3、于是针对查询条件的这部分进行限定,“不用遍历全部的,只需要一级目录"。通义灵码生成的代码开始取消掉了会造成子文件夹遍历的os.wait(),替换成了
对文件夹的限定开始生效,并且文件夹名称从全路径切换成了相对路径。

we_ui_refresh
运行效果如下,可以看到,目前通义灵码生成的代码已经能够获取到一个路径下的非隐藏的一级目录文件夹名称了,其结果是一个 python list。

we_ui_refresh

4、遍历文件夹list,获取每个文件夹下全部笔记(包括子文件夹)的数量。
通义灵码会自动补全,生成多行提示代码,下图红框标注的即为通义灵码生成的;可以根据相关程度,自行选择。这里选择前3行,即遍历文件夹list。

we_ui_refresh

借着输入注释:获取文件夹及其子文件夹下所有非隐藏文件数量。通义灵码自动生成了获取文件数量的代码,但其只能获取文件夹一级目录下的文件,并且没有过滤隐藏文件的限制。

we_ui_refresh

因此我们更新查询条件,得到通过os.walk()遍历的文件总数量,如下

we_ui_refresh

修正后,我们选择【核心问题】这个文件夹测试,发现通义灵码生成的代码计算的笔记数量是8,和实际一致,效果达成。

we_ui_refresh

5、最后,我们加上绘图的代码,将结果生成图表,如下:

we_ui_refresh


总结

整体来看,通义灵码的自然语言生成代码功能非常强大,相比传统的分散搜索,这种基于自然语言理解后生成的代码,更加直接、准确,并且极大的降低了开发的门槛。这种生成代码功能和代码自动补全、代码解释结合起来,基本可以在一个IDE内实现编码、搜索、测试等开发流程的闭环,体验极好、效率也更高。
不足之处,通义灵码生成代码的准确性与输入的自然语言查询条件紧密相关,有时候需要多次修正提示词、句,才能生成最终符合条件的代码,这块产品方可以后续再优化下,提升自然语言的处理能力和推荐的精准度,这样更多非计算机相关的人员也能利用大模型来高效的生成代码,最终提升整体的工作效率。

评论

登录后可评论
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等