Jacky's blog
首页
  • 学习笔记

    • web
    • android
    • iOS
    • vue
  • 分类
  • 标签
  • 归档
收藏
  • tool
  • algo
  • python
  • java
  • server
  • growth
  • frida
  • blog
  • SP
  • more
GitHub (opens new window)

Jack Yang

编程; 随笔
首页
  • 学习笔记

    • web
    • android
    • iOS
    • vue
  • 分类
  • 标签
  • 归档
收藏
  • tool
  • algo
  • python
  • java
  • server
  • growth
  • frida
  • blog
  • SP
  • more
GitHub (opens new window)
  • shell

  • tool

  • client

  • 网络

  • compute_base

  • blog

  • growth

  • java

  • C&C++

  • ai

    • base

    • tools

    • local-llm

      • Ollama 本地大模型
        • 一、安装方式对比与推荐
          • 方式对比
          • 推荐:官方版安装
        • 二、安装后验证(必做)
          • 2.1 验证服务状态
          • 2.2 验证 GPU 加速(关键)
          • 2.3 验证模型列表
        • 三、常用命令
          • 3.1 模型管理
          • 3.2 服务管理(官方版)
          • 3.3 日志查看
        • 四、模型选择指南
          • MacBook M2 16G 推荐模型
          • 不同内存配置建议
        • 五、性能优化
          • 5.1 确保 Metal GPU 加速
          • 5.2 内存优化
          • 5.3 推理参数调优
          • 5.4 环境变量优化
        • 六、API 调用
          • 6.1 直接调用
          • 6.2 OpenAI 兼容格式
          • 6.3 流式输出
        • 七、常见问题与解决方案
          • 7.1 Homebrew 版 CPU 占用极高 / GPU 不工作(Mac M 系列)
          • 7.2 连不上服务
          • 7.3 内存不足 / OOM
          • 7.4 推理太慢
          • 7.5 DeepSeek-R1 输出包含思考过程
          • 7.6 模型文件位置
        • 八、实际案例:从 CPU 推理到 GPU 加速
          • 问题背景
          • 排查过程
          • 解决方案
          • 效果对比
        • 九、相关链接
      • LangChain + Ollama 本地 Agent
    • nlp基础

  • secure

  • cms

  • english

  • 生活

  • 金融学

  • more

  • other
  • ai
  • local-llm
Jacky
2026-08-12
目录

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.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

方法二:查看启动日志

# 前台运行查看日志
OLLAMA_DEBUG=1 /Applications/Ollama.app/Contents/Resources/ollama serve
1
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.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

# 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

# 四、模型选择指南

# 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

# 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

# 六、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

# 6.2 OpenAI 兼容格式

curl http://localhost:11434/v1/chat/completions -d '{
  "model": "deepseek-r1:14b",
  "messages": [{"role": "user", "content": "你好"}]
}'
1
2
3
4

# 6.3 流式输出

curl http://localhost:11434/api/generate -d '{
  "model": "deepseek-r1:14b",
  "prompt": "写一首诗",
  "stream": true
}'
1
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

注意:

  • 卸载 Homebrew 版不会删除已下载的模型(模型在 ~/.ollama/models/)
  • 安装官方版后自动识别已有模型,无需重新下载

# 7.2 连不上服务

# 检查服务是否启动
curl http://localhost:11434/api/tags

# macOS 手动启动
open -a Ollama
# 或前台运行
ollama serve
1
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

# 7.6 模型文件位置

模型存储在用户目录下,与 Ollama 程序分离:

# 模型目录
~/.ollama/models/

# 查看模型占用空间
du -sh ~/.ollama/models/
1
2
3
4
5

# 八、实际案例:从 CPU 推理到 GPU 加速

# 问题背景

MacBook M2 16G 通过 Homebrew 安装 Ollama,运行 deepseek-r1:14b 时:

  • CPU 占用 300%+,GPU 几乎为 0
  • 推理速度仅 1-2 token/s
  • Agent 多轮调用 5 分钟无响应

# 排查过程

  1. 检查 Ollama 启动日志,发现:
    skipping pseudo-device with zero memory name=BLAS description=Accelerate
    inference compute id=cpu library=cpu
    
    1
    2
  2. 确认使用的是 CPU 推理,Metal 加速未生效
  3. 检查 Homebrew 版库文件,无 Metal 相关动态库

# 解决方案

  1. 卸载 Homebrew 版:brew uninstall ollama
  2. 安装官方版:curl -fsSL https://ollama.com/install.sh | sh
  3. 启动官方版: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
#ollama#本地部署#deepseek#最佳实践
上次更新: 2026/08/12, 14:05:30
openclaw
LangChain + Ollama 本地 Agent

← openclaw LangChain + Ollama 本地 Agent→

最近更新
01
brew
09-08
02
位运算参考文档
09-06
03
Swift 开发最佳实践
08-26
更多文章>
Theme by Vdoing | Copyright © 2019-2026 Jacky | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式