在我的开源项目(AI Godot 桌宠)中使用通义灵码

简介: 作为一名AI代码助手的忠实用户,我近期尝试了阿里开源的Qwen模型。通过在个人项目——一个由Godot引擎开发的AI桌宠软件中测试Qwen,我发现其在处理小众语言(如GDScript)时表现出色,能够快速准确地解决问题,甚至优化了我的代码。此外,Qwen在GitHub Actions自动化打包等复杂任务上的表现同样令人满意。其高效的代码补全速度更是超越了付费的GitHub Copilot。这次体验让我对开源AI工具刮目相看,强烈推荐大家试用。

背景

最近,阿里的开源大模型刷屏了,我一直都是通义千问的高度使用用户,也本地部署过qwen系列模型,自己也是 AI 代码助手的高度依赖用户,同时,也是 AI 项目的开发者。
image.png

image.png

平时都是使用微软的github copilot。
作为一个学生,我可以白嫖 copilot ,所以我一直都是免费使用 需要付费的 copilot,对其他 AI 代码助手都不怎么感冒,心想:“免费的肯定不如付费的好”。但是 由于qwen开源模型在开源榜单上大杀四方,所以不得心生几分好感,不免下下来尝试下。
正好最近我正在开发一款开源桌宠软件,链接地址如下:
https://github.com/jihe520/Desktop-Pet-Godot

项目简介:🤖👾🐶一款由大语言模型驱动、Godot 制作的 AI 桌宠,旨在提供一个全能的、丰富的桌面AI宠物

QQ_1729841526717.png

项目使用的是开源的 Godot 游戏引擎,使用的语言是自带的 gdscript ,语法类似 Python 但是和游戏引擎绑定更紧密,这个项目对 Copilot 来说,还是有很多难度,因为该语言语法API 变化快,godot3 和 godot4的语法发生大变化,许多LLM都是给的godot3 淘汰的语法,不能给出最新的语法,该语言也比较小众,缺少训练资料,让我来测测千问灵码能力。

QQ_1729841561710.png
难点:

  • 更好的泛化能力,对小众语言学习能力强
  • 对整个大项目理解程度高
  • 训练数据集是否及时更新,能否适应语法API的更新变化
    以上考察的难点,也是我最关心的点,也算是技术难点吧。

废话少说,接下来开始使用

首先,因为引擎集成ide,我们这里切换使用外部的ide vscode,装上lingma插件。
QQ_1729842306412.png

项目结构

为方便演示,我先让他,先整体认识我的项目
QQ_1729842661429.png

解释代码

我忘记了 Globals.gd 里面的逻辑关系,我便让 qwen 给我解释下,他出乎我的意料,还给出了相关流程图,帮助我更好的理解。
QQ_1729842872641.png

解决 bug

bug1

我发现,保存预设时候,每次按钮会成倍添加
QQ_1729845817590.png
代码如下:

extends Control

@onready var presets_container: GridContainer = %PresetsContainer

const PRESET_PANEL = preload("res://send/store_preset/preset_panel.tscn")



func _ready() -> void:

    Globals.add_new_preset_panel.connect(_load_presets)

    _load_presets()



func _load_presets():

    for preset in Globals.presets:

        var preset_panel : PresetPanel = PRESET_PANEL.instantiate()

        preset_panel.panel_type = PresetPanel.PanelType.PresetType

        preset_panel.label_name = preset

        preset_panel.preset = Globals.presets[preset]

        presets_container.add_child(preset_panel)

QQ_1729845745098.png

func _load_presets():

        # 清除现有的预设面板

    for child in presets_container.get_children():

        if child is PresetPanel:

            child.queue_free()



    for preset in Globals.presets:

        var preset_panel : PresetPanel = PRESET_PANEL.instantiate()

        preset_panel.panel_type = PresetPanel.PanelType.PresetType

        preset_panel.label_name = preset

        preset_panel.preset = Globals.presets[preset]

        presets_container.add_child(preset_panel)

qwen 非常聪明,帮我排查出问题并给出解决措施。
ta正确使用了gdscript最新的api,具有很好的泛化能力和学习能力。
并且还在清除前做了个判断,保证代码的健壮性。

bug2

当点击发送按钮,大模型没有返还内容,qwen带着我,排除问题

QQ_1729843786991.png

首先怀疑,是请求模型的数据没有正确加载,我点击按钮时候发现,没有反应,我就让qwen帮我打印一些信息出来,方便调试。发现填写的api 和数据结构错误,很快的解决了。

不得不说,通义的补全速度很快,可能是网络原因,比copilot 快起码两倍以上,这点对写代码很重要。

结尾

最后,我有个非常困难的需求:将使用github action 将项目自动化打包。我本人也不是很懂这个github action
QQ_1729847406897.png

qwen 也是轻松解决。
现在提交代码,完成。

免费又好用,还不赶紧用起来。

相关文章
|
18天前
|
人工智能 开发者
通义灵码融入南京大学 AI 编程创新课,让大学生释放想象力
南京大学软件学院副教授钦老师将通义灵码引入了 X 层级课程《人工智能驱动编程》中,通过将通义灵码智能编码实践与传统编程语言教学融合的方式,让学生切身体会人工智能、大模型技术对编程学习方式带来的改变。
|
19天前
|
人工智能 算法 新制造
走进北京科技大学,通义灵码与企业高校共筑 AI 创意课堂
近日,通义灵码有幸参与到一场由伊利集团主办的 AIGC 生态创新大赛路演舞台,与高校专家、企业代表、青年学子共同探讨 AIGC 创意应用,交流企业在数智领域转型、青年开发者科技创新的思路和落地实践。
|
20天前
|
人工智能 自然语言处理 IDE
通义灵码让AI帮你实现自动化编程
通义灵码是由阿里云与通义实验室联合开发的智能编码辅助工具,具备行级/函数级实时续写、自然语言生成代码、单元测试生成、代码优化、注释生成、代码解释、研发智能问答及异常报错排查等功能。该工具支持200多种编程语言,兼容主流IDE,如Visual Studio Code、Visual Studio和JetBrains IDEs。通义灵码在Gartner发布的AI代码助手魔力象限中表现出色,成为唯一进入挑战者象限的中国科技公司。目前,通义灵码下载量已超过470万,每日辅助生成代码超3000万次,被开发者广泛采用。
|
27天前
|
人工智能 C语言 Python
AI师傅+通义灵码=零基础小白上手python真·不是梦
作为一名不懂编程的设计师,我一直渴望掌握AI辅助设计。在快刀青衣的推荐下,我尝试了AI师傅和通义灵码,成功写出了第一个Python程序,并理解了编程的基本概念。通过AI师傅的引导和通义灵码的帮助,我顺利完成了Coursera上的Python课程,获得了两张证书。这种学习方式让编程变得不再遥不可及,为我的未来学习打开了新大门。
|
27天前
|
数据采集 人工智能 安全
通过 AI 师傅(AI-Shifu.com)学通义灵码--小白篇
作为一名零编程经验的产品经理,我通过“AI-Shifu”和“通义灵码”体验了编程的乐趣。从安装Python库到完成文档加密与解密、网页爬虫等小实践,每个环节都充满了挑战和成就感。这些工具不仅降低了学习门槛,还激发了我的学习热情,让我对未来教育和产研合作充满期待。
|
27天前
|
人工智能 自然语言处理 数据可视化
比 Copilot 快两倍以上,在我的开源项目 AI Godot 桌宠中用通义灵码解决问题
在我的开源项目 AI Godot 桌宠中用通义灵码解决问题。
|
2月前
|
人工智能 开发者
通义灵码一周年数据报:你的 AI 编码助手身份标签是什么?
通义灵码一周年数据报,等你来开AI编码身份标签。
55 3
835
|
2月前
|
人工智能 Java 开发者
基于通义灵码轻松进行编程 在 AI 师傅(AI-Shifu.com)学的通义灵码
作为一名Java开发者,通过使用通义灵码个人版学习Python,学习效率提升了80%。根据AI师傅平台的指导,高效利用AI辅助学习的主要步骤包括:1. 描述需求,了解所需技术;2. 细化需求描述,便于AI高效编程;3. 发送参考指令给AI;4. 执行代码测试;5. 查看代码注释;6. 优化代码。
835
61 1
|
8天前
|
机器学习/深度学习 人工智能 算法
AI技术在医疗诊断中的应用及前景展望
本文旨在探讨人工智能(AI)技术在医疗诊断领域的应用现状、挑战与未来发展趋势。通过分析AI技术如何助力提高诊断准确率、缩短诊断时间以及降低医疗成本,揭示了其在现代医疗体系中的重要价值。同时,文章也指出了当前AI医疗面临的数据隐私、算法透明度等挑战,并对未来的发展方向进行了展望。
|
16天前
|
机器学习/深度学习 人工智能 自然语言处理
当前AI大模型在软件开发中的创新应用与挑战
2024年,AI大模型在软件开发领域的应用正重塑传统流程,从自动化编码、智能协作到代码审查和测试,显著提升了开发效率和代码质量。然而,技术挑战、伦理安全及模型可解释性等问题仍需解决。未来,AI将继续推动软件开发向更高效、智能化方向发展。