想本地跑大模型?打开搜索引擎一搜,全是各种框架的安装文档:CUDA 驱动、PyTorch 版本冲突、HuggingFace 模型格式转换……还没开始就已经放弃了。

Ollama 解决的就是这个问题——把复杂的模型加载、推理环境、API 封装全部打包成一个命令。你不需要关心 CUDA 版本,不需要写 Python 代码加载模型,甚至不需要懂 GPU 编程。

这篇文章不会跟你讲 Ollama 的架构设计(你也用不上),只讲一件事:3 条命令跑起来,然后做点有用的事。


一、Ollama 是什么

一句话定义:本地大模型运行工具,不需要 API Key,不需要云端,本地跑。

Ollama 把模型下载、量化、推理引擎、REST API 封装成一整套工具链。你只需要执行 ollama run <模型名>,它自动完成剩下的所有事。

跟其他方案对比一下:

方案 优点 缺点 适合谁
Ollama 安装简单、内置 API、模型管理方便 定制化程度有限、性能不是最优 想快速跑起来的人
OpenAI API 无需本地硬件、模型强大 按次付费、数据要传到云端、需要 API Key 不想折腾硬件的人
vLLM 性能极高、生产级吞吐 安装复杂、需要懂 CUDA、配置多 有大规模推理需求的工程师
Text Generation WebUI 图形界面、功能全面 安装依赖多、启动慢、资源占用大 喜欢图形界面的玩家

Ollama 的定位很清晰:让你以最低成本在本地跑起来一个大模型,然后决定要不要继续深入。

它不是性能最优的,也不是功能最全的,但它是上手成本最低的


二、安装

Windows

  1. 访问 ollama.com,点击 Download for Windows
  2. 下载 OllamaSetup.exe,双击安装(全程下一步)
  3. 打开命令行,验证安装:
ollama --version

看到版本号输出就说明安装成功。

重要提醒:C 盘空间问题

Ollama 默认把模型下载到 C:\Users\<你的用户名>\.ollama\models。大模型动辄 4GB~40GB,C 盘很容易爆。

解决方法:设置环境变量 OLLAMA_MODELS,指定模型存储路径。

步骤:

  1. 右键"此电脑" → “属性” → “高级系统设置” → “环境变量”
  2. 在"用户变量"中点击"新建":
    • 变量名:OLLAMA_MODELS
    • 变量值:D:\ollama-models(换成你想存的路径)
  3. 确定保存,重启命令行

之后所有模型都会下载到 D:\ollama-models

注意:设置环境变量后需要重启命令行窗口才能生效。如果你是在 PowerShell 中运行,需要完全关闭再重新打开。

macOS

两种安装方式:

方式一:官网下载

访问 ollama.com,下载 .dmg 文件,拖到 Applications。

方式二:Homebrew

brew install ollama

验证:

ollama --version

macOS 默认模型存储路径:~/.ollama/models。如果需要修改,同样设置环境变量 OLLAMA_MODELS

# 临时设置(当前终端会话)
export OLLAMA_MODELS=/Volumes/External/ollama-models

# 永久设置(写入 shell 配置文件)
echo 'export OLLAMA_MODELS=/Volumes/External/ollama-models' >> ~/.zshrc
source ~/.zshrc

Linux

一条命令:

curl -fsSL https://ollama.com/install.sh | sh

安装完成后验证:

ollama --version

Linux 默认模型存储路径:/usr/share/ollama/.ollama/models。修改路径:

# 为 ollama 服务设置环境变量
sudo systemctl edit ollama.service

在打开的编辑器中添加:

[Service]
Environment="OLLAMA_MODELS=/data/ollama-models"

保存后重启服务:

sudo systemctl daemon-reload
sudo systemctl restart ollama

三、跑起来:下载第一个模型

安装完成后,第一条命令:

ollama run qwen2.5

这条命令会:

  1. 从 Ollama 官方仓库下载 qwen2.5 模型(约 4.7GB)
  2. 自动加载到内存
  3. 进入交互式对话界面

你会看到类似这样的输出:

pulling manifest
pulling 6e1f4c5b9ab3... 100% ▕████████████████████▏ 4.7 GB/4.7 GB
pulling ab32f0c19c7e... 100% ▕████████████████████▏  12 KB/12 KB
pulling 4c61b0c20b4a... 100% ▕████████████████████▏   24 B/24 B
verifying sha256 digest
writing manifest
removing any unused layers
success

下载完成后自动进入对话模式:

>>> 你好,介绍一下你自己
你好!我是通义千问(Qwen)系列大语言模型...

输入 /bye 退出交互模式。

常用命令

# 查看已下载的模型列表
ollama list

# 后台下载模型(不进入交互模式)
ollama pull llama3.2

# 删除模型
ollama rm llama3.2

# 查看模型详情
ollama show qwen2.5

# 启动 API 服务(后台运行)
ollama serve

支持的主流开源模型

模型 参数量 模型大小 特点
Llama 3.2 1B / 3B 1.3GB / 2.0GB Meta 出品,综合能力强
Qwen2.5 0.5B ~ 72B 0.5GB ~ 40GB 阿里出品,中文能力强
DeepSeek-R1 1.5B ~ 671B 1.5GB ~ 400GB+ 深度思考模型,推理能力强
Mistral 7B 4.1GB 欧洲开源模型,效率高
Phi-3 3.8B 2.3GB 微软出品,小而精
Gemma 2 2B ~ 27B 1.6GB ~ 16GB Google 出品,多语言支持好

建议: 从小模型开始。3B 参数的模型在 8GB 内存机器上就能跑,先试 phi3:3.8bqwen2.5:3b


四、进阶玩法

命令行交互模式

直接运行:

ollama run qwen2.5

进入交互模式后,可以调整参数:

ollama run qwen2.5 --temperature 0.7 --top-p 0.9

常用参数:

  • --temperature:随机性控制,0~2,默认 1。值越低输出越确定,值越高越随机
  • --top-p:核采样参数,0~1,默认 0.9
  • --num-ctx:上下文长度,默认 2048
  • --num-predict:生成 token 数上限,-1 表示无限制

在交互模式中可以用快捷命令:

  • /set parameter temperature 0.5 — 临时修改参数
  • /set system 你是一个专业的Python程序员 — 设置系统提示词
  • /save my-model — 保存当前配置为新模型
  • /clear — 清空上下文
  • /bye — 退出

API 方式调用

Ollama 内置 REST API,默认监听 http://localhost:11434

验证服务状态:

curl http://localhost:11434

返回 Ollama is running 说明服务正常。

生成文本(一次性):

curl http://localhost:11434/api/generate -d '{
  "model": "qwen2.5",
  "prompt": "用Python写一个快速排序算法",
  "stream": false
}'

返回 JSON 格式的结果。

对话模式(多轮):

curl http://localhost:11434/api/chat -d '{
  "model": "qwen2.5",
  "messages": [
    {"role": "system", "content": "你是一个编程助手"},
    {"role": "user", "content": "Python中list和tuple有什么区别?"}
  ],
  "stream": false
}'

流式输出:

stream 设为 true,API 会逐步返回 token,适合长文本生成:

curl http://localhost:11434/api/generate -d '{
  "model": "qwen2.5",
  "prompt": "写一篇关于大语言模型的文章",
  "stream": true
}'

Python SDK

安装:

pip install ollama

示例代码:

import ollama

# 一次性生成
response = ollama.generate(
    model='qwen2.5',
    prompt='用Python实现二分查找'
)
print(response['response'])

# 流式生成
for chunk in ollama.generate(
    model='qwen2.5',
    prompt='写一个冒泡排序',
    stream=True
):
    print(chunk['response'], end='', flush=True)

# 多轮对话
messages = [
    {'role': 'user', 'content': '什么是RESTful API?'}
]
response = ollama.chat(model='qwen2.5', messages=messages)
print(response['message']['content'])

# 继续对话
messages.append(response['message'])
messages.append({'role': 'user', 'content': '给我一个Python示例'})
response = ollama.chat(model='qwen2.5', messages=messages)
print(response['message']['content'])

修改模型存储路径的完整步骤(Windows)

很多人装完 Ollama 后发现 C 盘红了。这里详细说明如何迁移:

第一步:停止 Ollama 服务

任务栏右下角找到 Ollama 图标,右键 → Quit。或者任务管理器结束进程。

第二步:移动已有模型数据

如果已经下载了模型,把 C:\Users\<你的用户名>\.ollama\models 整个文件夹移动到目标位置,比如 D:\ollama-models

第三步:设置环境变量

按照前面"安装"一节的方法,设置 OLLAMA_MODELS 环境变量。

第四步:验证

重启命令行,运行:

ollama list

如果能列出已下载的模型,说明迁移成功。


五、桌面 GUI

Ollama 现在有原生桌面应用,不用命令行也能用。

下载地址

安装后打开应用,会自动启动后台服务。

界面说明

桌面应用提供:

  • 模型管理:查看已下载模型、下载新模型、删除模型
  • 对话界面:直接在窗口中与模型对话
  • 设置面板:调整模型参数、查看系统资源占用

命令行 vs GUI

场景 推荐方式
写脚本、自动化调用 命令行
快速测试模型效果 GUI
集成到应用中 API + SDK
日常使用、非程序员 GUI

命令行和 GUI 共享同一套模型数据。你在命令行下载的模型,GUI 中可以直接用。


六、踩坑实录

模型下载太慢

Ollama 官方服务器在国外,国内下载经常只有几十 KB/s。

解决方案:

  1. 换镜像源(如果有可用的国内镜像)
  2. 代理:设置 HTTP 代理
# Windows PowerShell
$env:HTTP_PROXY = "http://127.0.0.1:7890"
$env:HTTPS_PROXY = "http://127.0.0.1:7890"
ollama pull qwen2.5

# Linux/macOS
export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890
ollama pull qwen2.5
  1. 手动下载 GGUF 文件:从 HuggingFace 下载量化后的 GGUF 模型,然后用 ollama create 导入

显存/内存不够跑大模型

报错类似:

CUDA error: out of memory

或直接卡死。

解决方案:

  1. 从小模型开始:ollama run phi3:3.8bollama run qwen2.5:1.5b
  2. 使用量化版本:Ollama 默认使用 4-bit 量化,如果还不够,可以找更低量化版本
  3. 纯 CPU 运行:Ollama 会自动检测,没有 GPU 就用 CPU,只是速度慢一些

显存估算参考:

模型参数量 4-bit 量化后大小 建议显存
3B ~2GB 4GB+
7B ~4GB 8GB+
14B ~8GB 12GB+
32B ~18GB 24GB+
70B ~40GB 48GB+ (或多卡)

ollama serve 没有自动启动

正常情况下,安装后 Ollama 服务会在后台自动运行。但有时需要手动启动。

Linux:

sudo systemctl start ollama
sudo systemctl enable ollama  # 开机自启

Windows/macOS:

打开 Ollama 应用即可启动服务。如果应用没有运行,在命令行执行:

ollama serve

API 连不上

curl http://localhost:11434 报错 “Connection refused”。

排查步骤:

  1. 确认服务在运行:ollama listps aux | grep ollama
  2. 确认端口:默认 11434,检查是否被占用
  3. 检查防火墙:本地调用一般不受影响,但如果设置过严格规则可能有影响
  4. 检查环境变量 OLLAMA_HOST:默认 127.0.0.1:11434,如果改过需要确认

Windows 下命令行找不到 ollama

安装完成后 PowerShell 提示 ollama : 无法将"ollama"项识别为 cmdlet、函数、脚本文件或可运行程序的名称

原因: 安装后 PATH 没有立即生效。

解决方案:

  1. 完全关闭 PowerShell 窗口,重新打开
  2. 如果还不行,重启电脑
  3. 确认安装路径:默认是 C:\Users\<用户名>\AppData\Local\Programs\Ollama,检查这个路径是否在 PATH 中

七、性能参考

不同硬件能跑什么模型?这里给出一个参考表(假设使用 4-bit 量化模型):

硬件配置 CPU 推理 GPU 推理 建议模型
8GB RAM,无独显 3B 及以下 phi3:3.8b, qwen2.5:3b
16GB RAM,无独显 7B llama3.2:3b, mistral:7b
16GB RAM,RTX 3060 (12GB) 7B~14B qwen2.5:14b, gemma2:9b
32GB RAM,RTX 4070 (12GB) 14B 7B~14B qwen2.5:14b, deepseek-r1:14b
32GB RAM,RTX 4090 (24GB) 32B qwen2.5:32b, deepseek-r1:32b
64GB RAM,无独显 32B qwen2.5:32b (慢)
多卡 2×RTX 4090 70B llama3.1:70b, qwen2.5:72b

几点说明:

  • CPU 推理速度慢,生成速度通常只有 2~10 tokens/s,但能跑起来
  • GPU 推理速度快得多,4090 跑 7B 模型可以到 100+ tokens/s
  • 内存/显存不够时,系统会使用交换空间,速度会骤降
  • 实际性能受量化精度、上下文长度、batch size 等因素影响

建议: 先用小模型跑通流程,再根据硬件条件尝试更大的模型。


结尾

Ollama 最大的价值不是性能,是让你以最低成本试错

你想本地跑大模型,可能是为了:

  • 隐私保护,数据不出本地
  • 节省 API 费用
  • 开发测试,不用每次都调云端 API
  • 学习大模型原理

无论哪个目的,Ollama 都能让你在 10 分钟内跑起来一个能用的模型,然后你再决定要不要深入。

它不适合大规模商用场景——那种情况你应该看 vLLM、TensorRT-LLM,或者直接用云服务。但对于开发测试、学习实验、小规模内部工具,Ollama 是目前最省心的选择。

别纠结了,先跑起来再说。


更多推荐