拉取与删除模型

本章介绍如何管理本地模型,包括下载、更新和删除操作。详细介绍如何下载、更新和删除 Ollama 模型,包括离线导入和批量管理。

下载模型

基本下载

使用 ollama pull 命令下载模型:

ollama pull llama3.2

下载过程会显示进度:

pulling manifest
pulling 6a0746a1ec1a... 100% ▕████████████████▏ 2.0 GB
pulling 3cbb33d36c1a... 100% ▕████████████████▏ 4.7 KB
verifying sha256 digest
writing manifest
success

下载指定版本

# 下载特定参数规模
ollama pull llama3.2:1b
ollama pull llama3.2:3b

# 下载特定量化版本
ollama pull llama3.2:3b-q4_0

下载进度说明

下载过程中显示的信息:

信息说明
pulling manifest下载模型清单
pulling xxx...下载模型文件
verifying sha256校验文件完整性
writing manifest写入本地清单
success下载成功

断点续传

如果下载中断,重新运行 ollama pull 会从断点继续:

# 第一次下载中断
ollama pull llama3.2
# Ctrl+C 中断

# 继续下载
ollama pull llama3.2
# 从上次中断的位置继续

更新模型

检查更新

重新运行 ollama pull 会检查并下载更新:

ollama pull llama3.2

如果有新版本:

pulling manifest
pulling new-layer-hash... 100% ▕████████████████▏ 500 MB
updating model
success

如果已是最新:

model llama3.2:latest is already up to date

更新策略

策略说明
手动更新定期运行 ollama pull
自动更新编写脚本定时检查

自动更新脚本示例:

#!/bin/bash
# update-models.sh

models=("llama3.2" "qwen2.5:7b" "mistral:7b")

for model in "${models[@]}"; do
  echo "Updating $model..."
  ollama pull $model
done

删除模型

基本删除

ollama rm llama3.2

确认删除:

delete 'llama3.2'? (y/N)

输入 y 确认。

强制删除

跳过确认直接删除:

ollama rm llama3.2 --force

删除特定版本

ollama rm llama3.2:1b

批量删除

删除多个模型:

ollama rm llama3.2:1b llama3.2:3b

或使用脚本:

# 删除所有 llama3.2 的变体
ollama list | grep "llama3.2" | awk '{print $1}' | xargs -I {} ollama rm {}

查看本地模型

列出所有模型

ollama list

输出:

NAME                ID              SIZE    MODIFIED
llama3.2:latest     a80c4f17acd5    2.0 GB  2 hours ago
llama3.2:1b         b91c4f17acd5    1.3 GB  1 day ago
qwen2.5:7b          c4e1c1e1c1e1    4.7 GB  3 days ago

查看模型详情

ollama show llama3.2

查看模型占用空间

# 查看单个模型
ollama show llama3.2 --modelfile

# 统计所有模型大小
ollama list | tail -n +2 | awk '{sum += $3} END {print "Total: " sum " GB"}'

模型存储

默认存储位置

系统路径
macOS~/.ollama/models
Linux/usr/share/ollama/.ollama/models
WindowsC:\Users<用户名>.ollama\models

修改存储位置

通过环境变量修改:

# Linux/macOS
export OLLAMA_MODELS=/data/ollama/models

# Windows PowerShell
$env:OLLAMA_MODELS = "D:\ollama\models"

存储结构

.ollama/models/
├── manifests/
│   └── registry.ollama.ai/
│       └── library/
│           ├── llama3.2/
│           └── qwen2.5/
└── blobs/
    ├── sha256-xxx
    ├── sha256-yyy
    └── ...

离线导入模型

如果你有 GGUF 格式的模型文件,可以导入到 Ollama。

创建 Modelfile

# 创建 Modelfile
cat > Modelfile << EOF
FROM ./model.gguf
EOF

创建模型

ollama create my-model -f Modelfile

运行导入的模型

ollama run my-model

复制模型

创建副本

ollama cp llama3.2 my-llama

使用场景

  • 创建模型备份
  • 基于现有模型创建自定义版本
  • 重命名模型

模型管理最佳实践

定期清理

# 查看不常用的模型
ollama list

# 删除不需要的模型
ollama rm old-model

版本管理

保留多个版本:

# 下载新版本
ollama pull llama3.2:latest

# 保留旧版本作为备份
ollama cp llama3.2:latest llama3.2:backup

存储空间管理

# 检查存储使用
du -sh ~/.ollama/models

# 清理旧版本
ollama list | grep -v "latest" | awk '{print $1}' | xargs -I {} ollama rm {}

常见问题

下载速度慢

原因: 模型文件较大,服务器可能较远

解决:

  1. 使用代理
  2. 选择较小的模型版本
  3. 使用镜像源

下载失败

原因: 网络问题或服务器问题

解决:

# 重试下载
ollama pull llama3.2

# 检查网络
ping ollama.com

删除失败

原因: 模型正在运行

解决:

# 查看运行中的模型
ollama ps

# 等待模型卸载或重启服务

磁盘空间不足

原因: 模型占用空间大

解决:

# 查看模型大小
ollama list

# 删除不需要的模型
ollama rm unused-model

练习

  1. 下载一个新模型
  2. 查看已下载的模型列表
  3. 复制一个模型并重命名
  4. 删除不需要的模型版本
  5. 检查模型存储空间使用情况