适用硬件:SER8(Ryzen AI 9 8845HS + Radeon 780M + 48GB 内存,无独显)
目标:用 Docker Compose 跑起 Qwythos-9B 和 Qwen3.6-35B-A3B-Uncensored,并能对比着用
第 0 步:准备工作
你需要先确认两件事:
fnOS 已经安装了「Docker」应用(就是你部署 Frigate/CompreFace 用的那个)。如果没装,去 fnOS 的应用中心搜「Docker」装上。
找到你 NAS 上一个用来存文件的路径,比如你存储池叫「储存池1」,建议专门建一个文件夹放模型,例如:
/vol3/1000/docker/llama/models具体路径怎么找:打开 fnOS 的「文件」应用,随便进一个共享文件夹,右上角有个「属性」或者路径显示,能看到类似
/vol3/1000/xxx这样的完整路径,记下来,后面要用。
第 1 步:下载模型文件
这一步是把模型文件(几个 GB 到几十 GB 的 .gguf 文件)下载到你电脑上,再传到 NAS。
1.1 下载 Qwythos-9B
打开浏览器,访问(国内建议用镜像站,速度快很多):
https://hf-mirror.com/empero-ai/Qwythos-9B-Claude-Mythos-5-1M-GGUF
在文件列表里找到这个文件(大概 5.5GB):
Qwythos-9B-Claude-Mythos-5-1M-Q4_K_M.gguf
点击文件名进去,右上角有下载按钮,点击下载。
1.2 下载 Qwen3.6-35B-A3B-Uncensored
同样打开镜像站:
https://hf-mirror.com/HauhauCS/Qwen3.6-35B-A3B-Uncensored-HauhauCS-Aggressive
找到(大概 20GB,文件比较大,耐心等):
Qwen3.6-35B-A3B-Uncensored-HauhauCS-Aggressive-Q4_K_M.gguf
下载下来。
小提示:如果 hf-mirror.com 打不开或者速度很慢,可以搜"HF-Mirror 下载工具"或者用迅雷/IDM 之类的下载器加速,两个文件加起来接近 26GB,普通网速可能要下载挺久。
第 2 步:把模型文件传到 NAS
打开 fnOS 的「文件」应用(网页版或者桌面客户端都行)。
进到你之前记下的路径,比如
/vol3/1000/docker/llama/models(如果这个文件夹不存在,先手动新建:docker→llama→models三层文件夹)。把刚才下载的两个
.gguf文件,直接拖拽上传进这个models文件夹。等上传完成——大文件传输可能要一段时间,可以先去做别的事。
上传完成后,这个文件夹里应该有这两个文件:
models/
├── Qwythos-9B-Claude-Mythos-5-1M-Q4_K_M.gguf
└── Qwen3.6-35B-A3B-Uncensored-HauhauCS-Aggressive-Q4_K_M.gguf
第 3 步:在 fnOS 里新建 Docker Compose 项目
打开 fnOS 的「Docker」应用。
左边菜单找到「项目」(或者叫「Compose」,不同版本叫法可能略有差异)。
点击「新建」/「创建项目」。
项目名称随便填,比如
llama-local。会有一个可以粘贴 YAML 代码的输入框,把下面这段完整复制粘贴进去:
services:
qwythos:
image: ghcr.io/ggml-org/llama.cpp:server-vulkan
container_name: llama-qwythos
restart: unless-stopped
ports:
- "8082:8082/tcp"
volumes:
- /vol3/1000/docker/llama/models:/models
- /etc/localtime:/etc/localtime:ro
devices:
- /dev/dri:/dev/dri
group_add:
- video
environment:
- TZ=Asia/Shanghai
- GGML_VULKAN=1
- LLAMA_ARG_MODEL=/models/Qwythos-9B-Claude-Mythos-5-1M-Q4_K_M.gguf
- LLAMA_ARG_HOST=0.0.0.0
- LLAMA_ARG_PORT=8082
- LLAMA_ARG_N_GPU_LAYERS=99
- LLAMA_ARG_CTX_SIZE=32768
- LLAMA_ARG_FLASH_ATTN=1
- LLAMA_ARG_TEMP=0.6
- LLAMA_ARG_TOP_P=0.95
- LLAMA_ARG_TOP_K=20
- LLAMA_ARG_REPEAT_PENALTY=1.05
- LLAMA_ARG_CACHE_TYPE_K=q8_0
- LLAMA_ARG_CACHE_TYPE_V=q4_0
qwen36:
image: ghcr.io/ggml-org/llama.cpp:server-vulkan
container_name: llama-qwen36
restart: unless-stopped
ports:
- "8083:8083/tcp"
volumes:
- /vol3/1000/docker/llama/models:/models
- /etc/localtime:/etc/localtime:ro
devices:
- /dev/dri:/dev/dri
group_add:
- video
environment:
- TZ=Asia/Shanghai
- GGML_VULKAN=1
- LLAMA_ARG_MODEL=/models/Qwen3.6-35B-A3B-Uncensored-HauhauCS-Aggressive-Q4_K_M.gguf
- LLAMA_ARG_HOST=0.0.0.0
- LLAMA_ARG_PORT=8083
- LLAMA_ARG_N_GPU_LAYERS=99
- LLAMA_ARG_CTX_SIZE=131072
- LLAMA_ARG_FLASH_ATTN=1
- LLAMA_ARG_TEMP=0.6
- LLAMA_ARG_TOP_P=0.95
- LLAMA_ARG_TOP_K=20
- LLAMA_ARG_REPEAT_PENALTY=1.1
- LLAMA_ARG_CACHE_TYPE_K=q8_0
- LLAMA_ARG_CACHE_TYPE_V=q4_0
注意:如果你的模型文件夹路径不是
/vol1/1000/docker/llama/models,把上面 YAML 里两处/vol3/1000/docker/llama/models:/models的冒号左边改成你自己的实际路径(冒号右边的/models不要改)。
点击「部署」/「启动」按钮,等它自己去拉取镜像(
ghcr.io/ggml-org/llama.cpp:server-vulkan这个镜像,第一次拉取可能要几分钟)。
第 4 步:确认启动成功
部署完成后,在 Docker 应用的「容器」列表里,应该能看到两个新容器:
llama-qwythos和llama-qwen36,状态显示为「运行中」(绿色)。点进
llama-qwythos容器,看它的「日志」标签。重点看日志里有没有出现这样的内容:
ggml_vulkan: 0 = AMD Radeon Graphics (RADV PHOENIX) (radv) | uma: 1看到
RADV PHOENIX这几个字,说明 780M 核显被成功识别并用上了。如果日志里没有这一行,或者报错提示找不到 Vulkan 设备,先看本教程最后的「常见问题」部分。
同样的方法检查
llama-qwen36容器的日志。
第 5 步:开始对话测试
llama.cpp 的 server 自带一个简单网页界面,不用装任何东西。
打开浏览器,访问(把
NAS的IP换成你 NAS 实际的局域网 IP,比如192.168.1.10):http://NAS的IP:8082 → 测试 Qwythos-9Bhttp://NAS的IP:8083 → 测试 Qwen3.6-35B-A3B会打开一个简单的聊天网页,直接在输入框里打字提问,就能对话了。
想做速度对比的话,两个网页开两个浏览器标签,问一样的问题,感受一下谁答得快、答得好。
如果你想通过接口(API)调用,而不是网页手动问,可以在终端里试试(Mac/Linux 都能直接用,Windows 用 PowerShell):
curl http://NAS的IP:8083/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"messages": [{"role": "user", "content": "你好,简单介绍一下你自己"}]
}'
这个接口跟 OpenAI 的调用方式一样,之后想接 Open WebUI、Home Assistant 的对话代理,直接把这个地址填进去就行。
第 6 步:日常怎么用
两个模型不建议同时长期开着——48GB 内存虽然够用,但两个都跑起来 CPU 会抢得很厉害,日常只开你当下要用的那个。
fnOS 的 Docker 面板里,在「项目」里可以单独「启动」或「停止」某个容器(比如只停
qwen36,留qwythos继续跑)。想换模型文件、调整参数,直接在项目里编辑那段 YAML,改完点「重新部署」就行,不用删了重建。
常见问题排查
Q: 容器日志里看不到 Vulkan 检测信息,或者直接报错退出了? 在 fnOS 的 SSH 终端里输入 ls -l /dev/dri,如果这个命令报错说文件夹不存在,说明你的 fnOS 内核没有正确加载显卡驱动,需要去 fnOS 论坛搜「780M Vulkan 驱动」,先确认宿主机层面能识别到显卡。
Q: 容器启动了,但网页打不开? 检查 fnOS 的防火墙设置有没有拦截 8082/8083 端口;也确认你访问的 IP 是 NAS 的局域网 IP,不是别的设备的 IP。
Q: qwen36 那个模型加载特别慢,或者提示内存不够? 第一次加载 20GB 的模型文件,从机械硬盘读会很慢,建议把模型文件放在 NVMe 固态盘对应的存储池里。如果真的提示内存不足,把 LLAMA_ARG_CTX_SIZE 从 131072 调小到 32768 试试,上下文越大占用内存越多。
Q: 想换成 huihui-ai 或 OpenYourMind 那两个无审查版本? 把 YAML 里 LLAMA_ARG_MODEL 那一行的文件名,换成你从 hf-mirror.com 上其他仓库下载的对应文件名即可,其他都不用动。
评论区