本地 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
brew install ollama或从 ollama.com 下载ollama pull llama3.3:70b,或更轻量的qwen2.5-coder:7bollama run qwen2.5-coder:7b→ 开始对话- 想要 UI?Open WebUI(Docker — 不到一分钟)
- 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 ollama2.2 Windows
winget install Ollama.Ollama或从 ollama.com/download 下载。
安装后,ollama 图标出现在系统托盘,自动后台运行。
2.3 Linux
curl -fsSL https://ollama.com/install.sh | sh2.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:7b | 4.7GB | 16GB | 快速编码辅助 |
qwen2.5-coder:32b | 19GB | 48GB | 强力编码 |
llama3.3:70b | 40GB | 64GB | 通用 / 强力 |
deepseek-coder-v2:16b | 9GB | 24GB | 代码专用 |
gemma2:9b | 5.5GB | 16GB | 均衡 |
phi3.5:3.8b | 2.2GB | 8GB | 最轻量(慢速 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:mainDocker 配置:/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 扩展:
- Continue(
Continue.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.json(jq . config.json) - 重启 VS Code
- 确认 Ollama 正在运行(
curl localhost:11434/api/version)
想阻止非本地访问 Open WebUI
- 默认仅 localhost — 外部已被阻止
- 如需公开暴露,设置
WEBUI_AUTH=True(强制注册门禁)
模型下载中断(网络抖动)
- 重新运行
ollama pull— 它会续传 - 检查
~/.ollama/models/;如果文件损坏,删除后重试
10. 推荐入门配置
如果你刚开始:
- Mac M2 Pro 16GB:
qwen2.5-coder:7b+ Continue.dev - Mac M2 Pro 32GB:
qwen2.5-coder:32b+ Continue.dev + Open WebUI - Windows + RTX 4090:
llama3.3:70b+ Open WebUI - 仅 CPU 16GB:
phi3.5:3.8b(慢但可用)
使用 3 个月后,将满意度与原本需要付费的云端 LLM 进行对比,再做长期选择。
11. 下一步
- Claude Code 配置 — /ai-agents/claude-code — 云端对应方案
- Cursor 配置 — /ai-agents/cursor-setup — Cursor 也可以指向 Ollama
- 多工具工作流 — /ai-agents/multi-tool-workflow
- MCP 服务器 — /ai-agents/mcp-servers — Ollama + MCP 可行
参考资料
更新日志
- 2026-05-16:初稿。Ollama 安装 + 模型对比 + Open WebUI + Continue.dev 集成 + 性能调优 + 成本对比 + 六个故障排查案例。