Summary
The Ollama-compatible /api/show returns a details object whose fields are empty strings, and no capabilities key.
curl -s -X POST http://localhost:12434/api/show \
-H "Content-Type: application/json" -d '{"model":"ai/functiongemma"}' | jq
{"details": {"format": "gguf", "family": "", "families": [""],
"parameter_size": "", "quantization_level": ""}}
For reference, Ollama returns capabilities from this endpoint (e.g. ["completion","vision","tools","thinking"]), and clients commonly use it to decide whether to offer tool-using features for a given model.
The other surfaces do not carry this information either:
GET /engines/v1/models returns {"id","object","created","owned_by","dmr"}
docker model inspect ai/functiongemma returns config, created, id, tags
As a result, a client written against the Ollama-compatible API cannot determine what a model supports.
A second, smaller problem is that the details fields are empty strings rather than missing keys, so callers may read them as real values.
Suggested resolution
Populate capabilities and the details fields in /api/show, matching the Ollama-compatible contract.
Related: #1045. When tool support is missing at runtime, the response does not indicate it, so the absence cannot be detected after the fact either.
Environment
- Model Runner client
v1.2.6, Docker Desktop engine 29.7.2
- Backend
llama.cpp b9879-metal, macOS, Apple Silicon
- Model:
ai/functiongemma
Summary
The Ollama-compatible
/api/showreturns adetailsobject whose fields are empty strings, and nocapabilitieskey.{"details": {"format": "gguf", "family": "", "families": [""], "parameter_size": "", "quantization_level": ""}}For reference, Ollama returns
capabilitiesfrom this endpoint (e.g.["completion","vision","tools","thinking"]), and clients commonly use it to decide whether to offer tool-using features for a given model.The other surfaces do not carry this information either:
GET /engines/v1/modelsreturns{"id","object","created","owned_by","dmr"}docker model inspect ai/functiongemmareturnsconfig,created,id,tagsAs a result, a client written against the Ollama-compatible API cannot determine what a model supports.
A second, smaller problem is that the
detailsfields are empty strings rather than missing keys, so callers may read them as real values.Suggested resolution
Populate
capabilitiesand thedetailsfields in/api/show, matching the Ollama-compatible contract.Related: #1045. When tool support is missing at runtime, the response does not indicate it, so the absence cannot be detected after the fact either.
Environment
v1.2.6, Docker Desktop engine29.7.2llama.cpp b9879-metal, macOS, Apple Siliconai/functiongemma