在我的开源项目(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 也是轻松解决。
现在提交代码,完成。

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

相关文章
|
1天前
|
人工智能 自然语言处理 IDE
通义灵码让AI帮你实现自动化编程
通义灵码是由阿里云与通义实验室联合开发的智能编码辅助工具,具备行级/函数级实时续写、自然语言生成代码、单元测试生成、代码优化、注释生成、代码解释、研发智能问答及异常报错排查等功能。该工具支持200多种编程语言,兼容主流IDE,如Visual Studio Code、Visual Studio和JetBrains IDEs。通义灵码在Gartner发布的AI代码助手魔力象限中表现出色,成为唯一进入挑战者象限的中国科技公司。目前,通义灵码下载量已超过470万,每日辅助生成代码超3000万次,被开发者广泛采用。
|
8天前
|
人工智能 C语言 Python
AI师傅+通义灵码=零基础小白上手python真·不是梦
作为一名不懂编程的设计师,我一直渴望掌握AI辅助设计。在快刀青衣的推荐下,我尝试了AI师傅和通义灵码,成功写出了第一个Python程序,并理解了编程的基本概念。通过AI师傅的引导和通义灵码的帮助,我顺利完成了Coursera上的Python课程,获得了两张证书。这种学习方式让编程变得不再遥不可及,为我的未来学习打开了新大门。
|
8天前
|
数据采集 人工智能 安全
通过 AI 师傅(AI-Shifu.com)学通义灵码--小白篇
作为一名零编程经验的产品经理,我通过“AI-Shifu”和“通义灵码”体验了编程的乐趣。从安装Python库到完成文档加密与解密、网页爬虫等小实践,每个环节都充满了挑战和成就感。这些工具不仅降低了学习门槛,还激发了我的学习热情,让我对未来教育和产研合作充满期待。
|
8天前
|
人工智能 自然语言处理 数据可视化
比 Copilot 快两倍以上,在我的开源项目 AI Godot 桌宠中用通义灵码解决问题
在我的开源项目 AI Godot 桌宠中用通义灵码解决问题。
|
15天前
|
人工智能 开发者
通义灵码一周年数据报:你的 AI 编码助手身份标签是什么?
通义灵码一周年数据报,等你来开AI编码身份标签。
41 3
835
|
17天前
|
人工智能 Java 开发者
基于通义灵码轻松进行编程 在 AI 师傅(AI-Shifu.com)学的通义灵码
作为一名Java开发者,通过使用通义灵码个人版学习Python,学习效率提升了80%。根据AI师傅平台的指导,高效利用AI辅助学习的主要步骤包括:1. 描述需求,了解所需技术;2. 细化需求描述,便于AI高效编程;3. 发送参考指令给AI;4. 执行代码测试;5. 查看代码注释;6. 优化代码。
835
43 1
|
17天前
|
人工智能 自然语言处理 搜索推荐
通义灵码:AI辅助开发工具的新范式
在大模型时代,阿里云的通义灵码作为AI辅助开发工具,通过提高开发效率、简化协作和降低成本,重塑了软件开发的核心要素。通义灵码基于大模型和自然语言处理技术,实时辅助代码编写、调试和优化,提供个性化支持,显著提升了开发体验。未来,AI将在软件开发中发挥更大作用,通义灵码将继续引领这一变革。
58 0
通义灵码:AI辅助开发工具的新范式
|
3天前
|
存储 XML 人工智能
深度解读AI在数字档案馆中的创新应用:高效识别与智能档案管理
基于OCR技术的纸质档案电子化方案,通过先进的AI能力平台,实现手写、打印、复古文档等多格式高效识别与智能归档。该方案大幅提升了档案管理效率,确保数据安全与隐私,为档案馆提供全面、智能化的电子化管理解决方案。
69 48
|
3天前
|
机器学习/深度学习 人工智能 自然语言处理
当前AI大模型在软件开发中的创新应用与挑战
【10月更文挑战第31天】2024年,AI大模型在软件开发领域的应用取得了显著进展,从自动化代码生成、智能代码审查到智能化测试,极大地提升了开发效率和代码质量。然而,技术挑战、伦理与安全问题以及模型可解释性仍是亟待解决的关键问题。开发者需不断学习和适应,以充分利用AI的优势。
|
3天前
|
人工智能 安全 测试技术
探索AI在软件开发中的应用:提升开发效率与质量
【10月更文挑战第31天】在快速发展的科技时代,人工智能(AI)已成为软件开发领域的重要组成部分。本文探讨了AI在代码生成、缺陷预测、自动化测试、性能优化和CI/CD中的应用,以及这些应用如何提升开发效率和产品质量。同时,文章也讨论了数据隐私、模型可解释性和技术更新等挑战。