1.3 Ollama客户端指令和对话指令#
学习目标#
- 熟悉Ollama的客户端命令
- 熟悉Ollama的对话命令
一、客户端命令详解#
Ollama客户端还提供了系列命令,来管理本地大模型,接下来就先了解一下相关命令:

run 命令#
run命令主要用于运行一个大模型,命令格式是:
ollama run MODEL[:Version] [PROMPT] [flags]
比如,运行通义千问命令:
ollama run qwen2:0.5b
[:Version] 可以理解成版本,而版本信息常常以大模型规模来命名,可以不写,不写则模式成latest
ollama run qwen2
等同
ollama run qwen2:latest
[PROMPT] 参数是用户输入的提示词,如果带有此参数则,run命令会执行了输入提示词之后即退出终端,即只对话一次。
[root@bogon ~]# ollama run qwen2:0.5b 您好
您好!有什么问题我可以帮助您?
[root@bogon ~]#
[flags] 指定运行时的参数
Flags:
--format string 指定运行的模型输出格式 (比如. json)
--insecure 使用非安全模,比如在下载模型时会忽略https的安全证书
--keepalive string 指定模型在内存中的存活时间
--nowordwrap 关闭单词自动换行功能
--verbose 开启统计日志信息
例如,在启动时增加 --verbose参数,则在对话时,自动增加统计token信息:
[root@bogon ~]# ollama run qwen2:0.5b --verbose
>>> 您好
欢迎光临,我可以为您提供帮助。有什么问题或需要帮助的地方?
total duration: 1.229917477s
load duration: 3.027073ms
prompt eval count: 10 token(s)
prompt eval duration: 167.181ms
prompt eval rate: 59.82 tokens/s
eval count: 16 token(s)
eval duration: 928.995ms
eval rate: 17.22 tokens/s
pull 命令#
查询模型名称的网站:https://ollama.com/
从远程下载一个模型,命令格式是:
ollama pull MODEL[:Version] [flags]
[:Version] 可以理解成版本,但在这里理解成大模型规模,可以不写,不写则模式成latest
ollama pull qwen2
等同
ollama pull qwen2:latest
[flags] 参数,目前只有一个--insecure参数,用于来指定非安全模式下载数据
ollama pull qwen2 --insecure
list/ls 命令#
查看本地下载的大模型列表,也可以使用简写ls
[root@bogon ~]# ollama list
NAME ID SIZE MODIFIED
qwen2:latest e0d4e1163c58 4.4 GB 10 minutes ago
deepseek-coder:latest 3ddd2d3fc8d2 776 MB 3 hours ago
qwen2:0.5b 6f48b936a09f 352 MB 8 hours ago
[root@bogon ~]# ollama ls
NAME ID SIZE MODIFIED
qwen2:latest e0d4e1163c58 4.4 GB 10 minutes ago
deepseek-coder:latest 3ddd2d3fc8d2 776 MB 3 hours ago
qwen2:0.5b 6f48b936a09f 352 MB 8 hours ago
列表字段说明:
- NAME:名称
- ID:大模型唯一ID
- SIZE:大模型大小
- MODIFIED:本地存活时间
ps 命令#
查看当前运行的大模型列表,PS命令没其它参数
[root@bogon ~]# ollama ps
NAME ID SIZE PROCESSOR UNTIL
deepseek-coder:latest 3ddd2d3fc8d2 1.3 GB 100% CPU About a minute from now
列表字段说明:
- NAME:大模型名称
- ID:唯一ID
- SIZE:模型大小
- PROCESSOR:资源占用
- UNTIL:运行存活时长
rm 命令#
删除本地大模型,RM命令没其它参数
[root@localhost system]# ollama ls
NAME ID SIZE MODIFIED
qwen2:latest e0d4e1163c58 4.4 GB 16 hours ago
deepseek-coder:latest 3ddd2d3fc8d2 776 MB 19 hours ago
qwen2:0.5b 6f48b936a09f 352 MB 24 hours ago
[root@localhost system]# ollama rm qwen2:0.5b
deleted 'qwen2:0.5b'
[root@localhost system]# ollama ls
NAME ID SIZE MODIFIED
qwen2:latest e0d4e1163c58 4.4 GB 16 hours ago
deepseek-coder:latest 3ddd2d3fc8d2 776 MB 19 hours ago
[root@localhost system]#
show 命令#
不用运行大模型,查看模型的信息,与之前所学的/show功能类似。
[root@bogon ~]# ollama show -h
Show information for a model
Usage:
ollama show MODEL [flags]
Flags:
-h, --help 查看使用帮助
--license 查看模型的许可信息
--modelfile 查看模型的制作源文件Modelfile
--parameters 查看模型的内置参数信息
--system 查看模型的内置Sytem信息
--template 查看模型的提示词模版
例如,查看提示词模版:
[root@bogon ~]# ollama show qwen2 --template
{{ if .System }}<|im_start|>system
{{ .System }}<|im_end|>
{{ end }}{{ if .Prompt }}<|im_start|>user
{{ .Prompt }}<|im_end|>
{{ end }}<|im_start|>assistant
{{ .Response }}<|im_end|>
二、对话指令详解#
在Ollama终端中提供了一系列指令,可以用来调整和控制对话模型:

/?指令#
/? 该指令主要是列出支持的指令列表
[root@bogon ~]# ollama run qwen2:0.5b
>>> /?
Available Commands:
/set Set session variables
/show Show model information
/load <model> Load a session or model
/save <model> Save your current session
/clear Clear session context
/bye Exit
/?, /help Help for a command
/? shortcuts Help for keyboard shortcuts
Use """ to begin a multi-line message.
/bye 指令#
退出当前控制台对话, 快捷键: ctrl + d
[root@bogon ~]# ollama run qwen2:0.5b
>>> 您好
你好!有什么可以帮助您的吗?
>>> /bye
[root@bogon ~]#
/show指令#
/show 指令:用于查看当前模型详细信息
> [root@bogon ~]# ollama run qwen2:0.5b
> >>> /show
> Available Commands:
> /show info 查看模型的基本信息
> /show license 查看模型的许可信息
> /show modelfile 查看模型的制作源文件Modelfile
> /show parameters 查看模型的内置参数信息
> /show system 查看模型的内置Sytem信息
> /show template 查看模型的提示词模版
> /show info 查看模型的基本信息
> >>> /show info
> Model details:
> Family qwen2 模型名称
> Parameter Size 494.03M 模型大小
> Quantization Level Q4_0 模型量化级别
> /? shortcuts 指令#
查看在控制台中可用的快捷键
>>> /? shortcuts
Available keyboard shortcuts:
Ctrl + a 移动到行头
Ctrl + e 移动到行尾
Ctrl + b 移动到单词左边
Ctrl + f 移动到单词右边
Ctrl + k 删除游标后面的内容
Ctrl + u 删除游标前面的内容
Ctrl + w 删除游标前面的单词
Ctrl + l 清屏
Ctrl + c 停止推理输出
Ctrl + d 退出对话(只有在没有输入时才生效)
""" 指令#
""" 用于输入内容有换行时使用,如何多行输入结束也使用 """
>>> """
... 您好
... 你是什么模型?
... """
我是一个计算机程序,可以回答您的问题、提供信息和执行任务。请问您有什么问题或者指令想要我帮助您?
/clear 指令#
在命令行终端中对话是自带上下文记忆功能,如果要清除上下文功能,则使用/clear指令清除上下文内容,例如: 前2个问题都关联的,在输入/clear则把前2个问题的内容给清理掉了,第3次提问时则找不到开始的上下文了。
>>> 请帮我出1道java list的单选题
以下是一些关于Java List的单选题:
1. 在Java中,List是哪一种数据结构?
2. Java中的顺序存储方式(例如:使用数组)主要用来做什么?
3. 一个列表对象可以包含哪些类型的元素?
>>> 再出1道
以下是一些关于Java List的单选题:
4. 在Java中,List接口用于创建和操作集合。
5. Java中的顺序存储方式(如:使用数组)的主要优势有哪些?
6. 一个列表对象可以包含哪些类型?
>>> /clear
Cleared session context
>>> 在出1道
很抱歉,我无法理解您的问题。您能否提供更多的背景信息或者问题描述,以便我能更好地帮助您?
/load 指令#
load可以在对话过程中随时切换大模型
>>> 你是什么大模型
我是一个基于开放AI平台的模型,拥有一个强大的数学推理能力,并且在各种自然语言处理任务上都表现优秀。我可以回答您提出的问题,也可以提供与主题相关的信息和建议。如果您有任何问题或需要帮助,
请随时告诉我!
>>> /load deepseek-coder
Loading model 'deepseek-coder'
>>> 你是什么大模型
我是由中国的深度求索(DeepSeek)公司开发的编程智能助手,名为 Deepseek Coder。我主要用于解答和协助计算机科学相关的问题、问题解决方案等任务。我的设计目标是提供最全面准确的高质量服务来帮
助用户理解复杂的新技术或概念并迅速找到它们在实际应用中的实现方法或者原理所在的地方。
/save 指令#
可以把当前对话模型存储成一个新的模型
>>> /save test
Created new model 'test'
保存的模型存储在ollama的model文件中,进入下面路径即可看见模型文件test:
[root@bogon library]# pwd
/root/ollama/manifests/registry.ollama.ai/library
[root@bogon library]# ls
deepseek-coder qwen2 test
/set 指令#
set指令主要用来设置当前对话模型的系列参数
>>> /set
Available Commands:
/set parameter ... 设置对话参数
/set system <string> 设置系统角色
/set template <string> 设置推理模版
/set history 开启对话历史
/set nohistory 关闭对话历史
/set wordwrap 开启自动换行
/set nowordwrap 关闭自动换行
/set format json 输出JSON格式
/set noformat 关闭格式输出
/set verbose 开启对话统计日志
/set quiet 关闭对话统计日志
/set parameter ... 设置对话参数
>>> /set parameter
Available Parameters:
/set parameter seed <int> Random number seed
/set parameter num_predict <int> Max number of tokens to predict
/set parameter top_k <int> Pick from top k num of tokens
/set parameter top_p <float> Pick token based on sum of probabilities
/set parameter num_ctx <int> Set the context size
/set parameter temperature <float> Set creativity level
/set parameter repeat_penalty <float> How strongly to penalize repetitions
/set parameter repeat_last_n <int> Set how far back to look for repetitions
/set parameter num_gpu <int> The number of layers to send to the GPU
/set parameter stop <string> <string> ... Set the stop parameters
| Parameter | Description | Value Type | Example Usage |
|---|---|---|---|
| num_ctx | 设置上下文token大小. (默认: 2048) | int | num_ctx 4096 |
| repeat_last_n | 设置模型要回顾的距离以防止重复. (默认: 64, 0 = 禁用, -1 = num_ctx) | int | repeat_last_n 64 |
| repeat_penalty | 设置惩罚重复的强度。较高的值(例如,1.5)将更强烈地惩罚重复,而较低值(例如,0.9)会更加宽容。(默认值:1.1) | float | repeat_penalty 1.1 |
| temperature | 模型的温度。提高温度将使模型的答案更有创造性。(默认值:0.8) | float | temperature 0.7 |
| seed | 设置用于生成的随机数种子。将其设置为特定的数字将使模型为相同的提示生成相同的文本。(默认值:0) | int | seed 42 |
| stop | 设置停止词。当遇到这种词时,LLM将停止生成文本并返回 | string | stop "AI assistant:" |
| num_predict | 生成文本时要预测的最大标记数。(默认值:128,-1 =无限生成,-2 =填充上下文) | int | num_predict 42 |
| top_k | 减少产生无意义的可能性。较高的值(例如100)将给出更多样化的答案,而较低的值(例如10)将更加保守。(默认值:40) | int | top_k 40 |
| top_p | 与Top-K合作。较高的值(例如,0.95)将导致更多样化的文本,而较低的值(例如,0.5)将产生更集中和保守的文本。(默认值:0.9) | float | top_p 0.9 |
| num_gpu | 设置缓存到GPU显存中的模型层数 | int | 自动计算 |
| JSON格式输出 |
>>> /set format json
Set format to 'json' mode.
>>> 您好
{"response":"你好,欢迎光临,请问有什么我可以帮助您的吗?"}
>>> /set noformat
Disabled format.
>>> 您好
Hello! How can I assist you?
输出对话统计日志
>>> /set verbose
Set 'verbose' mode.
>>> 您好
您好!我需要您的信息,以便回答您的问题。请问您能告诉我更多关于这个主题的信息吗?
total duration: 1.642906162s 总耗时
load duration: 3.401367ms 加载模型数据耗时
prompt eval count: 11 token(s) 提示词token消耗数量
prompt eval duration: 196.52ms 提示词处理耗时
prompt eval rate: 55.97 tokens/s 提示词处理速率
eval count: 24 token(s) 响应token消耗数量
eval duration: 1.304188s 响应处理耗时
eval rate: 18.40 tokens/s 响应处理速率
小结#
Ollama中最常用客户端指令?
- ollama list
- ollama run 模型名
Ollama中常用的对话命令?
- /bye指令 :退出当前控制台对话
- /load指令:可以在对话过程中随时切换大模型
- /clear指令:清除上下文内容