Skip to content

CLI 参考

Ollama 提供了强大的命令行界面(CLI),让您可以轻松管理和使用大语言模型。

基本语法

bash
ollama [全局选项] 命令 [命令选项] [参数...]

全局选项

  • --help, -h: 显示帮助信息
  • --version, -v: 显示版本信息

核心命令

run - 运行模型

运行指定的模型并开始交互式对话。

bash
ollama run <模型名> [选项]

示例:

bash
# 运行 Gemma 3 模型
ollama run gemma3

# 运行模型并传入初始提示
ollama run gemma3 "解释量子计算的基本原理"

# 启用网络搜索
ollama run gemma3 --web-search

# 设置自定义参数
ollama run gemma3 --temperature 0.8 --top-p 0.9

选项:

  • --web-search: 启用网络搜索功能
  • --temperature <值>: 设置温度参数(0.0-2.0)
  • --top-p <值>: 设置 top-p 参数(0.0-1.0)
  • --max-tokens <数量>: 设置最大令牌数
  • --format json: 以 JSON 格式输出响应

pull - 下载模型

从 Ollama 库下载模型到本地。

bash
ollama pull <模型名>[:<>]

示例:

bash
# 下载最新版本的 Gemma 3
ollama pull gemma3

# 下载特定标签的模型
ollama pull gemma3:latest

# 下载其他模型
ollama pull qwen3
ollama pull deepseek-r1

push - 上传模型

将本地模型上传到 Ollama 库。

bash
ollama push <模型名>[:<>]

示例:

bash
# 上传自定义模型
ollama push my-custom-model

# 上传带标签的模型
ollama push my-custom-model:v1.0

list - 列出模型

显示本地已安装的所有模型。

bash
ollama list

输出示例:

NAME            ID              SIZE    MODIFIED
gemma3:latest   abc123def456    4.1GB   2 hours ago
qwen3:latest    def456ghi789    7.2GB   1 day ago
deepseek-r1     ghi789jkl012    13GB    3 days ago

show - 显示模型信息

显示指定模型的详细信息。

bash
ollama show <模型名>[:<>]

示例:

bash
ollama show gemma3

输出示例:

Model
  arch: gemma
  parameters: 9B
  quantization: Q4_0
  families: [gemma]
  family: gemma
  parameter_size: 9B
  quantization_level: Q4_0

Parameters
  stop: ["<|im_end|>", "<|im_start|>"]

Template

System
  You are a helpful assistant.

rm - 删除模型

删除本地已安装的模型。

bash
ollama rm <模型名>[:<>]

示例:

bash
# 删除指定模型
ollama rm gemma3

# 删除特定标签的模型
ollama rm gemma3:latest

cp - 复制模型

创建模型的副本。

bash
ollama cp <源模> <目标模>

示例:

bash
# 复制模型
ollama cp gemma3 my-gemma3

# 复制并重命名
ollama cp gemma3:latest gemma3:backup

create - 创建模型

从 Modelfile 创建自定义模型。

bash
ollama create <模型名> -f <Modelfile路>

示例:

bash
# 从 Modelfile 创建模型
ollama create my-model -f ./Modelfile

# 创建带标签的模型
ollama create my-model:v1.0 -f ./Modelfile

serve - 启动服务器

启动 Ollama API 服务器。

bash
ollama serve [选项]

选项:

  • --host <地址>: 指定绑定地址(默认:127.0.0.1)
  • --port <端口>: 指定端口号(默认:11434)

示例:

bash
# 启动默认服务器
ollama serve

# 指定地址和端口
ollama serve --host 0.0.0.0 --port 8080

ps - 显示运行中的模型

显示当前正在运行的模型进程。

bash
ollama ps

输出示例:

NAME            ID              SIZE    PROCESSOR    UNTIL
gemma3:latest   abc123def456    4.1GB   100% GPU     4 minutes from now

高级用法

管道操作

您可以将 Ollama 与其他命令行工具结合使用:

bash
# 处理文件内容
cat document.txt | ollama run gemma3 "总结这个文档"

# 批处理
echo "解释人工智能" | ollama run gemma3 --format json

脚本集成

在脚本中使用 Ollama:

bash
#!/bin/bash

# 检查模型是否存在
if ollama list | grep -q "gemma3"; then
    echo "模型已存在"
else
    echo "正在下载模型..."
    ollama pull gemma3
fi

# 运行模型
result=$(echo "今天是美好的一天" | ollama run gemma3 "翻译成英文")
echo "翻译结果: $result"

环境变量

Ollama 支持以下环境变量:

  • OLLAMA_HOST: 设置服务器地址(默认:http://localhost:11434
  • OLLAMA_MODELS: 设置模型存储目录
  • OLLAMA_KEEP_ALIVE: 设置模型保持活跃时间
  • OLLAMA_NUM_PARALLEL: 设置并行请求数量
  • OLLAMA_MAX_LOADED_MODELS: 设置最大加载模型数量

示例:

bash
# 设置自定义服务器地址
export OLLAMA_HOST=http://192.168.1.100:11434

# 设置模型目录
export OLLAMA_MODELS=/custom/models/path

# 运行命令
ollama list

配置文件

全局配置

Ollama 会在以下位置查找配置文件:

  • Linux/macOS: ~/.ollama/config.json
  • Windows: %USERPROFILE%\.ollama\config.json

配置示例:

json
{
  "host": "0.0.0.0:11434",
  "models_path": "/custom/models",
  "keep_alive": "5m",
  "num_parallel": 4,
  "max_loaded_models": 3
}

故障排除

常见问题

问题: 命令未找到

bash
ollama: command not found

解决方案: 确保 Ollama 已正确安装并添加到 PATH

问题: 连接被拒绝

bash
Error: connection refused

解决方案: 确保 Ollama 服务器正在运行:

bash
ollama serve

问题: 模型下载失败

bash
Error: failed to pull model

解决方案: 检查网络连接和模型名称是否正确

调试选项

启用详细输出:

bash
# 设置调试级别
export OLLAMA_DEBUG=1
ollama run gemma3

# 查看详细日志
ollama serve --verbose

性能优化

GPU 加速

确保 GPU 驱动正确安装:

bash
# 检查 GPU 状态
ollama ps

# 强制使用 CPU
OLLAMA_NUM_GPU=0 ollama run gemma3

内存管理

bash
# 设置模型保持时间
OLLAMA_KEEP_ALIVE=10m ollama run gemma3

# 限制并发模型数量
OLLAMA_MAX_LOADED_MODELS=1 ollama serve

更多资源


CLI 是使用 Ollama 最直接的方式,掌握这些命令可以帮助您更高效地管理和使用大语言模型。

让大语言模型触手可及 - Get up and running with large language models