#!/bin/bash # llama-server 模型切换开关:minicpm ↔ off(2026-09-08:主力已由 Qwen3.5-4B 切 MiniCPM5-2B) # 用法: llama-switch.sh minicpm|4b|off|status # 服务占用 :8080 端口 # 铁律来源: 3B 曾以 ctx 16384 CPU 推理致 RSS 7.6GB 内存黑洞; 7B/3B 均不再部署。4B 已由 MiniCPM5-2B 替换(省显存1.27G+快一倍)。 case "$1" in 3b|7b) echo "🛑 3B/7B 已禁用(牧尘 2026-09-07 铁律)——本机只允许 MiniCPM5-2B (llama-server-4b unit)。" echo " 原因: 3B CPU 推理 RSS 7.6GB 内存黑洞; MiniCPM5-2B GPU 部署仅需 VRAM 1.9G + host ~500MB。" exit 1 ;; 4b) echo "ℹ️ 4B 已由 MiniCPM5-2B 替换(2026-09-08)——启动 MiniCPM(同 unit llama-server-4b 跑 MiniCPM 权重)。" systemctl --user start llama-server-4b echo "✅ 已启动 MiniCPM5-2B (Q4_K_M, ctx 90112/88K, KV q8_0, reasoning off) @ :8080" ;; minicpm|start) systemctl --user start llama-server-4b echo "✅ 已启动 MiniCPM5-2B (Q4_K_M, ctx 90112/88K, KV q8_0, reasoning off) @ :8080" ;; off) systemctl --user stop llama-server-4b 2>/dev/null echo "🛑 本地 LLM 服务已停止" ;; status) _s4b=$(systemctl --user is-active llama-server-4b 2>/dev/null) if [ "$_s4b" = "active" ]; then echo "🟢 当前: MiniCPM5-2B (Q4_K_M, ctx 90112/88K, KV q8_0, reasoning off) @ :8080" echo " 显存: $(nvidia-smi --query-gpu=memory.used --format=csv,noheader,nounits) MiB / 4096 MiB" else echo "⚪ 本地 LLM 服务未运行(llama-server-4b inactive)" fi ;; *) echo "用法: llama-switch.sh minicpm|off|status (3B/7B 已禁用)" ;; esac