这个项目是我用半年时间,在手机上完成的。它能够通过自然语言生成 Minecraft 建筑,实现从文本描述到 AI 生成 3D 模型,再到自动体素化,最终生成 Minecraft Schematic 文件的全流程自动化。
项目背景
我从小就沉迷于 Minecraft,初中开始在 YouTube 上观看国外视频自学 Python。虽然时间有限,只学到了一些零散的知识,但我更喜欢折腾系统。初中时,我与 Python 的接触时间非常少,后来电脑也被我折腾坏了。我只能在手机上勉强自学编程。Termux 对 Python 的兼容性很差,我只能使用 Colab 和 Kaggle 运行 Python 环境,后来我逐渐爱上了机器学习。
你可以点击我的头像查看我的 LinuxDo 主页,你会看到我去年发布了一些白嫖云电脑部署开源模型的教程,例如 flux.1、CogVideo 和 VideoReTalking。但是这些都是已经训练好的模型。后来我玩 Minecraft 时心血来潮,想训练一个自己的 Minecraft 模型,实现一句话让 AI 生成 Minecraft 建筑物。
然而,想要自己一个人从零开始训练一个 AI 模型,并非易事。模型训练不是请客吃饭。我只能到网上四处搜集资料。我阅读了大量的计算机科学论文,希望找到成功的案例可以参考,但不幸的是,一个也没有找到。网上只有文本到 3D 点云的 AI 模型,而训练一个 Minecraft 生成建筑物的模型,应该要训练一个文本到体素模型的模型,与网上的 AI 生成 3D 模型根本不是同一个领域。
于是,我请教了 GPT-4o 和 Claude,它们结合我的想法帮我写了一个不完整的框架。我复制粘贴到 Colab 测试,结果遇到了各种报错。我把报错的内容复制粘贴发给 GPT,有很多错误 AI 都不能解决(例如很多库都更新了,AI 还在用旧版库的模块,还反过来说我的库太旧了让我更新,或者是因为模型幻觉乱定义函数,或者就是 Colab 环境本身自带很多库,如果我安装新的库会导致和一些旧的库冲突等等),这困扰了我很久,让我长夜难眠。
但这并没有阻止我写好项目的决心。我榨干了自己的每一分每一秒时间投入到了这上面,一个一个错误被解决了。一个月过去了,我的项目终于可以训练了,这时我才想起来,我根本没有数据集。怎么办?自己去 Minecraft 造 10 万个房子拿去训练吗?想想都觉得不现实。那就让 AI 生成建筑物,然后去训练?问题是 AI 会生成建筑物,我还需要训练 AI 模型干嘛?于是项目到这里就碰壁了。
我重新整理资料,让 Gemini 新发布的 Thinking 模型和 LinuxDo 佬友 "ky" 的 DeepSeek-R1-Lite 模型帮我想了一个新思路。不过当时 DeepSeek-R1 还没发布正式版,Lite 版本的上下文非常有限,Gemini 的 Thinking 模型的上下文也只有 30k tokens 左右,而我准备的资料(比如自己在 GitHub 整理的关于 AI 和 Minecraft 相关的论文和代码以及一些冷门的 Python 库的源代码,比如 NBT)的 tokens 占用远远超过这个。我只能疯狂压缩资料的内容,或者问 AI 一些零零散散的问题。最终 AI 建议我去微调 OpenAI 在 2023 年发布的 Shap-E 模型。这是一个轻量的文本生成