从零开始,在 Windows 笔记本上部署本地大模型(llama.cpp + Qwen2.5 完整教程)

不需要高端显卡,不需要云服务,一台普通笔记本就能跑大模型。本文记录了从零部署 llama.cpp + Qwen2.5 的完整过程,包括 CUDA 加速配置、模型下载、常见问题等。

从零开始,在 Windows 笔记本上部署本地大模型(llama.cpp + Qwen2.5 完整教程)

不需要高端显卡,不需要云服务,一台普通笔记本就能跑大模型。本文记录了从零部署 llama.cpp + Qwen2.5 的完整过程,包括 CUDA 加速配置、模型下载、常见问题等。


📖 前言

事情的起因有点偶然。

今天刷视频号,刷到一个 AI 相关的视频,评论区里有人说"llama 可以在本地部署"。立马有人回复纠正:"你说的是 Ollama 吧?"结果又有人接话:"没毛病,确实有 llama,llama.cpp。"

这一来一回给我整好奇了——我一直以为本地跑大模型就是 Ollama,没想到它底层还有个更核心的东西叫 llama.cpp。本着"来都来了"的精神,我决定亲自上手折腾一把。折腾了一下午,终于在自己的笔记本上跑起来了。把整个过程记录下来,希望能帮到想上手的朋友。

我的配置:

  • CPU:Intel i5-1135G7
  • GPU:NVIDIA GeForce MX450(2GB 显存)
  • 内存:16GB
  • 系统:Windows 11

你没看错,MX450 这种入门级显卡也能跑!当然不能跑太大的模型,但 1.5B 参数的模型完全够用了。


一、llama.cpp 是什么?

llama.cpp 是一个开源的大语言模型本地推理引擎,核心特点:

  • 🚀 纯 C/C++ 实现,零依赖,编译完就是几个 exe 文件
  • ⚡ 极致性能优化,支持 CPU、GPU、Apple Silicon 等各种硬件
  • 📦 模型量化技术,把大模型"压缩"后在小显存上也能跑
  • 🔌 OpenAI 兼容 API,启动后能当本地版 ChatGPT 用

简单说:想在自己电脑上离线跑大模型,llama.cpp 是首选工具。

💡 很多知名的本地 AI 应用(如 Ollama、LM Studio)底层都是基于 llama.cpp 开发的——这也解答了前言里评论区的争论:Ollama 是"套壳"的易用版,llama.cpp 才是底层的发动机。


二、部署 llama.cpp

2.1 下载预编译版本

不用自己编译,直接下载官方提供的预编译包即可:

  1. 访问 llama.cpp releases 页面
  2. 找到最新的 build 版本(带版本号的正式版可能没有 Windows 包,找 b 开头的构建版,比如 b11429)
  3. 根据你的显卡选择下载:
你的情况下载哪个包
NVIDIA 显卡llama-xxx-bin-win-cuda-12.4-x64.zip
只有 CPUllama-xxx-bin-win-cpu-x64.zip
AMD 显卡llama-xxx-bin-win-rocm-x.x-x64.zip

我选的是 CUDA 12.4 版本,约 250MB。

2.2 解压部署

下载完后解压到任意目录,我放在了 D:\llama.cpp\。

解压后你会看到一堆 exe 和 dll 文件,常用的有:

文件用途
llama-cli.exe命令行聊天工具
llama-server.exeAPI 服务器(带网页界面)
llama-quantize.exe模型量化工具
ggml-cuda.dllCUDA 加速库

2.3 验证安装

打开 PowerShell,进入目录后:

powershell
cd D:\llama.cpp
.\llama-cli.exe --version

输出版本号就说明安装成功了。


三、配置 CUDA GPU 加速

这一步可能有点坑,详细说一下。

3.1 两种方案对比

方案说明推荐度
安装完整 CUDA Toolkit几 GB 的安装包,需要管理员权限⭐⭐
使用 cudart 运行时包只需几个 DLL 文件,免安装⭐⭐⭐⭐⭐

推荐 cudart 方案——轻量、不需要管理员权限、不会污染系统。

3.2 cudart 方案操作步骤

  1. 在 releases 页面下载 cudart-llama-bin-win-cuda-12.4-x64.zip(约 370MB)
  2. 解压后得到 3 个 DLL 文件:
    • cudart64_12.dll — CUDA 运行时
    • cublas64_12.dll — 基础线性代数库
    • cublasLt64_12.dll — 轻量线性代数库
  3. 把这 3 个 DLL 放到一个目录,比如 D:\cuda124-runtime\
  4. 将该目录添加到系统 PATH 环境变量

3.3 验证 GPU 是否工作

运行一下看看能不能识别到显卡:

powershell
.\llama-cli.exe -m "随便一个不存在的模型.gguf" -ngl 1 -v 2>&1 | findstr "CUDA"

如果输出类似下面的内容,说明 GPU 识别成功:

text
- CUDA0   : NVIDIA GeForce MX450 (2047 MiB, 1572 MiB free)

💡 第一次运行可能会慢一些,因为 CUDA 在编译 shader 缓存,后面就快了。


四、下载模型

llama.cpp 支持 GGUF 格式的模型。推荐去 Hugging Face 下载社区量化好的版本。

4.1 模型选择建议

根据你的显存大小选择合适的模型:

显存推荐模型量化等级效果
2GBQwen2.5-1.5B-InstructQ4_K_M日常聊天够用
4GBQwen2.5-3B-InstructQ4_K_M不错的体验
8GBQwen2.5-7B-InstructQ4_K_M比较聪明
12GB+Qwen2.5-14B-InstructQ4_K_M很强

💡 Qwen(通义千问)是阿里云开源的模型,中文能力非常好,强烈推荐中文用户使用。

4.2 量化等级怎么选?

量化显存占用质量推荐场景
Q2_K最小一般显存极度紧张
Q3_K_M小尚可追求速度
Q4_K_M中等不错⭐ 平衡之选
Q5_K_M较大很好追求质量
Q8_0大接近原版显存充足

新手直接选 Q4_K_M 就对了,质量和速度的最佳平衡点。

4.3 下载地址

我用的是 bartowski 大佬量化的版本,质量有保障:

  • 模型地址:https://huggingface.co/bartowski/Qwen2.5-1.5B-Instruct-GGUF
  • 下载文件:Qwen2.5-1.5B-Instruct-Q4_K_M.gguf(约 0.9GB)

下载后放到 D:\llama.cpp\models\ 目录下。


五、开始使用

5.1 命令行聊天

powershell
cd D:\llama.cpp
.\llama-cli.exe -m models\Qwen2.5-1.5B-Instruct-Q4_K_M.gguf -ngl 99 -c 1024

参数说明:

  • -m:模型文件路径
  • -ngl 99:把所有层都放到 GPU 上(数字大于模型层数就行)
  • -c 1024:上下文长度(模型的"记忆容量")

启动后出现 > 提示符就可以聊天了,输入 /exit 退出。

⚠️ 注意:新版 llama-cli 已经没有 -i 参数了,默认就是交互模式。

5.2 网页版聊天(推荐)

powershell
.\llama-server.exe -m models\Qwen2.5-1.5B-Instruct-Q4_K_M.gguf -ngl 99 -c 1024 --port 8080

然后浏览器打开 http://localhost:8080 就能用网页聊天了,体验好很多。

5.3 单次提问

powershell
.\llama-cli.exe -m models\Qwen2.5-1.5B-Instruct-Q4_K_M.gguf -ngl 99 -p "你好,请介绍一下你自己。" -n 100 -st

参数 -st 表示 single-turn,回答完就退出。


六、速度表现

6.1 我的实际测试

硬件模型量化生成速度
MX450 (2GB)Qwen2.5-1.5BQ4_K_M~12 t/s

12 token/s 大概是什么概念呢?普通人打字速度约 4-6 t/s,所以这个速度比人打字快,基本能跟上阅读节奏。

6.2 为什么我的 GPU 比 CPU 还慢?

小模型 + 低端显卡可能出现 GPU 不如 CPU 快的情况,原因:

  1. 显存带宽瓶颈 — 推理主要吃显存带宽,入门卡显存位宽低
  2. 模型太小 — 小模型 CPU 已经很快了,GPU 优势体现在大模型上
  3. 显存不够 — 模型 + KV cache 挤在小显存里,频繁调度

如果觉得 GPU 速度不满意,可以试试:

  • 换更小的模型(如 0.5B),速度会快很多
  • 直接用 CPU 跑(去掉 -ngl 参数)
  • 降低上下文长度(-c 512)

七、API 接口

llama-server 提供了 OpenAI 兼容格式的 API,这意味着所有支持 OpenAI 的工具都能对接你的本地模型。

7.1 主要接口

接口地址用途
聊天补全http://localhost:8080/v1/chat/completions对话式调用
文本补全http://localhost:8080/v1/completions纯文本生成
模型列表http://localhost:8080/v1/models查看可用模型

7.2 PowerShell 测试

powershell
$body = @{
    model = "Qwen2.5-1.5B-Instruct-Q4_K_M.gguf"
    messages = @(
        @{ role = "user"; content = "用一句话介绍人工智能" }
    )
    max_tokens = 100
} | ConvertTo-Json -Depth 5

Invoke-RestMethod -Uri "http://localhost:8080/v1/chat/completions" `
    -Method Post -Body $body -ContentType "application/json"

7.3 对接其他模型

你可以用第三方前端(如 Open WebUI、Lobe Chat)同时接入多个模型源:

  • 本地模型(llama-server)
  • DeepSeek API
  • 通义千问 API
  • 智谱 AI API
  • ...

这些厂商都提供 OpenAI 兼容格式,填个 API 地址和 Key 就能用。


八、常见概念扫盲

Token(令牌/代币)

模型处理语言的基本单位。不是一个字一个字地处理,而是把文字切成小块,每块叫一个 token。

  • 英文:1 token ≈ 0.75 个单词
  • 中文:1 token ≈ 1-2 个汉字

上下文窗口(Context)

模型的"记忆容量",即最多能记住多少 token 的对话内容。超过了就会"忘记"前面的内容。

KV 缓存

模型的"短期记忆"——把计算好的中间结果存起来,下次回复时不用从头算,节省时间。显存占用的主要来源之一。

量化(Quantization)

把模型的参数从高精度(16位浮点数)压缩到低精度(4位整数),大幅减少显存占用,速度也更快,质量损失相对可控。


九、常见问题

Q:启动时报错找不到 CUDA? A:检查 CUDA 运行时 DLL 是否在 PATH 里,或者直接把 DLL 放到 llama.cpp 目录。

Q:-i 参数报错 invalid argument? A:新版 llama-cli 已经去掉了 -i,默认就是交互模式,直接运行即可。

Q:GPU 速度很慢怎么办? A:小模型 + 低端显卡是这样的。可以试试更小的模型,或者直接用 CPU 跑。

Q:模型从哪下载? A:推荐去 Hugging Face 搜模型名 + GGUF,找下载量高的。

Q:网页界面是英文的,能改成中文吗? A:自带的网页界面只有英文,但聊天内容支持中文。想要中文界面可以用第三方前端(Open WebUI、Lobe Chat 等)。


十、总结

整个流程其实很简单:

  1. 下载 llama.cpp 预编译包 → 解压
  2. 配置 CUDA 运行时(有 GPU 的话)
  3. 下载 GGUF 格式的模型
  4. 运行 llama-server,打开浏览器开聊

整个过程最耗时的就是下载模型,其他都是分分钟的事。

本地大模型的意义不在于和云端比性能,而在于:

  • 🔒 隐私:数据不经过第三方
  • 📴 离线可用:没网也能用
  • 💰 免费:不用按 token 付费
  • 🎮 折腾的乐趣:自己动手部署的成就感

谁能想到,这一切的开始只是视频号评论区里的一句"llama 可以部署"。希望这篇文章能帮到你。有问题欢迎留言交流!


本文基于 llama.cpp b11429 版本编写,如有更新请以官方文档为准。

新故事即将发生
用MSF对自家内网做一次完整渗透实验

评论