Ollama API 查看模型详情

2026-10-29 19:01 更新

POST /api/show 返回模型的元信息:参数配置、支持的能力、思考档位、架构细节。它是「这个模型能做什么」的权威来源——比看文档猜更可靠。

版本基线 v0.40.12,官方 docs.ollama.com/api-reference/show-model-details。

一、调用

curl http://localhost:11434/api/show -d '{
  "model": "gemma4"
}'

二、最该关注的字段:capabilities

这是接入工具前的必查项:

"capabilities": ["completion", "thinking", "vision"]
能力值 含义
completion 基础文本生成
thinking 支持思考输出
vision 支持图像输入
tools 支持工具调用
embedding 支持嵌入
decision 支持 System One 判断

模型没有 tools,工具调用就一定不work。编码代理接不上、工具不触发,第一个要查的就是这里。

三、thinking 档位

"thinking": {
  "values": [false, true],
  "default": true
}

values 是该模型接受的全部取值,default 是默认值。

有些模型支持命名档位(如 "low"、"high"),此时 values 会是字符串数组。调用时 think 字段传的值必须和这里完全一致,否则回落到默认。

没有思考元数据的模型不会返回这个字段。

四、其他响应字段

字段 说明
parameters 参数配置,以文本形式返回(如 "temperature 0.7\nnum_ctx 2048")
license 许可证全文
modified_at 最后修改时间
template 提示词模板
renderer 生效的对话渲染器(别名已解析)
parser 配置的输出解析器
template_source 提示词的实际来源
details 高层信息(格式、家族、参数量、量化等级)
model_info 底层架构参数(注意力头数、层数、rope 配置等)

template_source 的取值

这个字段解释模型到底怎么渲染提示词:

值 含义
renderer_parser 渲染器 + 解析器组合
renderer 用 Go 渲染器
parser 用 Go 解析器,打包的模板不生效
harmony Harmony 格式
go_template Go 模板
gguf_chat_template 用 GGUF 内嵌的 jinja 模板
none 无

排查「为什么输出格式不对」时这个字段很有用——如果 template_source 是 parser,那你改 Modelfile 里的 TEMPLATE 是无效的。

verbose 参数

curl http://localhost:11434/api/show -d '{
  "model": "gemma4",
  "verbose": true
}'

verbose: true 会返回大体积字段(完整的 model_info、tokenizer 配置等)。默认不开是因为 model_info 可能有上百个键。

五、model_info 里值得看的几项

"model_info": {
  "gemma4.context_length": 131072,
  "gemma4.block_count": 42,
  "gemma4.embedding_length": 2560,
  "gemma4.attention.head_count": 8,
  "gemma4.attention.head_count_kv": 2,
  ...
}
键 用途
*.context_length 模型支持的最大上下文——判断能不能跑 64k 任务
*.block_count 层数,影响显存估算
*.attention.head_count_kv KV 头数,直接决定 KV 缓存大小
*.embedding_length 隐藏维度

context_length: 131072 表示这个模型理论上支持 128k 上下文——但实际能用多少还取决于显存。运行时真实分配值看 /api/ps 的 context_length。

六、Python 示例

import requests

info = requests.post("http://localhost:11434/api/show", json={"model": "gemma4"}).json()

print("能力:", info.get("capabilities"))
print("参数:", info.get("parameters", "").replace("\n", " | "))
print("量化:", info["details"]["quantization_level"])
print("参数量:", info["details"]["parameter_size"])

## 找上下文长度(键名带模型前缀,需模糊匹配)
for k, v in info.get("model_info", {}).items():
    if k.endswith(".context_length"):
        print(f"最大上下文: {v}")
        break

## 思考档位
t = info.get("thinking")
if t:
    print(f"思考档位: {t['values']}  默认: {t['default']}")

常见问题

现象 原因 处理
404 模型不存在 ollama list 核对名字
没有 capabilities 版本太旧 升级 Ollama
想看的架构参数缺失 未开 verbose 加 "verbose": true
能力列表没有 tools 该模型确实不支持 换模型,别硬试
改了 TEMPLATE 无效 template_source 是 parser 改 renderer/parser 配置

动手试

## ① 查能力(接任何工具前先跑这个)
curl -s http://localhost:11434/api/show -d '{"model":"gemma4"}' | python -c "
import sys,json
d=json.load(sys.stdin)
print('能力:', d.get('capabilities'))
print('最大上下文:', [v for k,v in d.get('model_info',{}).items() if k.endswith('.context_length')])"

## ② 看参数配置
curl -s http://localhost:11434/api/show -d '{"model":"gemma4"}' | python -c "
import sys,json;print(json.load(sys.stdin).get('parameters'))"

第一条返回的 capabilities 决定了这个模型能接哪些工具。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号