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

编者按:测评使用的版本是通义灵码V1.0.0版本,不代表发稿时最新版本V1.0.10的能力。欢迎大家通义灵码官网使用优化后的通义灵码最新版本。

作者:伽利略beta

写在前面的话

云栖大会上,阿里发布了通义大模型2.0,以及其上的几款重量级产品,通义灵码就是其中之一。作为一款国产的、免费的编码助手,期待已久了,迫不及待的体验一把。

这次主要体验一下通义灵码的自然语言生成代码、代码自动补全和代码解释功能。

需求和思路

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

思路:大概如下:

初体验

先做一个简单的尝试:生成"设定一个文件路径并打开"的python代码。

在通义灵码对话框中,输入自然语言描述的问题:python如何打开一个文件目录。通义灵码生成python代码,插入到文件中。

基于通义灵码完成一次个人笔记分析_第1张图片

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

接下来,开始正式开发需求

正式需求开发

新建一个debug.py文件,开始利用通义灵码生成代码。

1、在通义灵码对话框中,输入自然语言描述的问题:python如何获取一个文件路径下全部文件夹的名字,以及每个文件夹中全部文件的数量

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

基于通义灵码完成一次个人笔记分析_第2张图片

可以看到,通义灵码确实对指定路径进行了遍历,将指定路径下的文件夹展示了出来,但其展示的是全路径,并且把文件夹下的子文件夹都也展示出来了,另外,一些非笔记类的隐藏文件夹如.idea、.git等都被扫描统计了,因此我们需要对查询条件进行限制。

2、在首次查询条件后已对话的形式增加限制:1)修正为子文件夹的相对路径;2)修正为一级目录;3)增加限定,不包括隐藏文件夹。生成新的代码如下:

发现这次隐藏文件确实过滤掉了,但一级目录的限定并没有生效,通过通义灵码解释代码,发现问题出在os.walt()这部分。

3、于是针对查询条件的这部分进行限定,“不用遍历全部的,只需要一级目录"。通义灵码生成的代码开始取消掉了会造成子文件夹遍历的os.wait(),替换成了

[name for name in os.listdir(folder_path) if os.path.isdir(os.path.join(folder_path, name)) and not name.startswith('.')]

对文件夹的限定开始生效,并且文件夹名称从全路径切换成了相对路径。

基于通义灵码完成一次个人笔记分析_第3张图片

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

4、遍历文件夹list,获取每个文件夹下全部笔记(包括子文件夹)的数量。

通义灵码会自动补全,生成多行提示代码,下图红框标注的即为通义灵码生成的;可以根据相关程度,自行选择。这里选择前3行,即遍历文件夹list。

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

基于通义灵码完成一次个人笔记分析_第4张图片

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

基于通义灵码完成一次个人笔记分析_第5张图片

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

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

总结

整体来看,通义灵码的自然语言生成代码功能非常强大,相比传统的分散搜索,这种基于自然语言理解后生成的代码,更加直接、准确,并且极大的降低了开发的门槛。这种生成代码功能和代码自动补全、代码解释结合起来,基本可以在一个IDE内实现编码、搜索、测试等开发流程的闭环,体验极好、效率也更高。

不足之处,通义灵码生成代码的准确性与输入的自然语言查询条件紧密相关,有时候需要多次修正提示词、句,才能生成最终符合条件的代码,这块产品方可以后续再优化下,提升自然语言的处理能力和推荐的精准度,这样更多非计算机相关的人员也能利用大模型来高效的生成代码,最终提升整体的工作效率。

作者申明:以上测评来自作者“伽利略beta”参与通义灵码产品测评活动的获奖作品基于通义灵码完成一次_玩法平台-通义灵码评测-任务组_任务测评—阿里云开发者社区

你可能感兴趣的:(通义灵码,copilot,python,java,阿里云,AI编程,ide,笔记)