Ollama 本地部署大模型:零成本跑 AI 的终极方案
手把手教你用 Ollama 在本地电脑部署和运行大语言模型,涵盖安装、模型选择、性能优化以及与 Cursor、VS Code、Dify 等工具集成的完整教程。
为什么要在本地跑大模型
我是 DFK,一个每天都在用各种 AI 工具的人。ChatGPT、DeepSeek、Claude,这些云端 AI 我都在用。但你有没有想过——如果你能在自己的电脑上跑大模型呢?
这不是为了炫技,而是有非常实际的好处:
- 完全免费:一次下载,永久使用,不需要任何 API 费用
- 隐私保护:所有数据都在你的电脑上处理,不会发送到任何服务器
- 离线可用:断网也能用 AI,飞机上、地铁里都行
- 无限制使用:没有速率限制、没有 token 上限、没有审查
- 学习价值:理解大模型如何运行,对 AI 学习有巨大帮助
而 Ollama 就是让本地部署变得超级简单的工具——它就像是大模型界的 Docker,一条命令就能下载和运行各种开源模型。
Ollama 是什么
Ollama 是一个开源的本地大模型运行工具。它做了以下事情:
- 模型管理:一条命令下载各种开源模型
- 模型运行:优化了推理速度,充分利用你的硬件
- API 服务:提供与 OpenAI 兼容的 API 接口
- 模型定制:支持通过 Modelfile 自定义模型行为
简单来说,Ollama 就是让你能在本地"像用 ChatGPT 一样"用开源大模型。
安装指南
macOS 安装
macOS 上安装 Ollama 最简单:
# 方法一:官网下载(推荐)
# 访问 https://ollama.com 下载 macOS 版本
# 双击安装,拖入 Applications 文件夹
# 方法二:Homebrew
brew install ollama
安装完成后,Ollama 会在后台运行,你可以在终端中使用 ollama 命令。
Windows 安装
# 方法一:官网下载
# 访问 https://ollama.com 下载 Windows 安装包
# 双击运行安装程序
# 方法二:winget
winget install Ollama.Ollama
Linux 安装
# 一键安装脚本(推荐)
curl -fsSL https://ollama.com/install.sh | sh
# 安装完成后,启动服务
systemctl start ollama
systemctl enable ollama # 开机自启
验证安装
ollama --version
# 输出类似:ollama version 0.5.x
下载和运行模型
基础命令
# 下载并运行模型(第一次会自动下载)
ollama run llama3.2
# 仅下载模型,不运行
ollama pull deepseek-r1:8b
# 查看已下载的模型
ollama list
# 删除模型
ollama rm llama3.2
# 查看模型详细信息
ollama show deepseek-r1:8b
推荐模型清单
我测试了目前主流的开源模型,按场景推荐如下:
中文综合能力
| 模型 | 大小 | 内存需求 | 中文能力 | 推荐指数 |
|---|---|---|---|---|
| deepseek-r1:8b | ~5GB | 8GB | ★★★★★ | ★★★★★ |
| qwen2.5:7b | ~4.7GB | 8GB | ★★★★★ | ★★★★★ |
| qwen2.5:14b | ~9GB | 16GB | ★★★★★ | ★★★★★ |
| llama3.2:latest | ~2GB | 6GB | ★★★☆☆ | ★★★★☆ |
| mistral:7b | ~4.1GB | 8GB | ★★★☆☆ | ★★★★☆ |
编程辅助
| 模型 | 大小 | 擅长语言 | 推荐指数 |
|---|---|---|---|
| deepseek-coder-v2:16b | ~9GB | Python, JS, Go 等全语言 | ★★★★★ |
| codellama:13b | ~7.4GB | Python, C++, Java | ★★★★☆ |
| qwen2.5-coder:7b | ~4.7GB | Python, JS, 中文注释 | ★★★★☆ |
轻量模型(低配机器可用)
| 模型 | 大小 | 内存需求 | 适用场景 |
|---|---|---|---|
| phi3:mini | ~2.3GB | 4GB | 简单对话、翻译 |
| gemma2:2b | ~1.6GB | 4GB | 轻量任务 |
| tinyllama | ~637MB | 2GB | 极简场景 |
下载示例:
# 下载中文最强的 DeepSeek R1 8B 版
ollama pull deepseek-r1:8b
# 下载 Qwen 2.5 7B(另一个优秀的中文模型)
ollama pull qwen2.5:7b
# 下载编程专用模型
ollama pull deepseek-coder-v2:16b
关于 DeepSeek 系列模型的详细介绍,可以参考我的 DeepSeek 完全指南。
硬件要求和性能预期
各配置的实际体验
这部分我用不同电脑实测过,数据是真实的:
MacBook Air M2 (8GB RAM):
├── 7B 模型:可用,速度约 15-20 tokens/秒
├── 13B 模型:勉强能跑,速度约 5-8 tokens/秒
└── 更大模型:不推荐
MacBook Pro M3 Pro (18GB RAM):
├── 7B 模型:流畅,速度约 30-40 tokens/秒
├── 14B 模型:流畅,速度约 15-20 tokens/秒
├── 34B 模型:可用,速度约 8-12 tokens/秒
└── 70B 模型:勉强可用(Q4 量化版本)
台式机 RTX 4090 (24GB VRAM):
├── 7B 模型:飞快,速度约 80-100 tokens/秒
├── 14B 模型:流畅,速度约 40-60 tokens/秒
├── 34B 模型:流畅,速度约 20-30 tokens/秒
└── 70B 模型:可用(Q4 量化版本),约 15 tokens/秒
核心建议
- 8GB 内存:只能跑 7B 以下的模型
- 16GB 内存:舒适运行 7B-14B 模型
- 32GB+ 内存:可以挑战 34B-70B 模型
- 有 NVIDIA 显卡:GPU 推理比 CPU 快 3-10 倍
- Apple Silicon Mac:统一内存架构对大模型很友好
与常用工具集成
本地模型最大的价值不是单独使用,而是与其他工具集成。以下是我实际在用的集成方案。
与 Cursor / VS Code 集成
Cursor 和 VS Code 都可以配置使用本地模型进行代码补全和对话。
Cursor 配置方法:
- 打开 Cursor 设置
- 进入 Models 配置
- 添加 OpenAI-compatible 模型:
- API Base:
http://localhost:11434/v1 - Model:
deepseek-coder-v2:16b - API Key: 任意填写(Ollama 不验证)
- API Base:
这样你就能在 Cursor 中使用本地模型了,完全免费。关于 Cursor 的更多用法,参见 Cursor AI 完全指南。
VS Code + Continue 插件:
// Continue 插件配置(.continue/config.json)
{
"models": [
{
"title": "DeepSeek Coder Local",
"provider": "ollama",
"model": "deepseek-coder-v2:16b",
"apiBase": "http://localhost:11434"
}
],
"tabAutocompleteModel": {
"title": "Qwen Coder",
"provider": "ollama",
"model": "qwen2.5-coder:7b"
}
}
与 n8n 集成
Ollama 可以直接作为 n8n 工作流中的 AI 节点使用:
- 在 n8n 中添加「AI Agent」节点
- 选择 Ollama 作为模型提供者
- 配置 Ollama URL:
http://localhost:11434 - 选择你想使用的模型
这样你的自动化工作流就完全在本地运行了,不需要任何外部 API 费用。详见我的 n8n 自动化工作流指南。
与 Dify 集成
Dify 原生支持 Ollama:
- Dify 设置 → 模型供应商 → 选择 Ollama
- 填入 Ollama 服务器地址(如果 Dify 也是 Docker 部署,使用
http://host.docker.internal:11434) - Dify 会自动检测已下载的模型
这个组合非常强大——Dify 提供可视化的 AI 应用编排,Ollama 提供免费的本地推理,搭配起来零成本搭建 AI 应用。详见 Dify 入门教程。
与 Open WebUI 集成(最推荐的前端界面)
Open WebUI 是一个 ChatGPT 风格的网页界面,专门为 Ollama 设计:
# Docker 一键部署
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
部署完成后访问 http://localhost:3000,你就有了一个类似 ChatGPT 的本地 AI 聊天界面。
高级用法:Modelfile 自定义
Modelfile 是 Ollama 的「Dockerfile」,用来自定义模型的行为。
创建自定义角色
# 文件名:Modelfile-translator
FROM qwen2.5:7b
# 设置系统提示词
SYSTEM """
你是一个专业的中英文翻译助手。
规则:
1. 用户输入中文时,翻译为英文
2. 用户输入英文时,翻译为中文
3. 只输出翻译结果,不要加任何解释
4. 保持原文的语气和风格
"""
# 设置参数
PARAMETER temperature 0.3
PARAMETER top_p 0.9
PARAMETER num_ctx 4096
# 创建自定义模型
ollama create translator -f Modelfile-translator
# 使用自定义模型
ollama run translator
创建编程助手
# 文件名:Modelfile-coder
FROM deepseek-coder-v2:16b
SYSTEM """
你是一个高级编程助手。遵循以下规则:
1. 代码要清晰、简洁、有注释
2. 优先使用最新的语言特性和最佳实践
3. 如果有多种实现方式,说明各自的优缺点
4. 对于 Bug 修复,先解释问题原因再给出修复方案
"""
PARAMETER temperature 0.2
PARAMETER num_ctx 8192
PARAMETER stop "<|endoftext|>"
Modelfile 常用参数
| 参数 | 说明 | 推荐值 |
|---|---|---|
| temperature | 创造性程度 | 对话0.7,代码0.2 |
| top_p | 采样范围 | 0.9 |
| top_k | 候选token数 | 40 |
| num_ctx | 上下文长度 | 4096-8192 |
| repeat_penalty | 重复惩罚 | 1.1 |
| stop | 停止标记 | 视模型而定 |
API 调用指南
Ollama 提供了与 OpenAI 兼容的 REST API,方便集成到任何应用中。
基础调用
# 发送对话请求
curl http://localhost:11434/api/chat -d '{
"model": "deepseek-r1:8b",
"messages": [
{"role": "user", "content": "请解释什么是 RAG 技术"}
],
"stream": false
}'
Python 调用
import requests
def chat_with_ollama(message, model="deepseek-r1:8b"):
response = requests.post(
"http://localhost:11434/api/chat",
json={
"model": model,
"messages": [
{"role": "user", "content": message}
],
"stream": False
}
)
return response.json()["message"]["content"]
# 使用 OpenAI 兼容接口(推荐)
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama" # 随便填,Ollama 不验证
)
response = client.chat.completions.create(
model="deepseek-r1:8b",
messages=[
{"role": "system", "content": "你是一个有帮助的助手。"},
{"role": "user", "content": "用简单的话解释量子计算。"}
]
)
print(response.choices[0].message.content)
Embeddings API
# 生成文本嵌入向量(用于 RAG 等场景)
response = requests.post(
"http://localhost:11434/api/embeddings",
json={
"model": "nomic-embed-text",
"prompt": "这是一段需要向量化的文本"
}
)
embedding = response.json()["embedding"]
print(f"向量维度:{len(embedding)}")
DFK 的本地 AI 方案
分享一下我自己的电脑上是怎么配置的。
硬件
- MacBook Pro M3 Pro, 18GB RAM
- 外接 2TB SSD 存放大模型文件
模型配置
# 我日常使用的模型
ollama list
# 常驻模型:
# deepseek-r1:8b - 日常中文对话和思考
# qwen2.5:7b - 快速问答和翻译
# deepseek-coder-v2:16b - 编程辅助
# nomic-embed-text - 文本嵌入
# 需要时拉取:
# llama3.2 - 英文任务
# qwen2.5:14b - 高质量中文生成
日常使用场景
- 编程辅助:Cursor + DeepSeek Coder 本地模型,代码补全零延迟
- 快速问答:Open WebUI + DeepSeek R1,替代日常简单对话
- 文档处理:Dify + Ollama,搭建本地 RAG 问答系统
- 自动化工作流:n8n + Ollama,本地运行自动化任务
如果你也在用 Claude Code 做开发,可以看看我的 Claude Code 完全指南,了解如何在 AI 辅助编程中搭配本地模型使用。
成本对比
每月 AI 使用成本对比:
之前(纯云端方案):
├── ChatGPT Plus: $20
├── DeepSeek API: ¥50
├── Claude Pro: $20
└── 总计:约 ¥370/月
现在(云端+本地混合方案):
├── DeepSeek API(复杂任务): ¥20
├── Claude Pro(深度对话): $20
├── 本地 Ollama(日常使用): ¥0
└── 总计:约 ¥170/月
节省:约 ¥200/月,一年省 ¥2400
常见问题
Q: 本地模型和云端模型差距大吗?
看任务类型。对于日常对话、简单翻译、代码补全等任务,7B-14B 的本地模型已经很好用了。但对于复杂推理、长文写作、创意任务,云端大模型(如 GPT-4o、Claude)依然有明显优势。
我的策略:简单任务本地跑,复杂任务上云端。
Q: 会不会把电脑搞卡?
运行模型时确实会占用较多内存和 CPU/GPU 资源。但 Ollama 在你不使用时会自动释放资源。建议在不需要时用 ollama stop model_name 停止模型。
Q: 模型数据存在哪里?
# macOS
~/.ollama/models/
# Linux
/usr/share/ollama/.ollama/models/
# Windows
C:Users<username>.ollamamodels```
### Q: 可以同时运行多个模型吗?
可以,但需要足够的内存。每个模型运行时都会占用对应大小的内存。
### Q: 如何更新模型?
```bash
# 重新拉取即可获得最新版本
ollama pull deepseek-r1:8b
总结
Ollama 让本地部署大模型变成了一件轻松的事情。无论你是为了省钱、保护隐私,还是想要离线使用 AI,Ollama 都是目前最好的选择。
核心建议:
- 先从小模型开始:7B 模型下载快、运行快,先体验再升级
- 选对模型很重要:中文任务用 DeepSeek 或 Qwen,英文用 Llama
- 与其他工具集成:单独用 Ollama 价值有限,集成到 IDE、Dify、n8n 中才能发挥最大作用
- 本地 + 云端混合使用:简单任务本地跑,复杂任务用云端,这是最经济的方案
AI 的未来一定是「云端 + 边缘」混合的模式。学会本地部署,不仅能省钱,还能让你对 AI 技术有更深的理解。这正是我一直在 joinlearn.com 上倡导的 AI 学习理念——不只是会用工具,还要理解工具背后的原理。