Ollama 完全实战教程:从零开始在本地运行大模型
适用人群:想在本地跑大模型的开发者、希望摆脱 API 费用限制的 AI 应用爱好者、对数据隐私有要求的企业用户
难度:⭐⭐(略有命令行基础即可)
预计完成时间:30 分钟
为什么要读这篇教程
2026 年,大模型已经渗透进开发的每个环节。但现实是:
- OpenAI API 费用越来越高,跑几次实验账单就三位数
- 把公司内部代码投喂给第三方 API,安全团队会找你谈话
- 网络不稳定,API 超时让你调试到崩溃
- 想微调模型?闭源模型根本不给你这个机会
Ollama 就是为解决这些问题而生的。它让「在本地跑大模型」这件事变得和 npm install 一样简单。本教程会带你从安装到实战,覆盖官方文档里没写清楚、但实际使用一定会遇到的所有问题。
一、Ollama 是什么,能做什么
Ollama 是一个开源工具,核心功能是让你在本地一键下载、运行和管理大语言模型。
它的几个关键特性:
| 特性 | 说明 |
|---|---|
| 一键运行 | 一条命令 ollama run deepseek-r1 就能启动对话 |
| 模型丰富 | 支持 Llama、DeepSeek、Qwen、Gemma、Mistral 等 100+ 模型 |
| 跨平台 | macOS、Windows、Linux 全支持 |
| API 兼容 | 提供 OpenAI 兼容的 API,现有代码几乎不用改 |
| 完全离线 | 下载完模型后,断网也能跑 |
| 开源免费 | MIT 协议,代码完全透明 |
- 替代 ChatGPT API,省下订阅费和调用费
- 在不能联网的内网环境使用 AI 辅助编程
- 基于本地模型开发 AI 应用(客服机器人、知识库问答等)
- 研究和对比不同开源模型的实际表现
二、安装 Ollama
2.1 系统要求
先确认你的机器能不能跑。大模型对硬件的要求主要在内存/显存:
| 模型参数量 | 最低内存要求 | 推荐显存 | 能否跑 |
|---|---|---|---|
| 1B-3B(如 qwen2.5:1.5b) | 4GB | 不需要独显 | ✅ 流畅 |
| 7B-8B(如 llama3.2:8b) | 8GB | 6GB | ✅ 可用 |
| 14B-20B | 16GB | 12GB | ⚠️ 较慢 |
| 30B+ | 32GB+ | 24GB+ | ⚠️ 需要量化 |
经验法则:模型文件名里的数字(如 deepseek-r1:14b)代表参数量(单位:B = 十亿)。参数量越大,效果越好,但对硬件要求也越高。新手建议从 7B 或 8B 开始。
2.2 Windows 安装
- 访问 ollama.com,点击 Download
- 选择 Windows,下载
OllamaSetup.exe - 双击安装(需要管理员权限)
- 安装完成后,打开 PowerShell 或 CMD,验证安装:
ollama --version
如果显示版本号(如 ollama version is 0.8.0),说明安装成功。
注意:Windows 10 用户请确保系统版本在 22H1 或以上,更早版本(如 21H1)存在终端显示 bug,会出现乱码。
2.3 macOS 安装
两种方式:
方式一:下载安装包(推荐)- 访问 ollama.com,下载
Ollama-darwin.zip - 解压后将 Ollama 拖入 Applications 文件夹
- 首次打开需要在「系统设置 → 隐私与安全」里允许运行
brew install ollama
2.4 Linux 安装
官方推荐一行命令安装:
curl -fsSL https://ollama.com/install.sh | sh
安装脚本会自动检测你的系统(Ubuntu、Debian、Fedora、Arch 等均支持)并安装最新版本。
安装完成后,Ollama 会以 systemd 服务形式运行。手动启动服务:
sudo systemctl start ollama
sudo systemctl enable ollama # 开机自启
2.5 验证安装
无论哪个平台,安装完成后运行:
ollama --version
ollama list # 查看已下载的模型(刚安装应为空)
三、运行你的第一个模型
3.1 拉取并运行模型
最简单的入门命令:
ollama run deepseek-r1:7b
首次运行会自动拉取模型(约 4-5GB),需要等待下载完成。下载速度取决于你的网络。
下载完成后,会自动进入交互式对话界面,可以直接输入问题:
>>> 你好,介绍一下你自己
我是 DeepSeek-R1,一个开源的大语言模型...
>>> /bye # 退出对话
3.2 选择适合你的模型
Ollama 支持的主流模型:
| 模型 | 推荐版本 | 特点 | 适合场景 |
|---|---|---|---|
| DeepSeek-R1 | 7b / 14b | 推理能力强,中文友好 | 代码、数学、逻辑推理 |
| Qwen2.5 | 7b / 14b | 阿里出品,中文最佳 | 中文对话、文档处理 |
| Llama 3.2 | 8b / 11b | Meta 官方,生态最好 | 通用场景 |
| Gemma 2 | 9b | Google 出品,轻量高效 | 资源受限环境 |
| Mistral | 7b | 欧洲模型,效率高 | 快速推理场景 |
查看所有可用模型:https://ollama.com/library
3.3 常用命令速查
ollama run <模型名> # 运行模型(没有则自动拉取)
ollama pull <模型名> # 仅拉取模型,不运行
ollama list # 列出本地已下载的模型
ollama show <模型名> # 查看模型详细信息
ollama rm <模型名> # 删除本地模型(释放磁盘空间)
ollama cp <源> <目标> # 复制模型(用于创建自定义版本)
ollama help # 查看帮助
四、自定义模型:用 Modelfile 打造专属 AI
Ollama 支持通过 Modelfile 来自定义模型行为,类似 Dockerfile 的概念。
4.1 创建一个自定义模型
场景:你想让 DeepSeek-R1 变成一个专门回答技术问题的助手,并且每次回复都用中文。
步骤一:创建 Modelfile新建文件 Modelfile,内容如下:
FROM deepseek-r1:7b
# 设置系统角色
SYSTEM "你是一个专注于编程和技术问题的AI助手。请用简洁准确的中文回答问题,代码示例优先使用 Python。"
# 设置温度参数(创造性,0-1,越低越严谨)
PARAMETER temperature 0.3
# 设置上下文长度
PARAMETER num_ctx 4096
步骤二:构建自定义模型
ollama create my-deepseek -f Modelfile
步骤三:运行自定义模型
ollama run my-deepseek
4.2 Modelfile 常用参数
| 参数 | 说明 | 推荐值 |
|---|---|---|
temperature | 创造性(0=严谨,1=发散) | 问答:0.2-0.5 / 创作:0.7-0.9 |
num_ctx | 上下文长度(token数) | 4096(默认)/ 8192(长文档) |
num_predict | 最大生成长度 | 2048(默认) |
top_p | 核采样参数 | 0.9 |
repeat_penalty | 重复惩罚 | 1.1 |
五、通过 API 调用 Ollama
Ollama 启动后会自动在 http://localhost:11434 提供 REST API,完全兼容 OpenAI API 格式。
5.1 基础对话 API
curl http://localhost:11434/api/generate -d '{
"model": "deepseek-r1:7b",
"prompt": "用Python写一个快速排序",
"stream": false
}'
5.2 用 Python 调用
import ollama
# 方式一:直接使用 ollama Python 库
response = ollama.generate(
model='deepseek-r1:7b',
prompt='解释一下什么是递归'
)
print(response['response'])
# 方式二:对话模式(保留上下文)
messages = [
{'role': 'user', 'content': '你好'},
{'role': 'assistant', 'content': '你好!有什么可以帮你?'},
{'role': 'user', 'content': '刚才我说了什么'}
]
response = ollama.chat(model='deepseek-r1:7b', messages=messages)
print(response['message']['content'])
5.3 兼容 OpenAI API 格式
如果你已有基于 OpenAI API 的代码,只需改一下 base_url:
from openai import OpenAI
client = OpenAI(
base_url='http://localhost:11434/v1',
api_key='ollama' # 任意值,本地调用不需要真实 key
)
response = client.chat.completions.create(
model='deepseek-r1:7b',
messages=[{'role': 'user', 'content': '你好'}]
)
print(response.choices[0].message.content)
六、常见问题与解决方案
这部分是官方文档没有系统整理、但实际使用中几乎一定会遇到的问题。
问题 1:模型下载速度慢或经常中断
原因:模型文件较大(7B 模型约 4-5GB),国内网络访问 Hugging Face 或 GitHub 可能不稳定。 解决方案:- 确保 Ollama 版本是最新的(旧版本下载稳定性较差)
- 使用有线网络,避免 Wi-Fi 不稳定导致中断
- 下载中断后重新运行
ollama pull <模型名>,支持断点续传 - 如果多次失败,可以先在能访问的.network环境下载 GGUF 文件,然后用
ollama create导入(进阶用法)
问题 2:运行时提示「内存不足」或响应极慢
原因:模型需要的内存超过了可用内存,系统开始使用虚拟内存(交换文件),导致速度骤降。 解决方案:- 换用更小参数量的模型(如从 14B 换成 7B)
- 使用量化版本(在模型名后加
:q4_0等量化标识,如deepseek-r1:7b-q4_0) - 关闭其他占用内存较大的程序
- Windows 用户可在任务管理器中查看实际内存占用
问题 3:有显卡但 Ollama 没有使用 GPU
原因:GPU 驱动未正确安装,或 Ollama 未能正确识别。 解决方案(Windows):- 确认已安装 NVIDIA 驱动(NVIDIA 控制面板 → 帮助 → 系统信息)
- 在 PowerShell 运行
nvidia-smi确认驱动正常工作 - 重启 Ollama 应用(右键系统托盘图标 → Quit → 重新启动)
# 确认 NVIDIA 驱动正常
nvidia-smi
# 查看 Ollama 日志,确认 GPU 是否被识别
journalctl -u ollama --no-pager | grep -i gpu
问题 4:中文回复质量差
原因:使用了主要训练英文的模型(如原版 Llama 3),或对中文优化不足的版本。 解决方案:- 优先选择中文优化模型:Qwen2.5、DeepSeek-R1、Gemma 2(有中文微调版)
- 在 Modelfile 的 SYSTEM 提示词中明确指定「请用中文回复」
- 确保使用较新版本的模型(旧版本中文能力普遍较弱)
问题 5:ollama run 启动时卡住不动
原因:可能是模型文件损坏,或之前异常退出导致进程冲突。
解决方案:
# 步骤一:删除损坏的模型重新拉取
ollama rm <模型名>
ollama pull <模型名>
# 步骤二:检查是否有 ollama 进程残留
# Windows:
taskkill /F /IM ollama.exe
# macOS/Linux:
pkill ollama
# 步骤三:重启 Ollama
问题 6:API 调用返回 404 或连接拒绝
原因:Ollama 服务没有正常启动,或端口被占用。 解决方案:# 确认 Ollama 服务正在运行
# Windows: 检查系统托盘是否有 Ollama 图标
# macOS: 检查顶栏是否有羊驼图标
# Linux:
curl http://localhost:11434
# 正常应返回 "Ollama is running"
如果端口被占用,可以设置环境变量修改端口:
export OLLAMA_HOST=0.0.0.0:11435 # Linux/macOS
set OLLAMA_HOST=0.0.0.0:11435 # Windows PowerShell
问题 7:在英特尔核显或 AMD 显卡上运行
Ollama 对 NVIDIA GPU 支持最好,但也可以在其他硬件上运行:
- AMD GPU(Linux):需要安装 ROCm 驱动,Ollama 会自动检测
- AMD GPU(Windows):目前支持有限,建议使用 CPU 模式或等待官方更新
- Intel Arc GPU:较新版本 Ollama 开始支持,需要最新驱动
- Apple Silicon(M1/M2/M3):原生支持,性能表现非常好,是 Mac 用户的最佳选择
七、进阶技巧
7.1 让局域网其他设备访问
默认情况下 Ollama 只监听 localhost,其他设备无法访问。要让同一局域网内的其他设备(如手机、另一台电脑)访问:
Linux/macOS:export OLLAMA_HOST=0.0.0.0:11434
ollama serve
Windows(PowerShell):
$env:OLLAMA_HOST="0.0.0.0:11434"
ollama serve
⚠️ 注意:暴露到局域网存在安全风险,请勿在公共网络下这样做,建议仅在内网使用并配合防火墙规则。
7.2 清理磁盘空间
模型文件占用空间较大,定期清理不需要的模型:
# 查看各模型占用空间
ollama list
# 删除不需要的模型
ollama rm <模型名>
# 模型存储位置(如需手动清理)
# Windows: C:\Users\<用户名>\.ollama\models
# macOS: ~/.ollama/models
# Linux: ~/.ollama/models
7.3 与其他工具集成
Ollama 可以和大量工具无缝集成:
| 工具 | 用途 |
|---|---|
| Open WebUI | 给 Ollama 加上类似 ChatGPT 的网页界面 |
| Continue | VS Code 插件,用本地模型辅助编程 |
| LangChain | Python 框架,构建基于本地 LLM 的应用 |
| n8n | 工作流自动化,调用本地模型 |
| OpenClaw | 个人 AI 助手,可接入 Ollama 作为后端 |
安装 Open WebUI(最推荐,一步拥有 ChatGPT 体验):
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
八、总结与下一步
到这里,你已经掌握了 Ollama 的核心用法:安装、运行模型、自定义行为、API 调用、问题排查。
下一步可以做什么:- 用 Open WebUI 搭建一个团队内部使用的 ChatGPT 替代品
- 基于 Ollama API 开发一个本地知识库问答系统(RAG)
- 用 LangChain + Ollama 构建自动化工作流
- 在 repohot.com 上发现更多可以和 Ollama 搭配使用的开源 AI 工具
- 官方文档:https://ollama.com/docs
- 模型库:https://ollama.com/library
- GitHub:https://github.com/ollama/ollama
- Discord 社区:https://discord.gg/ollama
*本教程由 repohot.com 出品,更多开源 AI 工具教程持续更新中。*