Ollama 本地大模型运行平台完整指南
Ollama 是一款开源的本地大语言模型(LLM)运行平台,核心使命是:
"让开发者无需云服务即可在本地运行超过150个开源大模型"
一句话理解:Ollama = Docker for LLMs,用管理容器的思路来管理大模型。
一、发展历程
| 时间 | 里程碑 |
|---|---|
| 2023年 | 项目启动,基于llama.cpp构建 |
| 2024年 | GitHub Stars 突破10万 |
| 2025年 | 支持模型数量超过100个 |
| 2026年3月 | 165k Stars,40,000+社区集成,版本0.17.7 |
二、核心技术架构
2.1 技术栈
┌─────────────────────────────────────────────────────┐
│ Ollama 架构层 │
├─────────────────────────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ CLI / API │ │ Web UI │ │ SDKs │ │
│ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │
│ │ │ │ │
│ ┌──────┴────────────────┴────────────────┴──────┐ │
│ │ REST API (OpenAI兼容) │ │
│ └───────────────────────┬───────────────────────┘ │
│ │ │
│ ┌──────────────────────┴───────────────────────┐ │
│ │ Model Management │ │
│ └───────────────────────┬───────────────────────┘ │
│ │ │
│ ┌──────────────────────┴───────────────────────┐ │
│ │ Runtime Engine (llama.cpp) │ │
│ └───────────────────────────────────────────────┘ │
│ │
│ ┌───────────────────────────────────────────────┐ │
│ │ Hardware (CPU/CUDA/ROCm/Metal) │ │
│ └───────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
2.2 llama.cpp底层引擎
- 作者:Georgi Gerganov
- 语言:纯C/C++
- 核心能力:GGUF格式模型量化、高效率CPU/GPU推理
- 特点:无需外部依赖、Apple Metal GPU加速、NVIDIA CUDA支持
2.3 GGUF量化格式
| 量化级别 | 每参数bit | 压缩率 | 推荐场景 |
|---|---|---|---|
| FP16 | 16bit | 1x | 精度优先 |
| Q8 | 8bit | 0.5x | 均衡方案 |
| Q4_K_M | 4bit | 0.25x | 推荐首选 |
| Q3 | 3bit | 0.1875x | 极致压缩 |
| Q2 | 2bit | 0.125x | 最低显存 |
三、支持的模型库
| 模型系列 | 版本 | 参数量范围 | 适用场景 |
|---|---|---|---|
| Meta Llama | 3.1 / 3.2 / 3.3 / 4 | 8B – 405B | 通用对话/代码 |
| 阿里 Qwen | 2.5 / 3 / 3.5 | 0.5B – 235B | 中文/代码/推理 |
| DeepSeek | R1 / V3 / Coder | 1.5B – 671B | 推理/代码/数学 |
| Google Gemma | 2 / 3 | 2B – 27B | 轻量对话 |
| Mistral | 7B / 8x22B | 7B+ | 通用/代码 |
| Phi | 4 / 4-mini | 1B+ | 轻量级 |
| Yi | 1.5 / 2 / 3 | 6B+ | 中英双语 |
| Command R+ | - | 104B | RAG/工具调用 |
四、硬件配置指南
4.1 模型规模 vs 硬件要求
| 模型规模 | 量化精度 | 显存需求 | 推荐硬件 |
|---|---|---|---|
| 7B | Q4 | ~4GB | RTX 3060 / M2 |
| 7B | FP16 | ~14GB | RTX 3080 / M3 Pro |
| 13B | Q4 | ~8GB | RTX 3080 / M3 Pro |
| 33B | Q4 | ~20GB | RTX 4090 / M3 Max |
| 70B | Q4 | ~40GB | 多卡RTX 4090 |
| 70B | Q8 | ~80GB | 多卡A100 |
4.2 Apple Silicon配置
M系列芯片统一内存架构优势:
- M1基础版 16GB → 运行 7B Q4 模型
- M2 Pro 24GB → 运行 13B Q4 模型
- M3 Max 128GB → 运行 70B Q4 模型
- 统一内存,无CPU-GPU数据传输瓶颈
五、命令行使用指南
5.1 安装
# macOS / Linux
curl -fsSL https://ollama.com/install.sh | sh
# Windows (PowerShell)
irm https://ollama.com/install.ps1 | iex
# Docker
docker run -d -v ollama:/root/.ollama -p 11434:11434 ollama/ollama
5.2 基础命令
# 拉取模型
ollama pull llama3.2 # 拉取最新
ollama pull qwen2.5:14b # 指定版本
ollama pull deepseek-r1:1.5b # 蒸馏小模型
# 运行模型
ollama run llama3.2 # 交互模式
ollama run qwen2.5:14b "你好" # 单次请求
# 模型管理
ollama list # 查看已下载
ollama show llama3.2 # 查看模型信息
ollama rm llama3.2 # 删除模型
ollama serve # 启动API服务(默认11434端口)
5.3 Modelfile自定义模型
# 创建中文助手
FROM llama3.2
PARAMETER temperature 0.7
PARAMETER top_p 0.9
SYSTEM """
你是一个专业的中文AI助手。
请用清晰、专业的方式回答问题。
"""
六、API接口详解
6.1 REST API(OpenAI兼容)
# 聊天补全
curl http://localhost:11434/api/chat -d '{
"model": "llama3.2",
"messages": [
{"role": "system", "content": "你是一个助手"},
{"role": "user", "content": "你好"}
],
"stream": false
}'
# Embeddings
curl http://localhost:11434/api/embeddings -d '{
"model": "nomic-embed-text",
"prompt": "要嵌入的文本"
}'
6.2 Python SDK
from ollama import chat
response = chat('llama3.2', messages=[
{'role': 'user', 'content': 'Hello!'}
])
print(response['message']['content'])
七、竞品对比
| 维度 | Ollama | LM Studio | Jan | LocalAI |
|---|---|---|---|---|
| 界面 | CLI + API | 桌面UI | 桌面UI | API优先 |
| 模型管理 | 简单 | 丰富 | 丰富 | 中等 |
| OpenAI兼容 | 完整 | 部分 | 部分 | 完整 |
| 社区生态 | 最大 | 中等 | 小 | 中等 |
| 跨平台 | 全平台 | 仅桌面 | 仅桌面 | 全平台 |
八、适用场景判断
推荐用Ollama:
- ✅ 隐私敏感数据处理(数据完全本地)
- ✅ 开发/测试环境(快速迭代)
- ✅ 成本敏感的中小团队(零API费用)
- ✅ 离线/内网环境(无需联网)
- ✅ 嵌入式AI应用(REST API易集成)
结论
Ollama正在让"每个人都能拥有自己的AI"成为可能。
它不仅是一个工具,更是一种全新的AI使用范式——让大模型从云端走进本地,从企业走向个人。
参考链接
- 官网:https://ollama.com
- GitHub:https://github.com/ollama/ollama
- 模型库:https://ollama.com/library