Chapter 01

Ollama 简介与快速安装

了解 Ollama 的设计哲学与本地运行优势,掌握 macOS、Linux、Windows、Docker 四种安装方式,首次拉取并运行开源大模型,理解量化与 GGUF 格式。

什么是 Ollama

Ollama 是一个开源工具,让开发者能够在本地计算机上轻松下载、运行和管理大型语言模型(LLM)。它的口号是 "Get up and running with large language models"——一条命令即可启动世界顶级开源模型,无需云账户、无需 API Key、数据完全不离本机。

Ollama 的核心设计理念是极简化。它将复杂的模型加载、量化推理、内存管理等底层细节全部封装,对外暴露一套干净的 CLI 接口和兼容 OpenAI 格式的 REST API。对于应用开发者而言,切换到本地模型的成本极低——只需修改 base_url,其余代码不变。

Ollama vs API 服务(OpenAI / Claude)
API 服务的优势在于模型质量最高、无需本地硬件;劣势是每次请求付费、数据上传至云端、网络依赖。Ollama 的优势在于零费用、完全离线、数据私密;劣势是模型质量相对主流商业模型有差距(但 Llama 3.3 70B、DeepSeek R1 已非常接近 GPT-4 水准),且需要一定的本地硬件资源。两者不是替代关系,而是互补:开发测试与隐私场景用 Ollama,生产高质量推理用 API 服务。
本地运行的三大优势:隐私、成本、离线
1. 隐私:所有数据在本地处理,不经过任何第三方服务器,医疗/法律/金融等敏感信息可安全使用。2. 成本:一次下载,无限推理,无 Token 计费,高频调用场景可节省数千美元/月。3. 离线:无网络环境照常工作,适合出行、受限网络环境(企业内网)、边缘计算设备。
GGUF 格式(GPT-Generated Unified Format)
GGUF 是 llama.cpp 项目定义的模型文件格式,是目前本地 LLM 推理的标准格式。它将模型权重、量化参数、词汇表、架构元数据全部打包到一个 .gguf 文件中,无需单独配置文件。Ollama 内部使用 llama.cpp 进行推理,因此支持所有 GGUF 格式模型。相比旧版 GGML 格式,GGUF 设计更规范、向后兼容更好。
量化(Quantization)
量化是一种模型压缩技术,将原始的 32 位或 16 位浮点权重压缩为 4 位或 8 位整数,使模型体积缩小 4-8 倍,大幅降低内存需求,同时几乎不损失模型精度。举例:Llama 3.3 70B 的 FP16 版本需要约 140GB 显存,而 Q4_K_M 量化版只需约 40GB,可在消费级 GPU 或 Apple Silicon 上运行。量化是本地 LLM 得以普及的关键技术。
上下文窗口(Context Window)
上下文窗口是模型单次能处理的最大 Token 数量,决定了模型能"记住"多长的对话历史或文档内容。Llama 3.2 支持 128K Token 上下文;默认运行时 Ollama 会设置一个较小的 num_ctx(如 2048 或 4096)以节省内存。可通过 Modelfile 中的 PARAMETER num_ctx 调整,但增大上下文会成比例增加内存占用。

支持的主流模型家族

Ollama 模型库(ollama.com/library)收录了 200+ 个模型,以下是 2025 年最值得关注的模型家族:

模型家族代表版本参数规模核心优势
Llama 3.3llama3.3:70b8B / 70BMeta 旗舰,综合能力最强,接近 GPT-4
Gemma 3gemma3:27b1B / 4B / 12B / 27BGoogle 出品,多模态支持,中英文均衡
Qwen 2.5qwen2.5:72b0.5B–72B阿里开源,中文最强,代码能力出色
DeepSeek R1deepseek-r1:32b7B / 14B / 32B / 70B推理链思维,数学/逻辑/代码专项强
Mistralmistral:7b7B / 22B欧洲顶级,英文能力出色,速度快
Phi-4phi4:14b14B微软小模型,性能超越同等参数量模型
Code Llamacodellama:34b7B / 13B / 34B代码生成专用,支持 Fill-in-Middle

安装 Ollama

Ollama 支持 macOS、Linux、Windows 三大平台,还提供官方 Docker 镜像。选择适合你的安装方式:

macOS 安装(推荐)

下载官方 macOS 安装包(.dmg),支持 Apple Silicon(M1/M2/M3/M4)和 Intel Mac。Apple Silicon 会自动启用 Metal GPU 加速,推理速度极快。

# 方式一:官网下载安装包(推荐)
# 访问 https://ollama.com/download 下载 .dmg 并安装

# 方式二:Homebrew 安装
brew install ollama

# 安装完成后启动服务(macOS 会自动在菜单栏启动)
ollama serve  # 若未自动启动,手动运行此命令

# 验证安装
ollama --version
# 输出示例:ollama version is 0.6.2

Linux 安装

# 官方一键安装脚本(推荐,自动检测系统环境)
curl -fsSL https://ollama.com/install.sh | sh

# 脚本会自动:
# 1. 检测 CPU 架构(x86_64 / arm64)
# 2. 检测 NVIDIA GPU(若有,安装 CUDA 支持版本)
# 3. 创建 systemd 服务,开机自动启动
# 4. 安装到 /usr/local/bin/ollama

# 检查 systemd 服务状态
sudo systemctl status ollama

# 若需手动启动
sudo systemctl start ollama
sudo systemctl enable ollama  # 设置开机自启

# 验证
ollama --version

Windows 安装

# 下载 Windows 安装程序
# 访问 https://ollama.com/download/windows
# 下载 OllamaSetup.exe 并双击安装

# 安装完成后,Ollama 在系统托盘自动运行
# 打开 PowerShell 或命令提示符验证
ollama --version

# Windows 支持 NVIDIA GPU(需要 CUDA 12.x)和 AMD GPU(ROCm)
# CPU 模式无需额外配置,开箱即用

Docker 安装

# CPU 模式
docker run -d \
  --name ollama \
  -p 11434:11434 \
  -v ollama_data:/root/.ollama \
  ollama/ollama

# NVIDIA GPU 模式(需要 nvidia-docker2)
docker run -d \
  --name ollama \
  --gpus all \
  -p 11434:11434 \
  -v ollama_data:/root/.ollama \
  ollama/ollama

# 进入容器运行模型
docker exec -it ollama ollama run llama3.2

# 或从宿主机调用容器内的 API
curl http://localhost:11434/api/tags

首次拉取与运行模型

安装完成后,一条命令即可下载并运行你的第一个本地大模型:

# 首次运行:自动下载模型并启动交互会话
ollama run llama3.2

# 下载过程输出示例:
# pulling manifest...
# pulling 966de95ca8a6... 100% ████████████ 2.0 GB
# pulling 6e340b9bed58... 100% ████████████ 182 B
# pulling 4fa551d4f938... 100% ████████████ 12 KB
# verifying sha256 digest
# writing manifest
# success

# 进入交互模式后,直接输入问题
# >>> 用 Python 写一个快速排序
# >>> /bye   ← 退出会话

# 非交互模式:直接传入 prompt
ollama run llama3.2 "解释什么是递归,用简单例子"

# 拉取中文能力更强的 Qwen 2.5
ollama pull qwen2.5:7b

# 拉取代码模型
ollama pull codellama:7b
选择合适的模型大小 首次体验推荐 llama3.2(3B 或 8B),体积小、速度快,2GB 内存即可运行。追求更高质量可选 qwen2.5:14b 或 llama3.3:70b,但需要更多内存。

系统要求与 GPU 加速

Ollama 对硬件要求主要取决于所运行模型的参数量和量化等级。以下是详细的内存需求参考:

模型规模量化版本内存需求推荐硬件
1B–3BQ4_K_M1–2 GB任何现代笔记本
7BQ4_K_M~4 GB8GB RAM 笔记本
13BQ4_K_M~8 GB16GB RAM / RTX 3060
32BQ4_K_M~20 GB32GB RAM / RTX 4090
70BQ4_K_M~40 GBM2 Max 64GB / A100
# Apple Silicon GPU 加速(自动启用,Metal 框架)
# M1/M2/M3/M4 芯片统一内存架构,CPU 和 GPU 共享 RAM
# 推理速度:M2 Pro 16GB 运行 llama3.2:8b 约 45 tokens/s

# NVIDIA GPU 配置检查
nvidia-smi  # 查看 GPU 型号和显存

# Ollama 自动检测 NVIDIA GPU
# 要求:CUDA 12.x,驱动版本 ≥ 535
# 验证 GPU 是否被使用
ollama run llama3.2
# 运行时查看 GPU 占用
watch -n 1 nvidia-smi

# 强制使用 CPU(调试或 GPU 内存不足时)
OLLAMA_NUM_GPU=0 ollama run llama3.2

# 控制使用几层放入 GPU(部分卸载,当 VRAM 不足时)
OLLAMA_NUM_GPU=20 ollama run llama3.3:70b
# 未装入 GPU 的层会在 CPU 上运算(速度较慢)
内存不足时的处理策略 若 RAM 不够运行目标模型,优先考虑:1)选择更小参数量版本(70B → 32B);2)选择更激进的量化等级(Q8 → Q4);3)减小上下文长度(num_ctx 2048 代替 8192)。切勿强行运行超出内存的模型,系统会疯狂 Swap 导致极慢速度甚至崩溃。

Ollama 运行原理

理解 Ollama 的内部架构,有助于排查问题和性能调优:

Ollama 架构图 ┌─────────────────────────────────────────────────────────┐ │ 用户层 │ │ CLI (ollama run) / REST API / Python SDK │ └───────────────────────┬─────────────────────────────────┘ │ HTTP 11434 ┌───────────────────────▼─────────────────────────────────┐ │ Ollama 服务端 (Go 语言实现) │ │ 模型管理 · 请求调度 · 流式响应 · API 路由 │ └───────────────────────┬─────────────────────────────────┘ │ C/C++ FFI 绑定 ┌───────────────────────▼─────────────────────────────────┐ │ llama.cpp 推理引擎 │ │ GGUF 加载 · 量化推理 · KV Cache · 采样策略 │ └───────────────────────┬─────────────────────────────────┘ │ ┌─────────────────┴──────────────────┐ │ Metal (Apple) │ CUDA (NVIDIA) │ CPU Threads │ ROCm (AMD) └────────────────────────────────────┘ 模型文件存储: macOS/Linux:~/.ollama/models/ Windows:C:\Users\<用户名>\.ollama\models\
本章小结 Ollama 是本地 LLM 推理的最佳入口工具。核心要点:GGUF 格式 + 量化技术使大模型得以在消费级硬件上运行;三大安装平台均只需一步;ollama run 模型名 是最核心的命令;内存是首要瓶颈,7B 模型需 4GB,70B 模型需 40GB。下一章将深入学习模型管理的完整命令集与模型选择策略。