Windows 环境下 llama.cpp 编译与 Qwen 模型本地部署
在大模型落地场景中,本地轻量化部署因低延迟、高隐私性、无需依赖云端算力等优势,成为开发者与 AI 爱好者的热门需求。本文聚焦 Windows 10/11(64 位)环境,详细拆解 llama.cpp 工具的编译流程(支持 CPU/GPU 双模式,GPU 加速需依赖 NVIDIA CUDA),并指导如何通过 ModelScope 下载 GGUF 格式的 Qwen-7B-Chat 模型,最终实现模型本地启动与 API 服务搭建。
1. 克隆代码
打开管理员权限的 PowerShell/CMD,执行以下命令克隆代码:
git clone https://github.com/ggml-org/llama.cpp
mkdir build
cd build
2. 编译配置
基础编译(仅 CPU 支持)或者选用 GPU 加速编译(已安装 CUDA Toolkit)。
仅 CPU 编译
cmake .. -G"Visual Studio 18 2022" -A x64 -DLLAMA_CURL=OFF
cmake --build . --config Release
GPU 加速编译
如果已安装 CUDA Toolkit,添加 -DLLAMA_CUDA=ON 开启 GPU 支持:
cmake .. -G"Visual Studio 18 2022" -A x64 -DLLAMA_CUDA=ON
cmake --build . --config Release
3. 下载模型
下载 GGUF 格式的 Qwen 模型(以 7B 为例)。确保已安装 modelscope 库。
pip install modelscope
modelscope download --model Xorbits/Qwen-7B-Chat-GGUF
下载后的保存位置通常为 \modelscope\hub\models\Xorbits。
4. 启动服务
运行模型启动 API 服务(支持 HTTP 调用)。统一端口为 11433。
CPU 版
chcp 65001
llama-cli.exe -m qwen.gguf -i -c 4096
GPU 加速版 (Server)
llama-server.exe -m qwen-7b-chat.Q4_0.gguf -c 4096 --n-gpu-layers -1 --host 127.0.0.1 --port 11433
5. 测试调用
服务启动后监听 http://localhost:11433,可通过 curl 测试调用效果。
curl http://localhost:11433/completion -H "Content-Type: application/json" -d '{ "prompt": "你好,介绍一下通义千问", "temperature": 0.7, "max_tokens": 512 }'
6. Python 代码调用示例
通过代码调用大模型测试效果。
基础非流式调用(completion 端点)
import requests
import json
url = "http://localhost:11433/completion"
headers = {: }
data = {
: ,
: ,
: ,
: ,
: ,
: []
}
:
response = requests.post(url, headers=headers, data=json.dumps(data), timeout=)
response.raise_for_status()
result = response.json()
()
(result[])
Exception e:
()

