跑通第一个本地模型:Ollama / LM Studio
硬件前提
- 最低:16GB 内存的笔记本(无独立显卡也能跑 7B 的 4bit 量化版)
- 舒适:32GB 内存,或 12GB 以上显存的显卡
- 磁盘:每个模型 4~20GB,先留 50GB 余量
判断依据只有一条:模型量化后的大小必须明显小于你的可用内存(或显存),否则不是慢,是直接失败。估算方法见下一篇。
路线选择
| Ollama | LM Studio | |
|---|---|---|
| 形态 | 命令行 + 本地 API | 图形界面 |
| 适合 | 想接着写程序、要 API | 只想先试试效果 |
| 模型来源 | 官方仓库,一条命令拉取 | 内置搜索 Hugging Face |
两者底层都是 llama.cpp 一类推理引擎,效果差别不大。建议:先用 LM Studio 建立手感,再用 Ollama 接程序。
步骤(Ollama)
-
安装后确认服务在跑:
ollama --version ollama list -
拉一个 7~8B 的指令模型(示例,具体名字以仓库为准):
ollama run qwen2.5:7b-instruct首次会下载,几 GB 到十几 GB。
-
直接对话测试。先测三件事,别只聊天气:
- 让它写一段能跑的代码(看格式与正确性)
- 问一个你熟悉的领域问题(看它会不会一本正经胡说)
- 让它写 500 字中文(看语言质量与是否夹英文)
-
确认本地 API 可用(默认 11434 端口):
curl http://localhost:11434/api/tags能返回 JSON,就说明后面所有程序都能按 OpenAI 风格接上去。
参数选择(先只调这两个)
| 参数 | 建议起点 | 说明 |
|---|---|---|
| 上下文长度 | 4K~8K | 越大越吃内存,本地默认给不了太大 |
| 温度 | 0.3~0.7 | 事实类低,创意类高 |
其余参数(top-p、重复惩罚)默认值通常比手调更稳。
常见失败与排查
| 现象 | 原因 | 处理 |
|---|---|---|
| 下载完启动就退出 / 被杀 | 内存不够 | 换更小档位或更狠的量化(如 7b → 3b,或 Q4 → Q3) |
| 出字极慢(个位数 token/秒) | 权重在内存里跑、或内存不够在交换 | 关其他吃内存程序;减小上下文;有显卡则确认已启用 GPU 卸载 |
| 回答被截断 | 最大长度设太小 | 调大输出上限 |
| 中文夹英文、格式乱 | 用了基座模型而非指令模型 | 换带 instruct 的版本 |
| 端口连不上 | 服务没起 / 端口被占 | 重启服务,确认端口配置 |
完成标志(这一篇的验收)
ollama list里有一个模型,命令行能对话;curl能拿到本地 API 响应;- 你能说出这个模型在你机器上的生成速度和能用的上下文长度——这两个数字决定后面所有设计。
原理部分(KV cache、量化为什么省内存)不在本篇,见「深入」层。