在使用 llama.cpp 调用本地 AI 模型时,可能会遇到显存占用异常、端口绑定失败或特定模型(如 DeepSeek)的模板兼容性问题。本文记录了相关问题的排查过程与解决方案。
llama.cpp 下载地址: https://github.com/ggml-org/llama.cpp/releases
以下代码保存为 bat 文件,放在和 llama-server.exe 同目录下运行(确保模型位置选对,GPU_LAYERS 和 THREADS 根据机器能力调整):
@echo off
setlocal
set "MODEL_PATH=F:\Models\Yakyu"
set "MODEL_FILE=Qwen3-235B-A22B-Instruct-2507-UD-Q8.gguf"
set CTX_SIZE=32768
set HOST=127.0.0.1
set PORT=1234
echo 正在启动 OpenAI 兼容 API 服务...
echo 模型:%MODEL_PATH%\%MODEL_FILE%
echo 端口:http://%HOST%:%PORT%
echo.
llama-server.exe ^
-m "%MODEL_PATH%\%MODEL_FILE%" ^
--ctx-size %CTX_SIZE% ^
--host %HOST% ^
--port %PORT%
echo.
echo 服务已停止。按任意键关闭窗口...
pause >nul
cmd 窗口出现'all slots are idle'说明模型加载完成,此时可以调用。如果出现乱码将 .bat 文件保存为 ANSI 编码格式即可。
注:通过 llama-server.exe -h 命令可以看到参数说明。默认打开了自动适应内存 (--fit on),--gpu-layers、--n-cpu-moe 等参数不填也行,具体效果视设备情况而定。
下面是可调参数多一点的版本:
@echo off
setlocal
set "MODEL_PATH=F:\Models\Yakyu"
set "MODEL_FILE=Qwen3-Next-80B-A3B-Instruct-abliterated-Q8_0.gguf"
set GPU_LAYERS=64
set THREADS=64
set CTX_SIZE=32768
set HOST=127.0.0.1
set PORT=1234
echo 正在启动 OpenAI 兼容 API 服务...
echo 模型:%MODEL_PATH%\%MODEL_FILE%
echo 端口:http://%HOST%:%PORT%
echo.
llama-server.exe ^
-m "%MODEL_PATH%\%MODEL_FILE%" ^
--gpu-layers %GPU_LAYERS% ^
--threads %THREADS% ^
--ctx-size %CTX_SIZE% ^
--n-cpu-moe 10 ^
--host %HOST% ^
--port %PORT%
echo.
echo 服务已停止。按任意键关闭窗口...
pause >nul
多个分片(shard)组成的 GGUF 分片模型用 llama-gguf-split 合并成一个才能用,参考代码如下:
D:\Yakyu\llama-b7640-bin-win-cuda-12.4-x64\llama-gguf-split.exe --merge F:/Models/Yakyu/Qwen3-235B-A22B-Instruct-2507/Qwen3-235B-A22B-Instruct-2507-UD-Q8_K_XL-00001-of-00006.gguf F:/Models/Yakyu/Qwen3-235B-A22B-Instruct-2507-UD-Q8.gguf
1、SillyTavern 调用时报错:Chat Completion API Assistant response prefill is incompatible with enable_thinking
当我加载的模型是 DeepSeek 时酒馆就会报这个错。
解决办法:
①换用文本补全模式
②bat 代码中增加 --reasoning-budget 0 来关闭思考。
@echo off
setlocal
set "MODEL_PATH=F:\Models\Yakyu"
set "MODEL_FILE=DeepSeek-V3.1-Terminus-MXFP4_MOE.gguf"
set CTX_SIZE=32768
set HOST=127.0.0.1
set PORT=1234
echo 模型:%MODEL_PATH%\%MODEL_FILE%
echo 端口:http://%HOST%:%PORT%
echo.
llama-server.exe ^
-m "%MODEL_PATH%\%MODEL_FILE%" ^
--reasoning-budget 0 ^
--chat-template-file "Unslothdeepseek-v3-chat-template.jinja" ^
--ctx-size %CTX_SIZE% ^
--host %HOST% ^
--port %PORT%
echo.
echo 服务已停止。按任意键关闭窗口...
pause >nul

