本地部署通义千问模型
Local deployment of LLM
windows本地部署大预言模型
共 9 步 · 约 18 分钟
准备环境
系统:Windows
CPU:i7-10700
显卡:GTX 1660 SUPER 6GB
模型:Qwen3.6-35B-A3B-Uncensored-HauhauCS-Aggressive-IQ2_M.gguf
模型路径:F:\models\Qwen3.6-35B-A3B-Uncensored-HauhauCS-Aggressive-IQ2_M.gguf
服务端:llama.cpp
接口地址:http://127.0.0.1:8080/v1这个模型文件大约 11.6GB,显卡只有 6GB,所以不能全量跑 GPU,只能 CPU + 部分 GPU 加速。 可根据配置下载不同模型 模型下载地址:https://huggingface.co/HauhauCS/Qwen3.6-35B-A3B-Uncensored-HauhauCS-Aggressive
下载 llama.cpp
llama.cpp下载地址:https://github.com/ggml-org/llama.cpp Windows 下不要下载 CPU 版,应该下载:
Windows x64 (CUDA 12)
CUDA 12.4 DLLs然后把两个压缩包都解压到同一个目录,例如:
F:\project\llama.cpp-bin\目录里应该能看到:
llama-server.exe
ggml-cuda.dll
cublas*.dll
其他 dll 文件如果没有 CUDA DLL,-ngl 参数不会真正生效。
启动模型服务
打开 PowerShell,执行:
Set-Location "F:\project\llama.cpp-bin"
& ".\llama-server.exe" `
-m "F:\models\Qwen3.6-35B-A3B-Uncensored-HauhauCS-Aggressive-IQ2_M.gguf" `
--alias "qwen3.6-35b-iq2" `
--host "127.0.0.1" `
--port 8080 `
-c 4096 `
-n 2048 `
--threads 12 `
--threads-batch 12 `
-ngl 10参数说明:
-m 模型文件路径
--alias 对外显示的模型名
--host 只监听本机
--port 服务端口
-c 上下文长度,这里用 4096 更稳
-n 最大生成长度
-ngl 卸载到 GPU 的层数如果启动失败或显存不足,把:-ngl 10 降成:-ngl 6,再不行用:-ngl 4
判断 GPU 是否生效
启动日志里如果只看到:CPU: Intel Core ... 说明是 CPU 模式。
如果看到:
CUDA0: NVIDIA GeForce GTX 1660 SUPER
CUDA: ARCHS ...说明 CUDA 版已经生效。 再开一个 PowerShell:
nvidia-smi如果能看到 llama-server.exe,说明 GPU 正在参与。
注意:即使 GPU 生效,CPU 仍然会高占用,因为这个 35B 模型太大,6GB 显存只能跑一部分层。
测试接口
确认服务启动后,访问模型列表:curl.exe http://127.0.0.1:8080/v1/models
正常会看到:qwen3.6-35b-iq2
OpenAI 兼容配置是:
Base URL: http://127.0.0.1:8080/v1
API Key: sk-local
Model: qwen3.6-35b-iq2
Endpoint: /chat/completions用 PowerShell 脚本调用
我们把调用脚本放在:F:\project\tcs\run-local-model
运行:
powershell -NoProfile -ExecutionPolicy Bypass -File "F:\project\tcs\run-local-model"自定义问题:
powershell -NoProfile -ExecutionPolicy Bypass -File "F:\project\tcs\run-local-model" -Prompt "写一段50字以内的自我介绍" -MaxTokens 4096-MaxTokens 参数可根据配置做调整
脚本里做了一个关键优化:
chat_template_kwargs = @{
enable_thinking = $false
}这是为了关闭 Qwen 的思考输出,否则它会一直返回 reasoning_content,看起来像没有正式回答。
接hermes
前面试过 Hermes,但不适合这个模型。
原因是 Hermes 的 Chat 模式本质上仍然会启动 Agent,系统提示和工具上下文一上来就可能超过 18K tokens,而当前 llama.cpp 服务真实上下文是:4096 tokens所以 Hermes 会报 context 不够。这个模型适合直接走 OpenAI 兼容接口,不适合接 Hermes Agent。
如果机器配置足够,用更好的模型可以接
常见问题
如果 CPU 很高、GPU 没动:
- 可能是 CPU 版 llama.cpp
- 可能 CUDA DLL 没放到 llama-server.exe 同目录
- 可能 -ngl 是 0
- 可能显存太满 建议在任务管理器观察占用情况
如果返回很慢:这是正常的,35B IQ2 在 6GB 显卡上速度有限
如果回答前全是思考内容:加 chat_template_kwargs.enable_thinking = false
最终状态
当前推荐使用方式是:
llama.cpp 负责启动本地模型服务
PowerShell / 程序直接调用 http://127.0.0.1:8080/v1/chat/completions
不接 Hermes
知识库后续用 system prompt、knowledge.md 或 RAG 注入这套方案的定位是:本地离线中文助手、小脚本、小规模问答、文档摘要和轻量接口测试。大型 Agent、多文件工程自动化、长上下文任务不适合用这台机器上的这个模型硬扛。