Void + MoXing:低成本方案用RX580显卡本地运行qwen3.5:9B模型,打造类Cursor体验

先说在前面,这个"类Cursor体验"只能说体验上有些相似。

Void项目(https://github.com/voideditor/void)目前似乎已停止维护,而MoXing项目(https://github.com/cycleuser/MoXing)本质上就是llama.cpp的Python封装层,整体没什么太高深的技术门槛,权当是离线场景的一个参考思路。

大语言模型(LLM)如今已是遍地开花,不少朋友都想在自家电脑上跑个本地模型。可问题是,对于AMD显卡用户而言,配置ROCm环境属实让人头疼。再看NVIDIA的卡,那价格……懂的都懂,身为打工人的我只能望而却步。

手头有台老掉牙的E5V3平台,配的是RX590 2304SP显卡,8G显存倒是够用。但卡实在太老,ROCm早已不支持,折腾Ollama For AMD也嫌麻烦。既然要跑本地模型,干脆直接用llama.cpp,再套个Python封装得了。之前也写过相关介绍 MoXing:低预算场景用RX580显卡轻松运行Qwen3.5-9b-q4_k_m模型,玩一玩还挺有意思的。

本文以Windows 11系统搭配AMD RX590 2304显卡为例,介绍如何用MoXing跑起来OmniCoder-9B模型,来提供服务给本机上的Void编辑器。


一、安装MoXing

MoXing安装起来特别省事,一条pip命令搞定:

pip install moxing

安装时会自动拉取所有依赖包,主要有:

  • httpx - HTTP请求库
  • pydantic - 数据校验框架
  • rich - 终端美化输出
  • typer - 命令行工具框架
  • psutil - 系统资源监控

装完之后终端会显示:

Successfully installed moxing-0.1.5

建议:最好在conda里建个新环境再装,免得跟其他项目打架。


二、下载模型

这篇文章用的是OmniCoder-9B的GGUF量化版,从ModelScope下载:

modelscope download --model Tesslate/OmniCoder-9B-GGUF omnicoder-9b-q4_k_m.gguf --local_dir ~/Downloads/

参数解释

  • --model Tesslate/OmniCoder-9B-GGUF:指定模型仓库路径
  • omnicoder-9b-q4_k_m.gguf:选用Q4_K_M量化版本(约5.3GB)
  • --local_dir ~/Downloads/:保存到指定文件夹

下载完会得到一个5.34GB左右的GGUF模型文件。

📝 关于量化选择:Q4_K_M是在模型体积和性能之间取了个折中,8GB显存的卡跑起来刚刚好。要是显存宽裕,可以试试Q5_K_M或Q8_0,精度会更高。


三、启动服务

首次启动

进到模型存放的目录,执行这条命令:

moxing serve ~/Downloads/omnicoder-9b-q4_k_m.gguf --port 8080  # 端口号可以自己改

上面这里的端口是可以自行调整的,如果端口被其他服务占了就换一个即可,不过记得后面配置Void的时候要用同样的端口才行。

第一次跑的时候,MoXing会自动把llama.cpp的预编译二进制文件拉下来:

Downloading llama.cpp binaries...
Found release: b8392
Downloading: llama-b8392-bin-win-vulkan-x64.zip
Extracting binaries...
  Extracted: ggml-vulkan.dll
  Extracted: llama-server.exe
  ...
Binaries installed to: C:\Users\<用户名>\.cache\moxing\binaries\windows

这个下载只会有一次,之后再运行就直接用缓存了。

GPU识别问题

要是第一次运行时设备检测超时,MoXing会自动退回CPU模式:

Warning: Device detection failed: Command timed out after 30 seconds
Backend: cpu
Device: CPU (cpu, unknown)

没事,再执行一遍命令就能正常识别到GPU了。

运行成功

AMD显卡被正确识别后,终端会显示相关配置信息,基本上就是在告诉你MoXing已经认出了你的A卡,并且启用了Vulkan后端来做GPU加速。

服务起来后,Web聊天界面在 http://127.0.0.1:8080,OpenAI API的调用地址则是 http://127.0.0.1:8080/v1


四、配合 Void 使用

MoXing的服务跑起来后,就能像调用OpenAI API那样使用本地模型了。在Void这类编辑器里,选择Ollama作为本地模型服务(Local Provider),把地址端口改成MoXing所运行的端口即可,比如上面设置的8080就行。

Image

说起来,这篇文档就是我用Void搭配OmniCoder-9B模型写出来的。不过受限于RX580(590)2304SP的性能,上下文没法开太大,简单的代码解析和文档翻译等工作还是能应付,复杂的任务我可不敢交给它——毕竟硬件太老旧了。但这个思路确实是可行的,希望能给大家一些启发。


相关链接

  • MoXing GitHub: https://github.com/cycleuser/MoXing
  • llama.cpp: https://github.com/ggml-org/llama.cpp
  • OmniCoder-9B: https://modelscope.cn/models/Tesslate/OmniCoder-9B-GGUF

预览时标签不可点

Close

更多

Name cleared

微信扫一扫赞赏作者

Like the AuthorOther Amount

赞赏后展示我的头像

作品

暂无作品

Like the Author

Other Amount

¥

最低赞赏 ¥0

OK

Back

Other Amount

更多

赞赏金额

¥

最低赞赏 ¥0

1

2

3

4

5

6

7

8

9

0

.

大语言模型 · 目录

大语言模型

上一篇MoXing:低预算场景用RX580显卡轻松运行Qwen3.5-9b-q4_k_m模型下一篇OllamaAid:给你管理本地大模型配个得力助手

Close

更多

搜索「」网络结果

Close

调整当前正文文字大小

更多

100%