零基础上手:Llama 3 与 Qwen 等主流大模型本地一键部署实战指南
前言:我为什么折腾本地大模型
事情是这样的。上个月我半夜写代码,想让 AI 帮我 review 一段 Python,结果 API 调用频率限制了,等了 30 秒没响应。当时我就想:这玩意儿能不能跑自己机器上?
然后我开始折腾。踩了一堆坑,翻了不少车,最后发现——真香。本地跑模型不仅免费、不限次数、断网也能用,关键是数据全在自己手里,不用担心隐私问题。
我是全栈开发者,平时也搞搞 AI 方向的东西。今天把我折腾本地大模型部署的经验分享出来,从 Llama 3 到 Qwen 到 GLM,手把手教你一键跑起来。
一、为什么要本地部署?聊聊我的真实体验
说实话,大部分人一开始都会问:直接用 ChatGPT / 通义千问的网页版不就行了?我也这么想过。但用了几个月后,我发现了几个绕不过去的问题:
- 隐私:你把公司代码贴到云端 AI 上,老板知道了估计要找你谈谈。本地跑就完全没这个问题。
- 成本:API 调用真的贵。我之前用 GPT-4 API 做了个小工具,一个月账单 200 多刀,直接给我整破防了。本地跑?电费而已。
- 离线:出差、飞机上、网络差的地方,本地模型照样能用。
- 定制:你可以用自己公司的数据微调,搞一个"懂你"的专属 AI。
搞本地部署不是为了装逼,是真的实用。
二、选什么工具?别被花里胡哨的搞晕了
刚开始的时候,我在网上搜了一圈,什么 llama.cpp、vLLM、Ollama、Text Generation WebUI……看得头大。后来我自己挨个试了一遍,总结如下:
Ollama —— 新手首选,真·一键部署
这是我最推荐的。Ollama 就像大模型界的 Docker,一行命令就能下载并跑起来一个模型。它还自带 OpenAI 兼容的 API,意味着你之前写的调 OpenAI 的代码,改一行 URL 就能切到本地模型。
我现在日常开发用的就是 Ollama + Qwen 2.5 7B,完全够用。
llama.cpp —— 低配设备的救星
这玩意儿是纯 C/C++ 写的,支持 CPU 运行。没显卡?没关系。我试过在一台 4GB 内存的轻薄本上跑 Q4 量化的 Llama 3 8B,虽然慢点,但确实能跑。
它用的是 GGUF 格式,就是把模型量化压缩。打个比方:原始模型像是无损 FLAC 音乐,GGUF 就是 320kbps 的 MP3,体积小了好几倍,听起来差别不大。
vLLM —— 生产环境用的
如果你要给团队或者客户提供服务,需要高并发,那 vLLM 是正经选择。它用了 PagedAttention 技术,吞吐量非常高。但说实话,个人用不太上,配置也比 Ollama 复杂不少。
Open WebUI —— 想要好看的界面?
如果你不想敲命令行,Open WebUI 是个非常漂亮的 Web 界面,能对接 Ollama,还支持多用户、文档上传啥的。Docker 一拉就能用。
我的建议:先装 Ollama,跑通了再说别的。
三、实战:用 Ollama 一键部署 Llama 3 / Qwen / GLM
好,废话不多说,直接上手。
第一步:装 Ollama
Mac 和 Linux 一行命令搞定:
| 1 | |
Windows 用户去 ollama.com 下载安装包,双击安装就行。
装完之后,终端里输入 ollama --version,能看到版本号就说明成功了。
第二步:跑模型
这是最爽的一步。你只需要一条命令:
| 1 | |
| 2 | |
| 3 | |
| 4 | |
| 5 | |
| 6 | |
| 7 | |
| 8 | |
第一次跑会自动下载模型文件,Qwen 2.5 7B 大概 4-5GB,看你的网速。下载完之后直接就能对话了,跟聊天一样。
我第一次跑 Llama 3 的时候,看到它在我自己电脑上一个字一个字蹦出回答,说实话有点小激动。
第三步:当 API 用
这才是重点。Ollama 跑起来之后,会在 localhost:11434 提供一个 OpenAI 兼容的 API。意味着你可以这样用:
curl 测试:
| 1 | |
| 2 | |
| 3 | |
| 4 | |
| 5 | |
| 6 | |
| 7 | |
Python 调用(用 openai 库):
| 1 | |
| 2 | |
| 3 | |
| 4 | |
| 5 | |
| 6 | |
| 7 | |
| 8 | |
| 9 | |
| 10 | |
| 11 | |
| 12 | |
注意:api_key 随便写个字符串就行,本地不需要认证。我一开始还傻乎乎地去申请 key,结果发现根本不用。
四、进阶:在没有显卡的机器上跑大模型(llama.cpp + 量化)
我自己有一台老 MacBook Pro,没独显。用 Ollama 跑 7B 模型其实已经可以了,但我还试过用 llama.cpp 跑量化版本,在更低配的设备上也能用。
什么是量化?
简单说:原始模型参数是 16 位浮点(FP16),一个 7B 模型大概要 14GB 显存。量化就是把这些参数压缩成 4 位或 8 位整数,体积缩小到原来的 1/4 左右,精度损失很小。
现在最推荐的量化格式是 GGUF,社区里很多人用 Q4_K_M 这个级别,日常使用基本感觉不到智商下降。
自己编译 llama.cpp
| 1 | |
| 2 | |
| 3 | |
| 4 | |
| 5 | |
下载量化模型并跑起来
去 Hugging Face 搜 qwen2.5-7b-gguf,下载 Q4_K_M 版本,然后:
| 1 | |
| 2 | |
| 3 | |
| 4 | |
| 5 | |
搞完之后你会发现,一台没有显卡的笔记本也能跑 7B 的大模型。虽然生成速度慢一点(大概每秒 5-10 个 token),但做实验、写代码辅助完全够用。
五、搞个好看的界面:Open WebUI
如果你不想一直待在命令行里,可以用 Open WebUI 搞一个类似 ChatGPT 的网页界面。
| 1 | |
| 2 | |
| 3 | |
| 4 | |
| 5 | |
| 6 | |
然后浏览器打开 http://localhost:3000,注册一个账号就能用了。它会自动检测你本地的 Ollama 服务,模型列表直接出现在下拉菜单里,切换模型很方便。
这个方案特别适合团队用——你在一台机器上跑 Ollama,其他人通过 Open WebUI 的网页就能访问。
六、踩过的坑(血泪教训)
折腾过程中翻了不少车,这里给大家排排雷:
1. 内存不够直接崩
我第一次在 8GB 内存的机器上跑 Llama 3 8B,系统直接卡死。后来发现,7B 模型(Q4 量化)至少需要 6GB 可用内存,加上系统开销,8GB 机器跑起来很勉强。建议至少 16GB 内存。
2. 网络问题导致模型下载失败
Ollama 下载模型走的是海外 CDN,国内有时候很慢或者直接断连。我的解决方案是挂代理,或者用 modelscope 下载 GGUF 文件后手动导入。
3. Ollama 拉取模型时磁盘空间不足
模型文件动不动就好几个 GB,我第一次没注意磁盘空间,下载到一半报错了。记得提前清理一下磁盘。
4. Docker 部署 Open WebUI 时连不上 Ollama
这个问题我折腾了半小时。原因是 Docker 容器内部访问宿主机的 localhost 是不行的,需要用 host.docker.internal。上面的 Docker 命令里已经加了 --add-host 参数来解决这个问题。
5. 模型选错了版本
一开始我下了 Llama 3 的 70B 版本(天真地以为能跑),结果 40GB 的文件下了 2 小时,然后跑不起来。7B 和 70B 的硬件需求完全不是一个量级,新手先从 7B/8B 开始。
6. Windows 上 curl 命令的转义问题
Windows 的 cmd 对 JSON 格式很不友好,转义字符一大堆。建议用 PowerShell 或者直接用 Python 脚本调用 API。
七、下一步计划
我目前的日常搭配是:Ollama + Qwen 2.5 7B(写代码辅助)+ Llama 3 8B(英文任务)。后面打算折腾一下 RAG(检索增强生成),把本地知识库接进去,搞一个真正能用的私有 AI 助手。有进展了再写一篇。
另外也在研究 LoRA 微调,想用自己的业务数据调一个更懂我需求的模型。这个坑比较深,等我踩完了来分享。
有问题评论区聊。