本章介绍如何管理本地模型,包括下载、更新和删除操作。详细介绍如何下载、更新和删除 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 |
| Windows | C:\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
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 {}
原因: 模型文件较大,服务器可能较远
解决:
原因: 网络问题或服务器问题
解决:
# 重试下载
ollama pull llama3.2
# 检查网络
ping ollama.com
原因: 模型正在运行
解决:
# 查看运行中的模型
ollama ps
# 等待模型卸载或重启服务
原因: 模型占用空间大
解决:
# 查看模型大小
ollama list
# 删除不需要的模型
ollama rm unused-model