前言

前不久,B站开源了个翻译大模型(Index_Translation),本着试试看的心态,我在自己电脑上编译了 llama.cpp,并严肃品鉴了这个模型,效果意外的不错。在q4km量化下,2b的模型差点意思,顶多拿来划词翻译,电脑好一点的还好,差一点的感觉还不如我先前用的一个叫kd的翻译工具。但9b的模型确出奇地不错。达到了一个十分可用的水准,能把一篇篇幅不小的英文文章翻译成中文,还能保持信达雅。

核弹坐在我身上,仿佛看到了椅子爆炸。

正好,国庆放假前,我们计算机导论课上。老师留了个小组作业,说是要用ai做一个项目。形式不限。

你说了形式不限是吧?

写一个本地ai部署脚本何尝不算用ai做项目呢?

依旧小巧思。

工作流

项目的语言是bash,毕竟我就会这一种脚本语言(Python跟lua能看懂,但要我自己写我写不出来),而且用我长期使用GNU/Linux作为我的主力操作系统,这个脚本用bash写是怎么写怎么得劲。

llama.cpp有上千个编译选项,一个一个找肯定不现实,ai这是就派上了用场了。在大肥鱼的帮助下,我很快地找到了我能找到针对各类机型的编译选项。

写这个脚本对我来说不是特别大的难事,最难的地方在于把一长串if-else写完发现可以用case写。

baka

我想把我的脚本移植到Windows上,但我不会PowerShell,我用GNU/Linux的时间远比用Windows的长,我用不明白Windows。小组作业说想跑这个脚本还得花功夫折腾wsl也不现实。于是我找到了我的妈妈朋友,让他帮我做 Windows移植。但由于microslop的一些原因,包括但不限于不能在PowerShell上运行脚本,得用cmd曲线救国。我的妈妈一直在c,整一个项目他的代码量占了95%。他还帮我测试了各个编译选项能不能用。

我还安排了个彩蛋。

项目大纲

以我负责的部分为例,我先是展示了个logo,提示了安装所需的依赖,完了把各个设备所需的编译选项列出来,让用户根据自己的设备选择。完了开始编译,编译完了后又提供了几个模型供选择下载(有点像ollama,不过性能要高不少)。最后,为了抑制住千问系模型的thinking,我export了一个别名。

项目主页

GitHub

Codeberg

特别鸣谢

我的妈妈:Anchor-kkti