Ollama 本地大模型
# Ollama 本地大模型最佳实践
一键运行本地大模型的工具,支持 macOS / Linux / Windows。本文基于实际部署经验,总结安装、配置、优化的完整流程。
# 一、安装方式对比与推荐
# 方式对比
| 安装方式 | Metal GPU 加速 | 推理速度(14B) | 后台运行 | 推荐度 |
|---|---|---|---|---|
| 官方版(.dmg / 脚本) | ✅ 完整支持 | 15-20 token/s | ✅ 菜单栏应用 | ⭐⭐⭐⭐⭐ |
| Homebrew 版 | ❌ 不支持 | 1-2 token/s | ❌ 需手动 serve | ⭐ |
重要提醒:Mac M 系列芯片强烈推荐使用官方版。Homebrew 版没有编译 Metal 加速库,只能用 CPU 推理,速度慢 10 倍以上。
# 推荐:官方版安装
方式 A:官方安装脚本(推荐)
curl -fsSL https://ollama.com/install.sh | sh
1
方式 B:手动下载安装包
前往 https://ollama.com/download (opens new window) 下载 macOS 版,拖入应用程序。
启动:
open -a Ollama
1
安装后默认服务地址:http://localhost:11434
# 二、安装后验证(必做)
# 2.1 验证服务状态
# 检查服务是否正常
curl http://localhost:11434/api/tags
# 查看版本
ollama --version
1
2
3
4
5
2
3
4
5
# 2.2 验证 GPU 加速(关键)
方法一:速度测试
# 拉取一个测试模型(如果还没有)
ollama pull deepseek-r1:14b
# 运行速度测试,14B 模型应达到 15-20 token/s
curl http://localhost:11434/api/generate -d '{
"model": "deepseek-r1:14b",
"prompt": "你好",
"stream": false
}'
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
方法二:查看启动日志
# 前台运行查看日志
OLLAMA_DEBUG=1 /Applications/Ollama.app/Contents/Resources/ollama serve
1
2
2
正常情况下应看到:
inference compute id=0 library=metal compute=metal name=apple
1
如果看到以下内容,说明 GPU 加速未生效:
skipping pseudo-device with zero memory name=BLAS description=Accelerate
inference compute id=cpu library=cpu
1
2
2
# 2.3 验证模型列表
ollama list
1
# 三、常用命令
# 3.1 模型管理
# 拉取模型
ollama pull deepseek-r1:14b
ollama pull qwen2.5:7b
ollama pull llama3.1:8b
# 查看已安装模型
ollama list
# 运行模型(交互模式)
ollama run deepseek-r1:14b
# 删除模型
ollama rm deepseek-r1:14b
# 查看运行中的模型
ollama ps
# 停止运行中的模型
ollama stop deepseek-r1:14b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 3.2 服务管理(官方版)
| 操作 | 命令 |
|---|---|
| 启动 | open -a Ollama |
| 停止 | 菜单栏图标 → Quit,或 pkill Ollama |
| 重启 | pkill Ollama && open -a Ollama |
| 查看状态 | ollama ps |
| 前台运行(调试) | OLLAMA_DEBUG=1 /Applications/Ollama.app/Contents/Resources/ollama serve |
# 3.3 日志查看
官方版日志在 macOS 统一日志系统:
# 方式一:实时查看日志
log stream --predicate 'process == "Ollama"' --level debug
# 方式二:打开控制台应用
open -a Console
# 然后筛选 "Ollama"
1
2
3
4
5
6
2
3
4
5
6
# 四、模型选择指南
# MacBook M2 16G 推荐模型
| 模型 | 大小 | 速度 | 适用场景 |
|---|---|---|---|
deepseek-r1:14b | ~9GB | 15-20 token/s | 推理强,带思考链,Agent 首选 |
deepseek-r1:7b | ~4.7GB | 30-40 token/s | 轻量推理,速度优先 |
qwen2.5:7b | ~4.7GB | 30-40 token/s | 中文好,通用对话 |
llama3.1:8b | ~4.7GB | 25-35 token/s | 英文好,生态成熟 |
gemma2:9b | ~5.4GB | 20-30 token/s | Google 出品,均衡 |
glm4:9b | ~5.5GB | 20-30 token/s | 中文强,无思考过程 |
选型建议:
- 16G 内存建议跑 7B~14B 模型
- 追求质量选 14B,追求速度选 7B
- Agent 开发推荐
deepseek-r1系列(工具调用能力强)- 日常对话推荐
qwen2.5:7b(中文好,响应直接)
# 不同内存配置建议
| 内存 | 推荐模型大小 | 说明 |
|---|---|---|
| 8GB | 3B~7B | 只能跑小模型 |
| 16GB | 7B~14B | 甜点区间,14B 需关闭其他应用 |
| 32GB | 14B~32B | 可跑较大模型 |
| 64GB+ | 32B~70B | 可跑大模型 |
# 五、性能优化
# 5.1 确保 Metal GPU 加速
- Mac M 系列必须使用官方版 Ollama
- 验证方法见「2.2 验证 GPU 加速」
- GPU 加速可提升速度 8-10 倍
# 5.2 内存优化
- 关闭其他占用内存的应用
- 16G 跑 14B 时,建议关闭浏览器、IDE 等
- 减小上下文窗口
num_ctx(默认 4096,可设为 2048)
# 5.3 推理参数调优
通过 API 调用时可设置参数:
curl http://localhost:11434/api/generate -d '{
"model": "deepseek-r1:14b",
"prompt": "你好",
"stream": false,
"options": {
"num_ctx": 4096, # 上下文窗口,越大吃内存越多
"num_predict": 1024, # 最大输出长度
"temperature": 0.7, # 随机性,0=确定
"top_p": 0.9
}
}'
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 5.4 环境变量优化
# 增加并行处理数
export OLLAMA_NUM_PARALLEL=2
# 限制最大加载模型数
export OLLAMA_MAX_LOADED_MODELS=2
# 模型保活时间(默认 5 分钟)
export OLLAMA_KEEP_ALIVE=10m
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 六、API 调用
Ollama 启动后自带兼容 OpenAI 格式的 API。
# 6.1 直接调用
curl http://localhost:11434/api/generate -d '{
"model": "deepseek-r1:14b",
"prompt": "你好",
"stream": false
}'
1
2
3
4
5
2
3
4
5
# 6.2 OpenAI 兼容格式
curl http://localhost:11434/v1/chat/completions -d '{
"model": "deepseek-r1:14b",
"messages": [{"role": "user", "content": "你好"}]
}'
1
2
3
4
2
3
4
# 6.3 流式输出
curl http://localhost:11434/api/generate -d '{
"model": "deepseek-r1:14b",
"prompt": "写一首诗",
"stream": true
}'
1
2
3
4
5
2
3
4
5
# 七、常见问题与解决方案
# 7.1 Homebrew 版 CPU 占用极高 / GPU 不工作(Mac M 系列)
现象:
- 活动监视器中
llama-server进程 CPU 占用极高(几百%) - GPU 使用率几乎为 0
- 推理速度极慢(14B 模型仅 1-2 token/s)
- Agent 多轮调用时长时间无响应
原因: Homebrew 安装的 Ollama 版本没有编译 Metal GPU 加速库,只能使用 CPU 推理。
解决方案:卸载 Homebrew 版,安装官方版。
# 1. 卸载 Homebrew 版
brew uninstall ollama
# 2. 安装官方版
curl -fsSL https://ollama.com/install.sh | sh
# 3. 启动官方版
open -a Ollama
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
注意:
- 卸载 Homebrew 版不会删除已下载的模型(模型在
~/.ollama/models/) - 安装官方版后自动识别已有模型,无需重新下载
# 7.2 连不上服务
# 检查服务是否启动
curl http://localhost:11434/api/tags
# macOS 手动启动
open -a Ollama
# 或前台运行
ollama serve
1
2
3
4
5
6
7
2
3
4
5
6
7
# 7.3 内存不足 / OOM
- 换更小的模型(7B 代替 14B)
- 减小
num_ctx上下文窗口 - 关闭其他占用内存的应用
- 限制同时加载的模型数量
# 7.4 推理太慢
- 确认使用官方版(Metal 加速)
- 使用量化版本(Q4_K_M 是默认,平衡质量和速度)
- 减小
num_predict最大输出长度 - 减小
num_ctx上下文窗口 - 换更小的模型
# 7.5 DeepSeek-R1 输出包含思考过程
R1 系列模型会输出 <think>...</think> 思考链,应用层需过滤:
if "</think>" in content:
content = content.split("</think>")[-1].strip()
1
2
2
# 7.6 模型文件位置
模型存储在用户目录下,与 Ollama 程序分离:
# 模型目录
~/.ollama/models/
# 查看模型占用空间
du -sh ~/.ollama/models/
1
2
3
4
5
2
3
4
5
# 八、实际案例:从 CPU 推理到 GPU 加速
# 问题背景
MacBook M2 16G 通过 Homebrew 安装 Ollama,运行 deepseek-r1:14b 时:
- CPU 占用 300%+,GPU 几乎为 0
- 推理速度仅 1-2 token/s
- Agent 多轮调用 5 分钟无响应
# 排查过程
- 检查 Ollama 启动日志,发现:
skipping pseudo-device with zero memory name=BLAS description=Accelerate inference compute id=cpu library=cpu1
2 - 确认使用的是 CPU 推理,Metal 加速未生效
- 检查 Homebrew 版库文件,无 Metal 相关动态库
# 解决方案
- 卸载 Homebrew 版:
brew uninstall ollama - 安装官方版:
curl -fsSL https://ollama.com/install.sh | sh - 启动官方版:
open -a Ollama
# 效果对比
| 指标 | Homebrew 版(CPU) | 官方版(Metal GPU) | 提升 |
|---|---|---|---|
| 推理速度 | 1-2 token/s | 17 token/s | 8-10 倍 |
| CPU 占用 | 300%+ | 正常 | 大幅下降 |
| GPU 占用 | 0% | 正常使用 | 从无到有 |
| Agent 响应 | 5 分钟+无响应 | 10-20 秒 | 体验质变 |
# 九、相关链接
- 官网:https://ollama.com/
- 模型库:https://ollama.com/library
- GitHub:https://github.com/ollama/ollama
- 下载页:https://ollama.com/download
上次更新: 2026/08/12, 14:05:30