devAlice
← AI Agents

本地 LLM 与 Ollama — Open WebUI · Continue.dev 集成

在 Mac 和 Windows 上本地运行 Llama / Qwen / DeepSeek。成本、隐私、离线 — 云端 LLM 的替代方案。

云端 LLM(Claude、GPT、Gemini)功能强大,但也有明显短板:按量付费隐私顾虑(公司代码离开内网)、依赖网络。如果本机算力足够运行相应规模的模型,本地部署就是真正可行的替代方案。

我认为本地 LLM 最适合的场景不是取代云端,而是补充它。不是云端 vs 本地的选择,而是哪类请求应该走哪条路——因为隐私敏感代码和高频低价值请求,本地处理往往是更合理的决策。

本指南在 macOS 和 Windows 上通过 Ollama 运行 Llama 3.3 / Qwen 2.5 / DeepSeek-Coder 等模型,通过 Open WebUI 添加类 ChatGPT 界面,并通过 Continue.dev 集成到 VS Code。

目标读者:每天使用 LLM、正因成本或隐私原因考虑本地方案的开发者。硬件要求:M1 Pro 或更新,或配备 16GB+ 显存的 GPU

TL;DR

  1. brew install ollama 或从 ollama.com 下载
  2. ollama pull llama3.3:70b,或更轻量的 qwen2.5-coder:7b
  3. ollama run qwen2.5-coder:7b → 开始对话
  4. 想要 UI?Open WebUI(Docker — 不到一分钟)
  5. VS Code 集成:安装 Continue.dev,在 ~/.continue/config.json 中注册 Ollama

前提条件

  • Mac:M1 Pro 或更新 + 16GB+ 统一内存(推荐 32GB)
  • Windows / Linux:配备 8GB+ 显存的 NVIDIA GPU(推荐 16GB+),或强劲 CPU + 32GB+ RAM
  • (可选)Docker — 用于 Open WebUI

1. 本地 LLM 的适用场景

适合

  • 敏感代码 — 公司政策禁止使用云端 LLM(医疗、金融、国防)
  • 高频重复 — 每天 1000+ 次请求,云端定价会累积
  • 离线 — 飞机上、网络不稳定时
  • 实验 — 模型对比、微调
  • 低延迟自动化 — 小于 200ms 的响应循环

不适合

  • 追求最高质量 — Claude Opus / GPT-5 级别目前尚无法在本地实现
  • 低配机器 — 8GB Mac M1、4GB 显存的 GPU — 即使 7B 模型也会很慢
  • 多模态多样性 — 本地可用的图像 / 音频模型选项较少
  • 超长上下文 — Claude 的 1M token context window 在本地难以匹敌

现实评估:本地 70B 模型在部分任务上约等于 GPT-4 的水准。代码辅助、摘要、翻译 — 胜任。复杂推理 — 云端仍占优。


2. 安装 Ollama

2.1 macOS

brew install ollama

或从 ollama.com/download 下载 .dmg

作为 GUI 应用或后台服务运行:

# 后台服务(推荐)
brew services start ollama

2.2 Windows

winget install Ollama.Ollama

或从 ollama.com/download 下载。

安装后,ollama 图标出现在系统托盘,自动后台运行。

2.3 Linux

curl -fsSL https://ollama.com/install.sh | sh

2.4 验证

ollama --version            # ollama version 0.x.x
curl http://localhost:11434/api/version
# {"version":"0.x.x"}

3. 第一个模型 — 轻量编码助手

从小模型开始(下载快,响应快):

3.1 Qwen 2.5 Coder 7B

ollama pull qwen2.5-coder:7b      # 4.7GB
ollama run qwen2.5-coder:7b

对话:

>>> Write a Python function to merge two sorted lists.

输入 /bye 退出。

3.2 更大的模型(配置足够时)

模型大小推荐内存用途
qwen2.5-coder:7b4.7GB16GB快速编码辅助
qwen2.5-coder:32b19GB48GB强力编码
llama3.3:70b40GB64GB通用 / 强力
deepseek-coder-v2:16b9GB24GB代码专用
gemma2:9b5.5GB16GB均衡
phi3.5:3.8b2.2GB8GB最轻量(慢速 GPU 也能跑)
ollama pull llama3.3:70b
ollama run llama3.3:70b

下载时间 = 模型大小 ÷ 带宽。在 1 Gbps 网络下,70B 模型约需 6 分钟。

3.3 管理模型

ollama list                          # 已安装的模型
ollama rm qwen2.5-coder:7b           # 删除
ollama show llama3.3:70b             # 元数据

4. Open WebUI — 类 ChatGPT 界面

用浏览器 UI 代替命令行操作。Docker 一分钟即可完成配置。

4.1 安装

docker run -d -p 3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -v open-webui:/app/backend/data \
  --name open-webui \
  --restart always \
  ghcr.io/open-webui/open-webui:main

Docker 配置:/mac/docker-setup/windows/docker-wsl2

4.2 首次使用

浏览器 → http://localhost:3000 → 创建第一个账户(仅本地)。

Ollama 自动被检测到。从左上角下拉框选择模型开始对话。

4.3 优势

  • 保存对话历史记录
  • Markdown 渲染 + 代码语法高亮
  • 可并排与多个模型同时对话(横向对比)
  • 支持文件上传 + RAG(可选)

5. VS Code 集成 — Continue.dev

5.1 安装扩展

VS Code 扩展:

  • ContinueContinue.continue

code --install-extension Continue.continue

5.2 注册 Ollama 模型

~/.continue/config.json(不存在则创建):

{
  "models": [
    {
      "title": "Qwen Coder 7B",
      "provider": "ollama",
      "model": "qwen2.5-coder:7b"
    },
    {
      "title": "Llama 3.3 70B",
      "provider": "ollama",
      "model": "llama3.3:70b"
    }
  ],
  "tabAutocompleteModel": {
    "title": "Qwen Coder 7B",
    "provider": "ollama",
    "model": "qwen2.5-coder:7b"
  }
}

5.3 使用

在 VS Code 中:

  • Cmd + I(Mac)/ Ctrl + I(Win)— 内联聊天
  • Cmd + L / Ctrl + L — 聊天侧边栏
  • Tab — 自动补全(使用 tabAutocompleteModel

Continue.dev 是 Cursor / Copilot 的开源替代方案。除本地模型外,也可以配置 Claude / GPT 的 API key。


6. 性能调优

6.1 优先使用 GPU(NVIDIA / Apple Silicon)

Ollama 自动使用 GPU。确认:

ollama ps
# NAME                  ID    SIZE  PROCESSOR
# qwen2.5-coder:7b     ...   5GB   100% GPU

没有显示 GPU?那么:

  • macOS:Apple Silicon 自动(Intel Mac 只用 CPU)
  • NVIDIA:检查 CUDA 驱动(nvidia-smi

6.2 调整模型大小

每个模型都有量化变体(性能 ↔ 质量):

ollama pull qwen2.5-coder:7b-instruct-q4_K_M      # 默认(4-bit,推荐)
ollama pull qwen2.5-coder:7b-instruct-q8_0         # 8-bit(更准确,更大)
ollama pull qwen2.5-coder:7b-instruct-fp16         # 全精度(最准确,最大)

4-bit 量化是通行标准 — 内存占用减半,质量损失几乎感知不到。

6.3 调整上下文长度

默认上下文为 4K。要扩展:

ollama run qwen2.5-coder:7b
>>> /set parameter num_ctx 16384

或通过 Modelfile:

FROM qwen2.5-coder:7b
PARAMETER num_ctx 16384

更长 = 更多内存 + 更慢响应。


7. 成本 / 用电对比

7.1 云端 vs 本地(粗略月费)

用量Claude Pro本地(Ollama,含电费)
轻度(约 100 次/月)$20/月M2 Pro 电费约 $3/月
中度(约 1000 次/月)$100/月(API)约 $5/月
重度(约 10000 次/月)$500+/月(API)约 $15/月

但需考虑前期硬件成本(M2 Pro 32GB 约 $2,500)。即使对重度用户,回本周期也在 1–2 年左右。

7.2 用电(粗略)

  • M2 Pro 满载:约 30W → 24h = 0.72 kWh/天 → 22 kWh/月 × $0.15 = $3.3
  • NVIDIA 4090 满载:约 450W → 24h 全载不现实,实际重度使用约 $20–40/月

本地只在运行时耗电,空闲时接近 0。


8. 验证

# 1. Ollama 正常运行
ollama --version
curl http://localhost:11434/api/version
 
# 2. 模型已安装
ollama list
 
# 3. 响应测试
echo "Write hello world in Rust" | ollama run qwen2.5-coder:7b
 
# 4. Open WebUI(如在运行)
curl http://localhost:3000
 
# 5. Continue.dev
code .   # 在 VS Code 中:Cmd+L → 选择模型 → 开始对话

9. 故障排查

ollama: command not found

  • macOS:brew prefix 在 PATH 中(/opt/homebrew/bin
  • Windows:重启 PowerShell
  • Linux:~/.ollama/bin 或系统 PATH

响应非常慢

  • ollama ps 确认 GPU 使用情况。如果 CPU 占用 100%,说明 GPU 未被识别
  • macOS Intel:无 GPU 加速 — 推荐 Apple Silicon
  • NVIDIA:CUDA 驱动 + 重启 Ollama
  • 内存不足:模型大小 ÷ 8 ≤ 可用内存,否则会非常慢

"Out of memory" 错误

  • 模型大于 RAM / 显存
  • 尝试更小的模型(:3b 代替 :7b)或量化版(q4_K_M
  • 关闭其他应用后重试

Continue.dev 看不到 Ollama 模型

  • 验证 ~/.continue/config.jsonjq . config.json
  • 重启 VS Code
  • 确认 Ollama 正在运行(curl localhost:11434/api/version

想阻止非本地访问 Open WebUI

  • 默认仅 localhost — 外部已被阻止
  • 如需公开暴露,设置 WEBUI_AUTH=True(强制注册门禁)

模型下载中断(网络抖动)

  • 重新运行 ollama pull — 它会续传
  • 检查 ~/.ollama/models/;如果文件损坏,删除后重试

10. 推荐入门配置

如果你刚开始:

  1. Mac M2 Pro 16GBqwen2.5-coder:7b + Continue.dev
  2. Mac M2 Pro 32GBqwen2.5-coder:32b + Continue.dev + Open WebUI
  3. Windows + RTX 4090llama3.3:70b + Open WebUI
  4. 仅 CPU 16GBphi3.5:3.8b(慢但可用)

使用 3 个月后,将满意度与原本需要付费的云端 LLM 进行对比,再做长期选择。


11. 下一步


参考资料

更新日志

  • 2026-05-16:初稿。Ollama 安装 + 模型对比 + Open WebUI + Continue.dev 集成 + 性能调优 + 成本对比 + 六个故障排查案例。