Ollama 是一个轻量级、可扩展的本地大语言模型运行框架,通过简洁的命令行工具即可管理模型的生命周期。本文档详细介绍了所有常用命令及其用法,帮助你高效地使用 Ollama。
视频安装教程
📌 基础命令
ollama list(或 ollama ls)
列出本地已下载的所有模型及其元数据。
ollama list
输出示例:
NAME ID SIZE MODIFIED
llama3.2:latest 6b7c1b1c2e3a 4.0 GB 2 days ago
qwen2.5:7b 9a5f2d8e7c6b 3.9 GB 1 week ago
ollama pull <模型名>
从远程仓库(默认 Ollama 官方库)下载指定的模型到本地。
ollama pull llama3.2
支持标签:
- 可指定版本标签,如
llama3.2:7b、qwen2.5:7b-instruct。不指定则默认为latest。
常用选项:
--insecure:允许下载非 HTTPS 仓库中的模型(不推荐)。--registry:指定私有仓库地址。
ollama run <模型名>
启动一个交互式对话会话,或直接向模型发送提示词并输出结果。
# 交互模式(进入对话)
ollama run llama3.2
# 单次推理(非交互)
ollama run llama3.2 "What is the capital of France?"
交互模式下常用内部命令:
| 命令 | 说明 |
|---|---|
/bye |
退出交互式会话 |
/exit |
同上 |
/clear |
清除当前会话的历史上下文 |
/set |
设置会话参数(如温度、top_p 等) |
/show |
显示当前模型的元数据 |
/help |
显示帮助信息 |
运行参数:
- 可在启动时通过环境变量或
ollama run后添加--传递临时参数,例如:ollama run llama3.2 --temperature 0.7 --top_p 0.9
ollama stop <模型名>
立即停止正在运行的模型,释放其占用的内存和显存资源。
ollama stop llama3.2
注意:
- 如果模型当前正在处理请求,停止操作会中断该请求。
- 停止后,模型会从
ollama ps的输出中消失。
ollama rm <模型名>
从本地永久删除指定的模型。
ollama rm llama3.2
删除前建议:
- 先执行
ollama ps确认模型未运行。 - 若模型正在运行,使用
ollama stop停止后再删除。
ollama ps
显示当前正在内存中运行的模型列表(即正在服务中的模型)。
ollama ps
输出示例:
NAME ID SIZE PROCESSOR UNTIL
llama3.2 6b7c1b1c2e3a 4.0 GB 100% GPU 4m 32s
UNTIL列显示模型将在多久后自动卸载(基于keep_alive设置)。
🛠️ 高级命令
ollama show <模型名>
显示指定模型的详细信息,包括参数、模板、系统提示词等。
ollama show llama3.2
输出内容:
- MODEL:模型文件路径
- PARAMETERS:推理参数(温度、top_p 等)
- TEMPLATE:对话模板
- SYSTEM:系统提示词(如果定义过)
- LICENSE:许可证信息
常用选项:
--modelfile:以 Modelfile 格式输出模型配置。
ollama create <新模型名> -f <Modelfile路径>
从自定义的 Modelfile 创建一个新模型。
ollama create my-llama -f ./Modelfile
Modelfile 示例:
FROM llama3.2
PARAMETER temperature 0.5
SYSTEM "You are a helpful assistant that speaks like a pirate."
常用选项:
-f:指定 Modelfile 文件路径。-q:静默模式,不输出详细信息。
ollama cp <源模型名> <目标模型名>
复制一个已有的模型到新名称。
ollama cp llama3.2 llama3.2-backup
用途: 用于备份模型或创建变体前保留原始版本。
ollama push <模型名>
将本地模型推送到远程仓库(需要登录认证)。
ollama push my-registry/llama3.2
注意: 推送前需先使用 ollama login 登录私有仓库。
ollama login
登录到远程模型仓库(支持私有仓库)。
ollama login my-registry.example.com
交互流程: 提示输入用户名和密码或 API Token。
⚙️ 服务管理命令
ollama serve
启动 Ollama 服务(通常作为守护进程运行)。
ollama serve
说明:
- 当 Ollama 作为后台服务运行时,该命令会阻塞终端,用于调试。
- 生产环境中通常通过 systemd 或 launchd 管理。
ollama version
显示当前安装的 Ollama 版本号。
ollama version
输出示例:
ollama version 0.1.17
🌐 API 相关
Ollama 默认启动一个 HTTP API 服务(端口 11434),可通过 curl 或任何 HTTP 客户端调用。
常用 API 端点(非 CLI 命令,但强烈建议了解)
| 端点 | 方法 | 说明 |
|---|---|---|
/api/generate |
POST | 生成文本(流式或非流式) |
/api/chat |
POST | 多轮对话 |
/api/tags |
GET | 列出本地模型(同 ollama list) |
/api/show |
POST | 显示模型详情 |
/api/ps |
GET | 查看运行中的模型(同 ollama ps) |
/api/pull |
POST | 下载模型(同 ollama pull) |
/api/delete |
DELETE | 删除模型(同 ollama rm) |
示例(使用 curl 进行聊天):
curl http://localhost:11434/api/chat -d '{
"model": "llama3.2",
"messages": [{"role": "user", "content": "Hello!"}]
}'
🔧 环境变量与配置
Ollama 的行为可通过环境变量调整:
| 变量 | 说明 | 默认值 |
|---|---|---|
OLLAMA_HOST |
API 服务监听的地址和端口 | 127.0.0.1:11434 |
OLLAMA_MODELS |
模型存储目录 | ~/.ollama/models |
OLLAMA_KEEP_ALIVE |
全局模型闲置超时时间(如 5m、30s) |
5m |
OLLAMA_NUM_PARALLEL |
允许并行处理的请求数 | 自动检测 |
OLLAMA_MAX_LOADED_MODELS |
最大同时加载的模型数量 | 自动检测 |
OLLAMA_DEBUG |
启用调试日志 | false |
设置方式(示例):
export OLLAMA_HOST=0.0.0.0:11434 # 允许外部访问
export OLLAMA_KEEP_ALIVE=10m # 延长闲置时间
ollama serve
📖 常见工作流示例
1. 首次使用:下载并运行模型
ollama pull llama3.2 # 下载模型
ollama run llama3.2 # 进入交互式对话
2. 创建自定义模型
# 编写 Modelfile
cat > Modelfile << EOF
FROM llama3.2
PARAMETER temperature 0.3
SYSTEM "You are a professional tech support assistant."
EOF
# 创建模型
ollama create tech-assist -f ./Modelfile
# 测试
ollama run tech-assist "My laptop won't boot."
3. 管理后台模型
ollama ps # 查看正在运行的模型
ollama stop llama3.2 # 停止特定模型
ollama rm llama3.2 # 删除不再需要的模型
4. API 调用(Python 示例)
import requests
import json
response = requests.post('http://localhost:11434/api/generate',
json={
"model": "llama3.2",
"prompt": "Why is the sky blue?",
"stream": False
})
print(response.json()['response'])
❓ 常见问题
Q: ollama run 退出后模型还在内存中吗?
A: 退出交互会话后,模型会根据 keep_alive 设置保持一段时间(默认 5 分钟),之后自动卸载。可使用 ollama stop 立即停止。
Q: 如何修改默认的 keep_alive 时间?
A: 启动 Ollama 服务前设置环境变量 OLLAMA_KEEP_ALIVE,或在 API 请求中显式指定 keep_alive 字段。
Q: 模型存储路径太占磁盘空间,如何移动?
A: 设置 OLLAMA_MODELS 环境变量指向新目录,并确保 Ollama 服务重启后生效。
Q: 如何查看模型下载进度?
A: ollama pull 会显示实时进度条;API 调用 /api/pull 可流式获取进度信息。
暂无评论