就学joinlearn.com
开发环境14 分钟

Ollama 本地部署大模型:零成本跑 AI 的终极方案

手把手教你用 Ollama 在本地电脑部署和运行大语言模型,涵盖安装、模型选择、性能优化以及与 Cursor、VS Code、Dify 等工具集成的完整教程。

D
DFK
作者
Ollama本地部署大模型开源隐私离线AI

为什么要在本地跑大模型

我是 DFK,一个每天都在用各种 AI 工具的人。ChatGPT、DeepSeek、Claude,这些云端 AI 我都在用。但你有没有想过——如果你能在自己的电脑上跑大模型呢?

这不是为了炫技,而是有非常实际的好处:

  1. 完全免费:一次下载,永久使用,不需要任何 API 费用
  2. 隐私保护:所有数据都在你的电脑上处理,不会发送到任何服务器
  3. 离线可用:断网也能用 AI,飞机上、地铁里都行
  4. 无限制使用:没有速率限制、没有 token 上限、没有审查
  5. 学习价值:理解大模型如何运行,对 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~5GB8GB★★★★★★★★★★
qwen2.5:7b~4.7GB8GB★★★★★★★★★★
qwen2.5:14b~9GB16GB★★★★★★★★★★
llama3.2:latest~2GB6GB★★★☆☆★★★★☆
mistral:7b~4.1GB8GB★★★☆☆★★★★☆

编程辅助

模型大小擅长语言推荐指数
deepseek-coder-v2:16b~9GBPython, JS, Go 等全语言★★★★★
codellama:13b~7.4GBPython, C++, Java★★★★☆
qwen2.5-coder:7b~4.7GBPython, JS, 中文注释★★★★☆

轻量模型(低配机器可用)

模型大小内存需求适用场景
phi3:mini~2.3GB4GB简单对话、翻译
gemma2:2b~1.6GB4GB轻量任务
tinyllama~637MB2GB极简场景

下载示例

# 下载中文最强的 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 配置方法

  1. 打开 Cursor 设置
  2. 进入 Models 配置
  3. 添加 OpenAI-compatible 模型:
    • API Base: http://localhost:11434/v1
    • Model: deepseek-coder-v2:16b
    • API Key: 任意填写(Ollama 不验证)

这样你就能在 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 节点使用:

  1. 在 n8n 中添加「AI Agent」节点
  2. 选择 Ollama 作为模型提供者
  3. 配置 Ollama URL: http://localhost:11434
  4. 选择你想使用的模型

这样你的自动化工作流就完全在本地运行了,不需要任何外部 API 费用。详见我的 n8n 自动化工作流指南

与 Dify 集成

Dify 原生支持 Ollama:

  1. Dify 设置 → 模型供应商 → 选择 Ollama
  2. 填入 Ollama 服务器地址(如果 Dify 也是 Docker 部署,使用 http://host.docker.internal:11434
  3. 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           - 高质量中文生成

日常使用场景

  1. 编程辅助:Cursor + DeepSeek Coder 本地模型,代码补全零延迟
  2. 快速问答:Open WebUI + DeepSeek R1,替代日常简单对话
  3. 文档处理:Dify + Ollama,搭建本地 RAG 问答系统
  4. 自动化工作流: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 都是目前最好的选择。

核心建议

  1. 先从小模型开始:7B 模型下载快、运行快,先体验再升级
  2. 选对模型很重要:中文任务用 DeepSeek 或 Qwen,英文用 Llama
  3. 与其他工具集成:单独用 Ollama 价值有限,集成到 IDE、Dify、n8n 中才能发挥最大作用
  4. 本地 + 云端混合使用:简单任务本地跑,复杂任务用云端,这是最经济的方案

AI 的未来一定是「云端 + 边缘」混合的模式。学会本地部署,不仅能省钱,还能让你对 AI 技术有更深的理解。这正是我一直在 joinlearn.com 上倡导的 AI 学习理念——不只是会用工具,还要理解工具背后的原理。

返回博客列表
分享文章:

想要更深入的学习?

订阅我们的课程,获得完整的视频教程、源码资料和专属答疑支持

查看全部课程