在 Mac 上跑本地大模型:完整安装过程记录

2 阅读5分钟

在 Mac 上跑本地大模型:完整安装过程记录

设备:MacBook Pro 13寸 M1 · 内存:16GB · 系统:macOS Sonoma 14.6.1 工具:LM Studio + Open WebUI · Ollama 0.20.0 · Python 3.11


最近把本地大模型在自己电脑上跑通了,顺便把安装过程和遇到的问题记录下来。


为什么用本地模型

用在线 AI(ChatGPT、Claude 等)时,输入的内容会上传到服务器。如果涉及公司内部资料、合同、源代码这类内容,有数据泄露的风险。

本地模型的区别是:所有计算在本机完成,数据不经过网络,断网也能用,长期来看也不需要付费。

代价是:受本机硬件限制,能跑的模型比云端小,速度也比不上在线服务。


工具说明

本文用的是 LM Studio + Open WebUI 的组合:

  • LM Studio:用来下载和运行模型,有图形界面,操作比较直观
  • Open WebUI:提供网页版对话界面,支持上传文档、建立知识库

选这个组合的原因是:LM Studio 内置了国内可用的下载源,不需要翻墙下载模型。


选哪个模型

M1 16GB 适合跑 7B 到 9B 参数量的模型,Q4 量化后文件大小约 5 GB,速度大概每秒 30~50 个字。

推荐 Qwen3.5 9B,阿里出品,中英文都不错,支持超长上下文(262K),也能看图。如果教材是英文的,Gemma 3 4B 也够用,文件更小,速度更快。

模型大小特点
Qwen3.5 9B约 5 GB综合能力最强,首选
Qwen3 8B约 5.2 GB中文能力强,有推理模式
Gemma 3 4B约 2.5 GB英文强,速度快
Qwen3 VL 8B约 6 GB支持看图

安装 LM Studio

  1. 访问 lmstudio.ai,下载 macOS Apple Silicon 版
  2. 安装后打开,在左侧搜索栏搜索 qwen3.5,找到 Qwen3.5 9B 下载

下载完成后,先不用急着启动,继续安装 Open WebUI。

Context Length 的设置

这是后面最常见的坑,先说清楚。

在 LM Studio 的 Settings 里有一个 Context Length 滑块,控制模型每次能"记住"多少内容。它不是越大越好——越大占用内存越多,设置不当会直接崩溃。

M1 16GB 跑 9B 模型时的参考值:

  • 日常对话:8K 就够
  • 分析一章教材:16K
  • 不建议超过 32K

安装 Open WebUI

Open WebUI 只支持 Python 3.11,先确认版本:

python3 --version

如果不是 3.11,用 Homebrew 安装:

brew install python@3.11

没有 Homebrew 的话先装 Homebrew:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

然后安装 Open WebUI,用国内镜像源:

pip3.11 install open-webui -i https://mirrors.aliyun.com/pypi/simple/

安装过程会下载很多依赖包,大概需要 5 到 15 分钟,等它跑完就行。

首次启动

直接运行 open-webui serve 的话,它会从 Hugging Face 下载一个嵌入模型文件(知识库功能需要),在国内访问很慢。建议先设置镜像:

export HF_ENDPOINT=https://hf-mirror.com
open-webui serve

看到下面这行说明启动成功:

INFO:     Uvicorn running on http://0.0.0.0:8080

浏览器打开 http://localhost:8080,注册一个本地账号(邮箱和密码随便填,只存在本机)。

HF_ENDPOINT 这个设置只在当前终端窗口有效。如果不想每次都手动设置,把它写进配置文件:

echo 'export HF_ENDPOINT=https://hf-mirror.com' >> ~/.zshrc

连接两个工具

第一步:启动 LM Studio 服务器

打开 LM Studio,点左侧 Local Server 图标,选择已下载的模型,点 Start Server。

看到 Server is running on port 1234 就好了。

第二步:在 Open WebUI 添加连接

  1. 打开 http://localhost:8080
  2. 右上角头像 → Admin Panel → Settings → Connections
  3. OpenAI API 区域点 +,填写:
    • URL:http://localhost:1234/v1
    • Key:随便填,比如 lmstudio
  4. 保存

回到主页,点模型选择下拉菜单,应该能看到 LM Studio 里加载的模型。

以后每次使用

1. 打开 LM Studio → Local Server → 选模型 → Start Server
2. 终端运行:export HF_ENDPOINT=https://hf-mirror.com && open-webui serve
3. 浏览器打开:http://localhost:8080

两个程序都要保持运行,关掉任何一个都会断。


上传教材建立知识库

Open WebUI 支持上传 PDF 文件,建立知识库。上传后每次提问,它会自动检索教材里最相关的内容,再结合你的问题回答,不受对话长度限制。

操作步骤:

  1. 左侧菜单 → Workspace → Knowledge
  2. 新建知识库,上传 PDF
  3. 新建对话时,点输入框旁的 +,选择知识库
  4. 直接提问

知识库上传一次就一直在,不用每次重新上传。


遇到的报错

TLS handshake timeout

net/http: TLS handshake timeout

下载模型时连接境外服务器超时。解决方法:直接用 LM Studio 下载,不走 Ollama 命令行,就没这个问题。

如果一定要用 Ollama 下载,先让终端走代理(把 7890 换成 Clash 实际端口):

export https_proxy=http://127.0.0.1:7890
ollama pull qwen3:8b

或者用 ModelScope 镜像:

OLLAMA_HOST=https://ollama.modelscope.cn ollama pull qwen3:8b

connection refused

dial tcp 127.0.0.1:11434: connect: connection refused

Ollama 服务没有运行。菜单栏没有小羊驼图标的话,终端运行 ollama serve 启动它。


Compute error

Failed to send message. Compute error.

基本上是 Context Length 设太大了,内存不够。把滑块调小,Unload 模型再重新 Load,重试。


No models available

Open WebUI 里看不到模型。原因是 LM Studio 服务器没启动,或者没有加载模型。回到 LM Studio,确认 Local Server 页面显示的是 Server is running on port 1234


Open WebUI 首次启动下载卡住

Downloading (incomplete total...): 17%|███  | 113M/657M

连 Hugging Face 速度慢。停掉后加上镜像设置再启动:

export HF_ENDPOINT=https://hf-mirror.com
open-webui serve

附:常用命令

# 查看 Ollama 中已下载的模型
ollama list

# 查看当前运行中的模型
ollama ps

# 手动卸载模型(释放内存)
ollama stop qwen3:8b

# 删除模型文件
ollama rm qwen3:8b

# 升级 Open WebUI
pip3.11 install --upgrade open-webui

以上是完整的安装过程。配置好之后日常使用不复杂,主要是每次要记得先启动 LM Studio 服务器,再启动 Open WebUI。