Ollama 提供了一套简洁的命令行工具,本章将介绍所有常用命令。全面介绍 Ollama 的命令行工具,包括模型管理、服务控制、信息查看等常用命令。
在终端输入 ollama 可以看到所有可用命令:
ollama
输出:
Usage:
ollama [flags]
ollama [command]
Available Commands:
serve Start ollama
create Create a model from a Modelfile
show Show information for a model
run Run a model
pull Pull a model from a registry
push Push a model to a registry
list List models
ps List running models
cp Copy a model
rm Remove a model
help Help about any command
Flags:
-h, --help help for ollama
-v, --version version for ollama
启动 Ollama 服务端:
ollama serve
通常不需要手动运行这个命令,因为:
使用场景:
指定监听地址:
OLLAMA_HOST=0.0.0.0:11434 ollama serve
运行并进入模型对话:
ollama run <模型名称>
示例:
# 运行模型
ollama run llama3.2
# 运行指定版本
ollama run llama3.2:3b
# 直接传入提示词
ollama run llama3.2 "写一首关于春天的诗"
参数选项:
ollama run llama3.2 --verbose
| 参数 | 说明 |
|---|---|
| --verbose | 显示详细输出 |
从模型库下载模型:
ollama pull <模型名称>
示例:
# 下载最新版本
ollama pull llama3.2
# 下载指定版本
ollama pull llama3.2:3b
# 下载中文模型
ollama pull qwen2.5:7b
参数选项:
ollama pull llama3.2 --insecure
| 参数 | 说明 |
|---|---|
| --insecure | 使用不安全的 HTTP 连接 |
将本地模型上传到仓库:
ollama push <模型名称>
示例:
# 上传到默认仓库
ollama push my-model
# 上传到指定命名空间
ollama push username/my-model
注意:需要先登录 Ollama 账号才能上传模型。
列出本地所有已下载的模型:
ollama list
输出示例:
NAME ID SIZE MODIFIED
llama3.2:latest a80c4f17acd5 2.0 GB 2 hours ago
llama3.1:8b 8eebce8e5a1a 4.7 GB 1 day ago
qwen2.5:7b c4e1c1e1c1e1 4.7 GB 3 days ago
mistral:latest 2ae6f7dd2933 4.1 GB 1 week ago
字段说明:
| 字段 | 说明 |
|---|---|
| NAME | 模型名称和标签 |
| ID | 模型唯一标识 |
| SIZE | 模型占用空间 |
| MODIFIED | 最后修改时间 |
查看当前正在运行的模型:
ollama ps
输出示例:
NAME ID SIZE PROCESSOR UNTIL
llama3.2 a80c4f17acd5 5.2 GB 100% GPU 4 minutes from now
字段说明:
| 字段 | 说明 |
|---|---|
| NAME | 模型名称 |
| ID | 模型标识 |
| SIZE | 运行时占用内存 |
| PROCESSOR | 处理器类型(GPU/CPU) |
| UNTIL | 模型在内存中保留的时间 |
显示模型的详细信息:
ollama show <模型名称>
示例:
ollama show llama3.2
输出:
Model
architecture llama
parameters 3.2B
context length 131072
embedding length 3072
quantization Q4_K_M
Parameters
stop "<|start_header_id|>"
stop "<|end_header_id|>"
stop "<|eot_id|>"
License
LLAMA 3.2 COMMUNITY LICENSE AGREEMENT
查看模型文件信息:
ollama show llama3.2 --modelfile
输出:
# Modelfile generated by "ollama show"
# To build a new Modelfile based on this, replace FROM:
FROM llama3.2
TEMPLATE """{{ .System }}<|start_header_id|>user<|end_header_id|>
{{ .Prompt }}<|eot_id|><|start_header_id|>assistant<|end_header_id|>
"""
PARAMETER stop "<|start_header_id|>"
PARAMETER stop "<|end_header_id|>"
PARAMETER stop "<|eot_id|>"
参数选项:
| 参数 | 说明 |
|---|---|
| --modelfile | 显示 Modelfile 内容 |
| --system | 显示系统提示词 |
| --license | 显示许可证信息 |
从 Modelfile 创建自定义模型:
ollama create <模型名称> -f <Modelfile路径>
示例:
# 从 Modelfile 创建
ollama create my-model -f ./Modelfile
# 从当前目录的 Modelfile 创建
ollama create my-model
Modelfile 示例:
FROM llama3.2
SYSTEM 你是一个专业的 Python 编程助手
PARAMETER temperature 0.7
复制模型到新名称:
ollama cp <源模型> <目标模型>
示例:
ollama cp llama3.2 my-llama
这在以下场景很有用:
删除本地模型:
ollama rm <模型名称>
示例:
ollama rm llama3.2
删除时会提示确认:
delete 'llama3.2'? (y/N)
输入 y 确认删除。
强制删除:
ollama rm llama3.2 --force
for model in llama3.2 mistral qwen2.5:7b; do
ollama pull $model
done
# 只保留 llama3.2,删除其他
ollama list | tail -n +2 | grep -v "llama3.2" | awk '{print $1}' | xargs -I {} ollama rm {}
ollama list | tail -n +2 | awk '{sum += $3} END {print "Total: " sum " GB"}'
Ollama 支持通过环境变量配置行为:
| 变量 | 说明 | 默认值 |
|---|---|---|
| OLLAMA_HOST | 服务地址 | 127.0.0.1:11434 |
| OLLAMA_MODELS | 模型存储路径 | ~/.ollama/models |
| OLLAMA_ORIGINS | 允许的跨域来源 | 127.0.0.1 |
| OLLAMA_DEBUG | 启用调试模式 | false |
使用示例:
# 指定服务地址
OLLAMA_HOST=0.0.0.0:11434 ollama serve
# 指定模型存储路径
OLLAMA_MODELS=/data/models ollama pull llama3.2
| 命令 | 功能 | 示例 |
|---|---|---|
| serve | 启动服务 | ollama serve |
| run | 运行模型 | ollama run llama3.2 |
| pull | 下载模型 | ollama pull llama3.2 |
| push | 上传模型 | ollama push my-model |
| list | 列出模型 | ollama list |
| ps | 运行中的模型 | ollama ps |
| show | 模型详情 | ollama show llama3.2 |
| create | 创建模型 | ollama create my-model -f Modelfile |
| cp | 复制模型 | ollama cp llama3.2 my-llama |
| rm | 删除模型 | ollama rm llama3.2 |
可能是服务未启动或网络问题:
# 检查服务状态
ollama ps
# 重启服务
ollama serve
如果模型正在运行,需要先停止:
# 查看运行中的模型
ollama ps
# 等待模型自动卸载或重启服务
使用引号包裹:
ollama run "model:with-special-chars"