
今天看见一个命令行小应用非常有趣,它的功能是终端清屏命令,类似于 cmd + L 命令的功能,但是它增加了一个经典吞食天地游戏的动画:

但是很可惜,它是用 Go 语言实现的,代码在此:https://github.com/orangekame3/paclear[1] 。
cargo run -- -c Red // 指定颜色
cargo run -- -s 3 // 指定速度
我翻了一下 paclear 的 Go 源码,发现代码不是很多,于是心血来潮,尝试用 ChatGPT-4 来将其翻译为 Rust 代码。
成果在这里 https://github.com/Illumine-Labs/Rust-Workshop/tree/main/cell[2] ,整个过程花了大约 10 分钟左右,一共 130 行 Rust 代码,基本无错,我只修改了一个越界错误。
下面介绍一下我如何使用 ChatGPT 来转换代码:
HuggingFace.co 被强了,本地跑 candle example 代码会报网络错误,无法下载 tokenizer.json 文件。
一个最简单的解决方法就是,把 candle 的 example 代码修改了一下,命令行增加一个参数,让其方便指定本地的 tokenizer.json 文件和本地模型,就避免走官网了。
在本地 CPU 下执行,加载模型和推理速度都非常快,但是精准度还是差点,生成的 Rust 代码惨不忍睹。当然,这和我用的一个量化模型有关系。


我在努力尝试将 ChatGPT 应用在日常的学习和工作中,最大化地挖掘它的潜力。今天的尝试发现 GPT-4 的代码生成能力很强,以后会进行更多相关尝试。
另外最近 GPT-4V 的发布,让 GPT 拥有了强大的识图功能。微软发布了166页的论文《 LLM 的黎明 | GPT-4V 初步探索》[3] ,感兴趣的可以学习,这里面详细探索了 GPT-4V 的更多新的能力。
[1]
https://github.com/orangekame3/paclear: https://github.com/orangekame3/paclear
[2]
https://github.com/Illumine-Labs/Rust-Workshop/tree/main/cell: https://github.com/Illumine-Labs/Rust-Workshop/tree/main/cell
[3]
《 LLM 的黎明 | GPT-4V 初步探索》: https://weibo.com/ttarticle/p/show?id=2309404952763347108084