模型的指标


ollama show 命令全解析

ollama show 是 Ollama 中用于查看模型元数据、配置信息、模板规则的核心命令,能直观获取模型的架构、能力、推理参数、Prompt 模板等关键信息,是调试模型、适配开发的必备命令,以下从命令使用方法输出内容逐段详解两部分讲透,结合实际示例,零基础也能看懂。

一、ollama show 核心使用方法

1. 基础语法

ollama show [模型名] [可选参数]
  • 模型名:本地已拉取的模型(如 qwen2.5-coder:7bdeepseek-r1:8bllama3.1:8b-instruct);
  • 可选参数:按需筛选输出内容,避免信息冗余,开发/调试常用。

2. 常用参数(高频实用)

参数 作用 示例 适用场景
无参数 查看模型完整元数据(默认) ollama show qwen2.5-coder:7b 全面了解模型配置
--modelfile 查看模型的Modelfile 构建配置 ollama show deepseek-r1:8b --modelfile 自定义/修改模型配置时参考
--parameters 仅查看模型推理参数(stop/temp 等) ollama show llama3.1:8b-instruct --parameters 调试推理参数、覆盖默认值
--template 仅查看模型的Prompt 模板 ollama show qwen2.5-coder:7b --template 开发时适配模型的Prompt格式
--system 仅查看模型的默认系统提示词 ollama show qwen2.5-coder:7b --system 自定义系统提示、修改模型人设
--license 仅查看模型的开源协议 ollama show deepseek-r1:8b --license 确认商用/非商用权限
-f/--format 指定输出格式(json/yaml ollama show qwen2.5-coder:7b -f json 程序/脚本解析模型信息

3. 实操示例

# 查看qwen2.5-coder:7b的完整信息(最常用)
ollama show qwen2.5-coder:7b

# 仅查看deepseek-r1:8b的Prompt模板(开发对接必备)
ollama show deepseek-r1:8b --template

# 以JSON格式输出llama3.1的参数,方便脚本解析
ollama show llama3.1:8b-instruct --parameters -f json

4. 前置条件

执行前需本地已拉取对应模型,若未拉取,先执行 ollama pull 模型名(如 ollama pull qwen2.5-coder:7b),否则会提示「model not found」。

二、ollama show 输出内容逐段详细讲解

以你之前的实际输出(deepseek-r1:8bqwen2.5-coder:7b)为基础,结合通用模型的输出结构,按模块拆解,每个字段的含义、作用、实操价值都讲清,所有 Ollama 模型的输出都遵循此结构。

模块1:Model - 模型底层硬件/架构核心信息

这是模型的基础属性,决定模型的运行要求、核心能力上限,是部署/选型的关键依据,示例:

Model
  architecture        qwen3
  parameters          8.2B
  context length      131072
  embedding length    4096
  quantization        Q4_K_M
字段 含义 实操价值
architecture 模型底层训练架构(如 qwen2/qwen3/llama3/mistral) 决定模型的Prompt模板、推理逻辑、生态兼容,不同架构的Prompt格式不通用,开发时需匹配;
parameters 模型参数量(如 7.6B/8.2B/70B) 参数量≈模型理解/推理能力,越大能力越强,但对硬件(内存/显卡)要求越高;8B级适合本地部署,70B级需高端显卡/服务器;
context length 上下文窗口(单位:Token) 模型能记住/处理的最大文本长度,1Token≈0.75个中文字;131072(128k)可处理整份文档,32768(32k)适合日常对话/代码,是超长文本处理的核心指标;
embedding length 文本嵌入向量长度 仅影响文本嵌入/检索场景(如把文字转向量做相似度匹配),日常对话/工具调用无需关注;
quantization 模型量化级别(如 Q4_K_M/Q5_K_M/Q8_0) 平衡模型性能硬件占用的关键:<br>✅ Q4_K_M(最常用):本地部署首选,占用内存小(8B级约4-5G内存),推理速度快,精度损失小;<br>✅ Q5_K_M:精度更高,占用略大;<br>✅ Q8_0:接近原生精度,适合服务器,本地不推荐;

模块2:Capabilities - 模型原生支持的核心功能(最关键)

Ollama 对模型的功能硬限制没有标注的能力,强制调用会直接报错(如你之前遇到的 deepseek-r1:8btools 导致工具调用失败),示例:

# deepseek-r1:8b
Capabilities
  completion
  thinking

# qwen2.5-coder:7b
Capabilities
  completion
  tools
  insert
能力值 含义 适用场景
completion 基础文本补全能力 所有大模型都支持,实现对话、写文案、补代码、生成文本等基础功能,是核心基础能力;
tools 工具/函数调用能力 模型能识别需求,按指定格式生成工具调用指令(如调用API、查数据库、执行代码),是对接 Agent、LangChain、New API 的必备能力;无此字段则绝对无法调用工具;
thinking 分步推理/思考能力 模型能拆解复杂问题、分步计算/分析(如数学题、逻辑推理、复杂任务拆解),适合推理型场景;
insert 文本/代码插入能力 模型能在已有文本/代码的中间位置生成内容(而非仅在末尾补全),是代码开发的核心能力(如在代码中间补逻辑、在文案中间加段落);
embeddings 文本嵌入能力 模型能将文字转换为向量,用于文本检索、相似度匹配、知识库问答等场景;

模块3:Parameters - 模型默认推理配置

模型生成内容时的默认行为参数,可在调用时(ollama run/API)通过参数覆盖,若模型未配置自定义参数,此字段会自动省略(如 qwen2.5-coder:7b),示例:

Parameters
  stop           "<|begin▁of▁sentence|>"
  stop           "<|end▁of▁sentence|>"
  stop           "<|User|>"
  stop           "<|Assistant|>"
  temperature    0.6
  top_p          0.95
字段 含义 可调范围 实操价值
stop 停止符(可配置多个) 自定义字符串 模型生成内容时,遇到该字符立即停止,核心作用:<br>1. 避免生成冗余内容;<br>2. 适配模型的Prompt模板,保证输出格式规范;<br>3. 防止模型篡改角色(如助手冒充用户);
temperature 生成随机性 0 ~ 2 0=输出完全固定(确定性高),1=随机性适中,2=高随机(内容多样但可能偏离主题);<br>推理/代码场景设0.1-0.6,创意生成设0.8-1.2;
top_p 核采样阈值 0 ~ 1 temperature 配合控制随机性,通常设0.9-0.95,无需单独修改,随temperature调整即可;
max_tokens 单次最大生成Token数 1 ~ 上下文窗口值 限制模型单次回答的最大长度,避免生成过长内容;
repeat_penalty 重复生成惩罚 1.0 ~ 2.0 防止模型重复生成相同内容(如反复说一句话),值越大惩罚越重,通常设1.1-1.2;

模块4:System - 模型默认系统提示词

模型的原生人设/基础指令,约束模型的回答风格、角色定位,若未配置,此字段会省略,示例:

System
  You are Qwen, created by Alibaba Cloud. You are a helpful assistant.
  • 作用:默认约束模型的行为(如“做一个有用的助手”“专业的代码工程师”);
  • 实操:调用模型时可通过 --system 参数自定义覆盖(如 ollama run qwen2.5-coder:7b --system "你是一名资深Java工程师,回答简洁专业")。

模块5:Template - 模型Prompt 模板(开发对接核心

模型的原生输入格式规则,Ollama 会自动将用户的对话转换为该模板格式传给模型,不同架构/模型的模板不通用,若手动写Prompt,必须遵循此格式,否则模型会回答异常,示例(qwen2 架构模板):

Template
  {%- if messages[0].role == 'system' -%}
    {%- set system_message = messages[0].content -%}
    {%- set messages = messages[1:] -%}
  {%- else -%}
    {%- set system_message = '' -%}
  {%- endif -%}
  {%- for message in messages %}
    {%- if message.role == 'user' -%}
      {{- '<|im_start|>user\n' + message.content + '<|im_end|>\n' -}}
    {%- elif message.role == 'assistant' -%}
      {{- '<|im_start|>assistant\n' + message.content + '<|im_end|>\n' -}}
    {%- elif message.role == 'tool' -%}
      {{- '<|im_start|>tool\n' + message.content + '<|im_end|>\n' -}}
    {%- endif -%}
  {%- endfor -%}
  {{- '<|im_start|>assistant\n' -}}
  • 核心标识:如 qwen2 的 <|im_start|>user/<|im_start|>assistant,deepseek-r1:8b 的 <|User|>/<|Assistant|>
  • 实操价值:通过 ollama show 模型名 --template 查看模板,是代码对接Ollama API、自定义Prompt的必备步骤,确保模型能正确识别用户/助手/工具的角色。

模块6:License - 模型开源协议

模型的使用权限说明,决定个人/企业能否免费使用、商用、二次开发,示例:

License
  MIT License
  Copyright (c) 2023 DeepSeek
  ...
  • 常见友好协议:MIT、Apache 2.0(个人/企业可免费使用、商用,无授权限制);
  • 受限协议:非商业用途(仅个人使用,禁止商用)、需申请授权等;
  • 实操价值:商用前必须查看,避免侵权。

三、关键补充:不同模型输出差异的原因

部分模型会省略某些模块(如 qwen2.5-coder:7b 省略 Parameters),并非模型没有该属性,而是Ollama的兜底机制

当模型的Modelfile中未配置自定义参数/系统提示时,Ollama会使用全局默认值,此时 ollama show 会省略对应模块,不影响模型使用,且所有默认值都能在调用时手动覆盖。

例如:

  • qwen2.5-coder:7b 未配置自定义 Parameters → 省略该模块,使用Ollama全局默认值(temperature=0.7、top_p=0.9、stop=</s>);
  • deepseek-r1:8b 配置了自定义 stop 符 → 显示 Parameters 模块,使用自定义值。

四、ollama show 核心使用场景总结

  1. 模型选型:通过 Model 模块看参数量、上下文窗口,Capabilities 看是否支持工具/推理,选择适配场景的模型;
  2. 开发对接:通过 --template 查看Prompt模板,--capabilities 确认工具调用能力,保证代码和模型兼容;
  3. 调试优化:通过 --parameters 查看默认推理参数,调用时覆盖(如调低temperature提升推理准确性);
  4. 权限确认:通过 --license 查看开源协议,确认商用/二次开发权限;
  5. 自定义模型:通过 --modelfile 查看模型的构建配置,基于此修改并创建自定义模型(如添加stop符、修改系统提示)。

五、高频实操组合命令

# 1. 快速查看模型是否支持工具调用(开发必备)
ollama show 模型名 | grep -A 5 Capabilities

# 2. 查看模型的Prompt模板并保存到本地,方便开发参考
ollama show 模型名 --template > 模型名-template.txt

# 3. 以JSON格式输出所有推理参数,供脚本/程序解析
ollama show 模型名 --parameters -f json > 模型名-params.json

# 4. 一次性查看模型的模板+系统提示+能力,适配Agent开发
ollama show 模型名 --template --system --capabilities

评论