Ollama CLI 参考
ollama 一条命令背后其实藏着一整套工具:拉模型、跑模型、看运行状态、做自定义模型、起服务、登录账号,全在这一个二进制里。这一篇把常用命令和环境变量一次讲清,当作随时可查的手册。
版本基线 v0.40.12。命令与参数随版本演进较快,遇到不一致时以本机
ollama <命令& --help的输出为准(那永远是当前版本最准的文档)。
一、命令速查
| 命令 | 作用 | 典型用法 |
|---|---|---|
ollama run |
运行模型(进入交互对话) | ollama run gemma4 |
ollama launch |
启动并配置外部应用接入 Ollama | ollama launch claude |
ollama pull |
下载模型 | ollama pull gemma4 |
ollama push |
推送模型到模型库 | ollama push 用户名/模型名 |
ollama ls |
列出本地已有模型 | ollama ls |
ollama ps |
列出正在运行的模型 | ollama ps |
ollama show |
查看模型信息(参数、模板、能力、音色) | ollama show gemma4 |
ollama stop |
停止运行中的模型,释放显存 | ollama stop gemma4 |
ollama rm |
删除本地模型 | ollama rm gemma4 |
ollama cp |
复制模型为新名字 | ollama cp gemma4 my-gemma |
ollama create |
用 Modelfile 创建自定义模型 | ollama create -f Modelfile |
ollama serve |
启动 Ollama 服务(HTTP API) | ollama serve |
ollama signin / signout |
登录 / 退出 Ollama 账号 | ollama signin |
两个容易记混的点先说明:
- 列表命令是
ollama ls,不是ollama list。 旧版叫list,新版统一改成了ls(和 Unix 习惯一致)。如果你在网上看到ollama list,那是旧教程。 ollama create要配-f指定 Modelfile。 不是ollama create 名字,而是先写一个Modelfile文件,再ollama create -f Modelfile(模型名默认取文件里的FROM与目录名,也可用ollama create 名字 -f Modelfile显式指定)。
二、run:最常用的那条命令
## 最简单的用法:拉取(如未下载)并进入交互对话
ollama run gemma4
多行输入
交互模式里想输入多行内容,用三引号包起来:
>>> """Hello,
... world!
... """
I'm a basic program that prints the famous "Hello, world!" message to the console.
""" 开始后回车换行继续输入,再输入 """ 结束并提交。写多行提示词、贴一段代码让模型解释时很好用。
图片输入
把图片路径直接写在问题后面:
## 路径跟在提示词末尾,模型会读取该图片
ollama run gemma4 "What's in this image? /Users/jmorgan/Desktop/smile.png"
生成嵌入向量
模型选嵌入模型时,run 的输出就是向量(JSON 数组):
ollama run embeddinggemma "Hello world"
也支持管道输入,方便脚本处理:
echo "Hello world" | ollama run nomic-embed-text
问决策模型
决策模型(如 nimble)用 --ask 提问,配 --choice 选标签、--level 打分:
## 是/否判断,输入用管道或重定向传入
ollama run nimble --ask "Is a refund being requested?" < ticket.txt
## 在标签中选一个
ollama run nimble --ask "Which team should handle this?" \
--choice billing="Payments and refunds" \
--choice technical="Software problems" < ticket.txt
## 按等级打分(--level 从低到高排列)
ollama run nimble --ask "How urgent is this?" \
--level "Routine" \
--level "Soon" \
--level "Immediate" < ticket.txt
判断的"状态"(待判断的文本)可以是管道输入,也可以直接写在模型名后面;可以是纯文本,也可以是 JSON。详细机制见 3.4 Ollama 决策(Decision)。
语音模型
## 直接朗读
ollama run phonon "Hello from Ollama."
## 指定音色
ollama run phonon --voice Zoey "Hi, this is Zoey."
## 输出重定向到文件时,不播放而是写成 WAV
ollama run phonon "Save this to a file." > speech.wav
不带文本运行会进入逐行朗读模式。完整用法见 3.7 Ollama 语音(Speech)。
交互模式里的斜杠命令
进入 ollama run 后,以 / 开头的行是命令而不是提问。几个常用的:
| 命令 | 作用 |
|---|---|
/set parameter num_ctx 8192 |
临时修改该会话的上下文长度 |
/show info |
显示模型信息 |
/show parameters |
显示当前生效的参数 |
/clear |
清空对话上下文,重新开始 |
/bye |
退出(也可以 Ctrl+D) |
三、launch:一条命令把外部应用接上
ollama launch 是较新加入的命令,用来配置并启动支持 Ollama 的外部应用,省掉手动改配置文件的过程。
## 交互式选择:列出可用集成让你挑
ollama launch
## 直接启动某个集成
ollama launch claude
## 指定使用哪个模型
ollama launch claude --model qwen3.5
## 只写配置,不启动应用
ollama launch droid --config
官方列出的支持集成:
- OpenCode —— 开源编码助手
- Claude Code —— Anthropic 的 agent 编码工具
- Codex —— OpenAI 的编码助手
- VS Code —— 微软 IDE 的内置 AI 对话
- Droid —— Factory 的 AI 编码 agent
--config 这个参数很实用:先把配置写进去,然后自己去应用里启动,观察配置文件改了什么,出问题容易回滚。
四、模型管理:pull / push / ls / ps / rm / cp / show
## 下载模型(会自动选择适合你硬件的量化版本)
ollama pull gemma4
## 列出本地模型(含体积与修改时间)
ollama ls
## 列出正在运行的模型(含占用的显存/内存、到期时间)
ollama ps
## 查看模型详情:参数、模板、能力、音色等
ollama show gemma4
## 停止运行中的模型,立刻释放显存
ollama stop gemma4
## 删除本地模型
ollama rm gemma4
## 复制模型为新名字(常用于基于已有模型改配置)
ollama cp gemma4 my-gemma
ls 和 ps 的区别值得记住:ls 是磁盘上有哪些模型,ps 是内存里正在跑哪些模型。排查"为什么显存被占了"要看 ps,排查"为什么找不到模型"要看 ls。
show 是排查问题的第一个入口。它能告诉你模型支持哪些能力(tools、thinking、vision、speech 等)、上下文长度多少、用了什么模板。比如判断一个模型能不能思考,直接 ollama show 模型名 看能力列表比翻文档快。
push 用于把自己的自定义模型发布到 ollama.com 模型库(需要先 ollama signin,并保证模型名是 用户名/模型名 格式):
ollama push 用户名/模型名
五、create:用 Modelfile 造一个自己的模型
流程固定两步。先写 Modelfile:
FROM gemma4
SYSTEM """You are a happy cat."""
再执行创建:
ollama create -f Modelfile
FROM 指定基础模型,SYSTEM 设定系统提示词。Modelfile 能做的事远不止这些——参数、模板、消息示例都能写,详见 5.1 Ollama Modelfile 参考。
六、serve:启动服务与全部可调环境变量
## 启动 HTTP 服务(默认监听 127.0.0.1:11434)
ollama serve
想看当前版本支持哪些环境变量,直接:
ollama serve --help
这一条命令的输出,比任何文档都贴合你装的版本。
常用环境变量
| 变量 | 作用 | 默认值 |
|---|---|---|
OLLAMA_HOST |
服务监听地址与端口 | 127.0.0.1:11434 |
OLLAMA_MODELS |
模型存储目录 | 见下节平台路径 |
OLLAMA_KEEP_ALIVE |
模型在内存中的保留时长 | 5m |
OLLAMA_CONTEXT_LENGTH |
默认上下文窗口大小 | 4096 |
OLLAMA_NUM_PARALLEL |
每个模型同时处理的请求数 | 1 |
OLLAMA_MAX_LOADED_MODELS |
同时加载的模型数上限 | GPU 的 3 倍,CPU 为 3 |
OLLAMA_MAX_QUEUE |
繁忙时最多排队的请求数,超出返回 503 | 512 |
OLLAMA_FLASH_ATTENTION |
强制开启(1)或关闭(0)Flash Attention |
自动判断 |
OLLAMA_KV_CACHE_TYPE |
K/V 缓存量化类型:f16 / q8_0 / q4_0 |
f16 |
OLLAMA_ORIGINS |
允许跨域访问的来源 | 仅 127.0.0.1 与 0.0.0.0 |
OLLAMA_NO_CLOUD |
设为 1 关闭云端功能(本地纯离线) |
未设置 |
OLLAMA_DEBUG |
输出调试日志 | 未设置 |
几个变量的实际影响,说清楚比列出来更有用:
OLLAMA_NUM_PARALLEL 会成倍放大内存。上下文长度是按并行数累加的:2K 上下文 × 4 并行 = 8K 上下文,显存占用随之上升。小显存机器把它设成 1(默认)最稳。
OLLAMA_KV_CACHE_TYPE 是省显存的关键开关,但前提是 Flash Attention 已启用。q8_0 大约把 K/V 缓存压到 f16 的一半,精度损失很小,通常感觉不到差异;q4_0 压到四分之一,但上下文越长损失越明显。GQA 头数多的模型(如 Qwen 系列)对量化更敏感。
OLLAMA_KEEP_ALIVE 决定"第二次提问是否要重新加载模型"。默认 5 分钟,频繁调用的场景适当调大能省掉重复加载的几秒;用 ollama stop 可以立刻卸载。
OLLAMA_NO_CLOUD=1 是纯本地部署时要设的——关掉云端模型与网络搜索,确保没有任何请求出网。也可以在 ~/.ollama/server.json 里写 {"disable_ollama_cloud": true} 达到同样效果。
七、模型存在哪,怎么搬家
默认路径按平台区分:
| 平台 | 路径 |
|---|---|
| macOS | ~/.ollama/models |
| Linux | /usr/share/ollama/.ollama/models |
| Windows | C:\Users\<用户名>\.ollama\models |
要换到别的盘(模型动辄几十 GB,C 盘吃紧时很必要),设 OLLAMA_MODELS 指向新目录即可。
Linux 上用官方安装脚本装的 Ollama 以 ollama 用户运行,新目录必须先授权,否则会报权限错误:
## 把新模型目录的属主改成 ollama 用户
sudo chown -R ollama:ollama /data/ollama-models
Windows 和 macOS 走图形界面安装的,改完环境变量后要完全退出 Ollama 再重启,只重启窗口不算。
八、环境变量在各平台怎么设
设了不生效,八成是没设到服务实际读取的位置。三个平台各有讲究:
macOS(应用方式运行):用 launchctl,设完要重启应用。
launchctl setenv OLLAMA_HOST "0.0.0.0:11434"
Linux(systemd 服务):编辑服务单元,在 [Service] 段加 Environment,然后重载。
sudo systemctl edit ollama.service
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
sudo systemctl daemon-reload
sudo systemctl restart ollama
Windows:先在任务栏退出 Ollama,再到「编辑账户的环境变量」里新增,最后从开始菜单重新启动。
九、跨网访问与代理
想让局域网其他机器访问 Ollama:
## 注意:这会监听所有网卡,等于把无鉴权的 API 暴露给整个网络
OLLAMA_HOST=0.0.0.0:11434 ollama serve
⚠️ Ollama 的 API 没有任何认证机制。开放到 0.0.0.0 意味着同网段任何人都能调用你的模型、甚至读取模型信息。只在内网可信环境这么做,公网请在前面加一层带鉴权的反向代理。
浏览器前端直连时可能遇到跨域拦截。默认只允许 127.0.0.1 和 0.0.0.0,其他来源要显式加:
## 允许来自指定站点与浏览器扩展的请求
OLLAMA_ORIGINS=https://myapp.example.com,chrome-extension://* ollama serve
内网走代理下载模型时,只设 HTTPS_PROXY:
export HTTPS_PROXY=http://proxy.example.com:8080
官方特别提醒不要设 HTTP_PROXY——模型拉取只走 HTTPS,设了反而可能干扰客户端与服务端的连接。
十、退出与账号
## 登录 Ollama 账号(云端模型、凭证管理需要)
ollama signin
## 退出
ollama signout
登录是使用 2.1 Ollama Cloud 概览 里云端模型的前提,也是 push 发布模型的前提。
本篇是命令层面的索引。想深挖参数与模板,接下一篇 5.1 Ollama Modelfile 参考;想调整上下文长度对性能与显存的影响,见 6.1 Ollama 上下文长度。