Ollama常用命令精选:新手必学的10个核心操作
基础命令
先别急着上手,从最常用的基础命令入手是最稳妥的。模型管理无非就是拉取、运行、查看、删除这几步,掌握了这些,后续的高级操作才能信手拈来。
模型管理
# 拉取模型 ollama pull <模型名> ollama pull llama2 # 拉取 Llama 2 ollama pull qwen:7b # 拉取通义千问 7B ollama pull qwen2.5:7b # 拉取 Qwen2.5 7B ollama pull deepseek-r1:7b # 拉取 DeepSeek-R1 # 运行模型 ollama run <模型名> ollama run llama2 # 运行模型并进入交互模式 # 列出已安装模型 ollama list # 查看模型详情 ollama show <模型名> # 删除模型 ollama rm <模型名>
这里有个小窍门:如果只是想临时体验某个模型,可以直接ollama run,Ollama会自动帮你拉取并运行,一次搞定。
模型创建与自定义
如果说拉取运行是“点外卖”,那创建自定义模型就是“自己下厨”。通过Modelfile,你可以像写配方一样精确控制模型的行为。
# 从 Modelfile 创建模型 ollama create <新模型名> -f ./Modelfile # 复制模型 ollama cp <源模型> <目标模型>
服务管理
模型跑起来了,但要想让它稳定提供服务,还得学会管理后台服务。无论是本地调试还是生产环境,下面这些命令都绕不开。
启动服务
# 前台启动服务 ollama serve # 后台启动(Linux/macOS) ollama serve & # 作为系统服务(Linux) sudo systemctl start ollama sudo systemctl stop ollama sudo systemctl restart ollama sudo systemctl status ollama
如果只是在开发机上自己用,前台启动就够了;生产环境推荐用systemd托管,自动重启、日志管理都方便很多。
服务配置
# 设置环境变量 export OLLAMA_HOST=0.0.0.0:11434 # 监听所有网络接口 export OLLAMA_MODELS=/path/to/models # 自定义模型存储路径 export OLLAMA_KEEP_ALIVE=5m # 模型在内存中的保持时间
高级命令
基础操作玩熟了,就该解锁一些高阶玩法了。比如停止运行中的模型、把自己的模型推到仓库、或者更精细地控制模型参数。
模型操作
# 停止运行中的模型 ollama stop <模型名> # 推送到仓库 ollama push <用户名>/<模型名>:<标签> # 从 Modelfile 构建 ollama create example -f ./Modelfile
Modelfile 示例
Modelfile 是自定义模型的灵魂。下面这个例子展示了如何调整温度、上下文长度、系统提示等核心参数。
FROM llama2 # 设置参数 PARAMETER temperature 0.8 PARAMETER top_p 0.9 # 设置系统提示词 SYSTEM """ 你是一个有帮助的助手。 """ # 导入模型权重 # ADAPTER ./lora.bin
API 相关
如果你的项目需要把Ollama集成到自己的应用中,那API是必不可少的一环。直接调用REST接口,比命令行更灵活。
常用 API 端点
# 生成补全
curl http://localhost:11434/api/generate -d '{
"model": "llama2",
"prompt": "为什么天空是蓝色的?"
}'
# 聊天模式
curl http://localhost:11434/api/chat -d '{
"model": "llama2",
"messages": [
{"role": "user", "content": "你好!"}
]
}'
# 列出本地模型
curl http://localhost:11434/api/tags
实用技巧
日常使用中,一些批量操作、参数设置和模型选择的小技巧,能帮你省下不少时间。
批量操作
# 批量拉取常用模型 ollama pull llama2 ollama pull mistral ollama pull qwen:7b ollama pull neural-chat # 查看所有命令帮助 ollama --help # 查看特定命令帮助 ollama run --help
模型运行参数
# 运行并设置参数 ollama run llama2 --temperature 0.5 --top_p 0.9 --num_predict 512
常用模型推荐
# 聊天对话 ollama run llama2 # Meta 的 Llama 2 ollama run qwen:7b # 阿里通义千问 ollama run deepseek-r1 # DeepSeek 推理模型 # 代码生成 ollama run codellama # 代码专用模型 # 数学推理 ollama run wizard-math # 数学推理模型 # 中文优化 ollama run qwen2.5 # 最新的 Qwen2.5 系列
精挑细选的话,日常聊天用qwen2.5:7b体验就很好,代码任务交给codellama,数学推理则wizard-math更靠谱。
故障排查
遇到问题别慌,先看看日志和连接测试。绝大多数问题都能靠这几招解决。
# 查看日志 journalctl -u ollama -f # Linux systemd 日志 tail -f ~/.ollama/logs/server.log # 直接查看日志文件 # 测试连接 curl http://localhost:11434 # 重置数据 rm -rf ~/.ollama/models/* # 清理所有模型
掌握了上面这些命令,日常使用Ollama基本畅通无阻。接下来再深入拆解每个主要命令的细节和实际场景。
详细命令解析
1. ollama pull - 下载模型
# 基本用法 ollama pull llama2 # 指定版本标签 ollama pull llama2:7b # 7B 参数版本 ollama pull llama2:13b # 13B 参数版本 ollama pull llama2:latest # 最新版本 # 从私有仓库拉取 ollama pull myregistry.com/mynamespace/mymodel:latest
实际应用场景:
- 首次使用某个模型时需要拉取
- 更新已下载的模型版本
- 准备离线环境时预先下载
2. ollama run - 运行模型
# 交互式聊天模式 ollama run llama2 >>> 你好! # 直接输入内容对话 >>> /help # 查看内置命令 >>> /exit # 退出 # 单次查询模式 ollama run llama2 "Python 中如何读取文件?" # 带参数运行 ollama run llama2 --temperature 0.7 --num-predict 2048 # 从文件输入 ollama run llama2 < input.txt
内置命令:
# 在对话界面中可以使用 /help # 显示帮助 /set temperature 0.8 # 设置温度参数 /set system "你是助手" # 设置系统提示词 /sa ve session1 # 保存当前会话 /load session1 # 加载历史会话 /clear # 清除上下文 /exit # 退出
3. ollama create - 创建自定义模型
# 从 Modelfile 创建 ollama create mymodel -f ./Modelfile # 从已有模型创建 ollama create mymodel --from llama2
Modelfile 详细示例:
# 基础模型
FROM qwen:7b
# 调整模型参数
PARAMETER temperature 0.7
PARAMETER top_p 0.9
PARAMETER top_k 40
PARAMETER num_ctx 4096 # 上下文长度
PARAMETER num_predict 1024 # 最大生成长度
PARAMETER repeat_penalty 1.1 # 重复惩罚
# 系统提示词
SYSTEM """
你是一个专业的编程助手,擅长 Python 和 Web 开发。
回答要简洁准确,必要时提供代码示例。
"""
# 模型模板
TEMPLATE """
### 用户问题:
{{ .Prompt }}
### 助手回答:
"""
# 消息历史格式
MESSAGE system 你是一个助手
MESSAGE user 你好
MESSAGE assistant 你好!有什么可以帮你?
# 指定 LoRA 适配器(如果有)
ADAPTER ./my-lora-adapter.bin
# 指定许可证
LICENSE MIT
4. ollama serve - 启动服务
# 默认启动(监听 127.0.0.1:11434) ollama serve # 允许外部访问 export OLLAMA_HOST=0.0.0.0:11434 ollama serve # 指定模型存储路径 export OLLAMA_MODELS=/data/ollama/models ollama serve # 设置并发处理 export OLLAMA_NUM_PARALLEL=4 ollama serve
作为服务运行(Linux):
# 创建 systemd 服务 sudo nano /etc/systemd/system/ollama.service [Unit] Description=Ollama Service After=network-online.target [Service] Environment="OLLAMA_HOST=0.0.0.0:11434" Environment="OLLAMA_MODELS=/opt/ollama/models" ExecStart=/usr/local/bin/ollama serve User=ollama Group=ollama Restart=always RestartSec=3 [Install] WantedBy=default.target # 启用服务 sudo systemctl enable ollama sudo systemctl start ollama
5. ollama list 和 ollama show
# 列出所有模型 ollama list # 输出示例: # NAME ID SIZE MODIFIED # llama2:7b xxxxxx 3.8G 2 days ago # qwen:7b yyyyyy 4.1G 5 hours ago # 查看模型详细信息 ollama show llama2 # 显示模型架构、参数、配置等 # 查看 Modelfile ollama show llama2 --modelfile # 显示创建该模型使用的配置
6. ollama push/pull - 模型仓库操作
# 推送到 Ollama 仓库 ollama push username/mymodel:latest # 推送到私有仓库 ollama push myregistry.com/username/mymodel # 设置仓库认证 export OLLAMA_REGISTRY_USER="username" export OLLAMA_REGISTRY_PASS="password" ollama push username/mymodel
7. ollama cp/rm - 模型管理
# 复制模型(创建新变体)
ollama cp llama2:7b my-custom-llama
# 删除模型
ollama rm llama2:7b
ollama rm llama2:13b
ollama rm qwen:7b
# 强制删除(忽略错误)
ollama rm -f llama2:7b
# 删除所有模型
ollama list | tail -n +2 | awk '{print $1}' | xargs -I {} ollama rm {}
实战场景示例
光看命令列表可能还不过瘾,下面几个真实场景可以帮你把命令串起来用。
场景1:创建专用编程助手
# 1. 创建 Modelfile cat > Modelfile-python << 'EOF' FROM codellama PARAMETER temperature 0.2 PARAMETER num_predict 1024 SYSTEM """ 你是一个 Python 专家,提供: 1. 简洁的代码示例 2. 解释工作原理 3. 指出可能的错误 """ EOF # 2. 创建模型 ollama create python-helper -f ./Modelfile-python # 3. 运行测试 ollama run python-helper "用 Python 实现快速排序"
场景2:批量处理文本
# 创建处理脚本 cat > process_texts.sh << 'EOF' #!/bin/bash MODEL="llama2" while read -r line; do echo "处理: $line" ollama run $MODEL "总结这段文字: $line" echo "---" done < input.txt EOF chmod +x process_texts.sh ./process_texts.sh
场景3:API 服务器配置
# Python 客户端示例
import requests
import json
# 生成回复
response = requests.post('http://localhost:11434/api/generate',
json={
"model": "llama2",
"prompt": "写一首关于春天的诗",
"stream": False
})
# 聊天模式
response = requests.post('http://localhost:11434/api/chat',
json={
"model": "llama2",
"messages": [
{"role": "system", "content": "你是一个诗人"},
{"role": "user", "content": "写一首诗"}
],
"stream": True
})
场景4:性能调优
# 生产环境配置 export OLLAMA_HOST=0.0.0.0:11434 export OLLAMA_MODELS=/mnt/fast-disk/ollama/models # 使用 SSD export OLLAMA_KEEP_ALIVE=600s # 模型在内存中保持10分钟 export OLLAMA_NUM_PARALLEL=4 # 并行处理数 export OLLAMA_MAX_LOADED_MODELS=2 # 最多同时加载2个模型 ollama serve # 性能测试 time ollama run llama2 "Hello"
常见问题解决
最后列几个高频问题,遇到了直接参考就行。
内存不足
# 限制模型使用的内存 ollama run llama2 --num-ctx 1024 # 使用较小的量化版本 ollama pull llama2:7b-q4_0
连接超时
# 设置超时参数 export OLLAMA_CONNECTION_TIMEOUT=300 # 测试连接 curl -m 300 http://localhost:11434/api/generate ...
磁盘空间清理
# 查看占用
du -sh ~/.ollama/models/*
# 清理未使用的模型
ollama rm $(ollama list | grep "weeks ago" | awk '{print $1}')
从基础命令到实战调优,这份手册基本覆盖了Ollama的日常操作。如果遇到哪个环节卡住了,不妨回头翻翻对应命令的详解,应该能快速定位问题。
