Family defaults¶
gmlx reads each model's family from its GGUF header and starts every
request from the sampling values that the family's publisher recommends.
Some families also publish values for a task, which gmlx offers as intents
such as @coding and @reasoning-high.
gmlx profiles # every family and its intents
gmlx profiles qwen3.8-27b-ud-q6 # the resolved values of one configured model
The table lists the base values of each family and what each of its intents
changes. An intent that a family does not list runs with the base values.
The values come from the publishers' model cards and generation configs.
The default row holds generic values for any other architecture.
Some GGUFs carry their publisher's sampling values in the header, as
general.sampling.* keys. Each of these replaces the family's value, and
your own profiles still win over them. gmlx profiles <id> shows the values
a model ends up with.
| Family | GGUF architectures | Base values | Intents |
|---|---|---|---|
qwen3.6 |
qwen35, qwen35moe, qwen3next, qwen4exp |
temperature=1.0 top_p=0.95 top_k=20 min_p=0.0 | @coding: temperature=0.6; @instruct: temperature=0.7 top_p=0.8 presence_penalty=1.5 enable_thinking=False |
qwen3 |
qwen3, qwen3moe, qwen3vlmoe |
temperature=0.6 top_p=0.95 top_k=20 min_p=0.0 | @instruct: temperature=0.7 top_p=0.8 enable_thinking=False |
qwen2.5 |
qwen2, qwen2moe |
temperature=0.7 top_p=0.8 top_k=20 repetition_penalty=1.05 | - |
gemma |
gemma, gemma2, gemma3, gemma3n, gemma4, diffusion-gemma |
temperature=1.0 top_p=0.95 top_k=64 | - |
gpt-oss |
gpt-oss |
temperature=1.0 top_p=1.0 thinking_start_token=<|start|>assistant<|channel|>analysis<|message|> thinking_end_token=<|end|> | @reasoning-high: reasoning_effort=high; @reasoning-low: reasoning_effort=low; @reasoning-medium: reasoning_effort=medium |
glm |
glm4, glm4moe, glm-dsa, glm5-next, glm5next |
temperature=1.0 top_p=0.95 | - |
deepseek |
deepseek2, deepseek4 |
temperature=0.6 top_p=0.95 | - |
deepseek41 |
deepseek41 |
temperature=1.0 top_p=0.95 | @reasoning-high: reasoning_effort=high; @reasoning-low: reasoning_effort=low; @reasoning-max: reasoning_effort=max |
minimax |
minimax-m2 |
temperature=1.0 top_p=0.95 top_k=40 | - |
minimax-m3 |
minimax-m3 |
temperature=1.0 top_p=0.95 top_k=40 thinking_start_token=<mm:think> thinking_end_token=</mm:think> | - |
nemotron |
nemotron_h_moe |
temperature=1.0 top_p=0.95 | @instruct: enable_thinking=False; @reasoning-medium: medium_effort=True |
nemotron-transcribe |
nemotron_h_moe named (?i)nemotron-3\.5-transcribe |
temperature=0.6 top_p=0.95 top_k=0 thinking_budget=16384 | @instruct: temperature=0.0 top_p=1.0 enable_thinking=False |
hunyuan |
hunyuan-moe |
temperature=0.7 top_p=0.8 top_k=20 repetition_penalty=1.05 | - |
hy3 |
hy_v3 |
temperature=0.9 thinking_start_token=<think:opensource> thinking_end_token=</think:opensource> | @reasoning-high: reasoning_effort=high; @reasoning-low: reasoning_effort=low |
hy4 |
hyv4 |
temperature=0.9 top_p=1.0 thinking_start_token=<think:6124c78e> thinking_end_token=</think:6124c78e> | @reasoning-high: reasoning_effort=high; @reasoning-low: reasoning_effort=low |
kimi |
kimi-k3 |
temperature=1.0 top_p=0.95 thinking_start_token=<|open|>think<|sep|> thinking_end_token=<|close|>think<|sep|> | @reasoning-high: thinking_effort=high; @reasoning-low: thinking_effort=low; @reasoning-max: thinking_effort=max |
kimi-k2 |
deepseek2 named (?i)\bkimi |
temperature=1.0 top_p=0.95 | - |
muse |
muse-glimmer |
temperature=1.0 top_p=0.95 top_k=64 thinking_start_token=<|start|>assistant to=self<|message|> thinking_end_token=<|eom|> | @reasoning-high: reasoning_strength=high; @reasoning-low: reasoning_strength=low; @reasoning-medium: reasoning_strength=medium; @reasoning-xhigh: reasoning_strength=xhigh |
muse-spark |
muse-spark |
temperature=1.0 top_p=1.0 top_k=64 thinking_start_token=<|start|>assistant to=self<|message|> thinking_end_token=<|eom|> | @reasoning-high: reasoning_effort=high; @reasoning-low: reasoning_effort=low; @reasoning-medium: reasoning_effort=medium; @reasoning-xhigh: reasoning_effort=xhigh |
k2-horizon |
k2-horizon |
temperature=1.0 top_p=0.95 | @reasoning-high: reasoning_effort=high; @reasoning-low: reasoning_effort=low; @reasoning-medium: reasoning_effort=medium |
beam |
beam |
temperature=0.7 top_p=0.99 thinking_start_token=<|start|>assistant<|channel|>analysis<|message|> thinking_end_token=<|end|> | @reasoning-high: reasoning_effort=high; @reasoning-low: reasoning_effort=low; @reasoning-medium: reasoning_effort=medium |
flint |
flint |
temperature=1.0 top_p=0.95 top_k=20 | - |
llama |
llama, smollm3 |
temperature=0.6 top_p=0.9 | - |
mistral |
mistral3 |
temperature=0.15 | - |
default |
(anything else) | temperature=0.7 top_p=0.95 | @coding: temperature=0.3; @creative: temperature=1.0 min_p=0.05 |
The sampling values of a family, of the header's general.sampling.* keys
and of your profiles change only which token the server samples. The
logprobs that a request gets do not depend on them.
How a request gets its settings
explains how the defaults combine with your own profiles, and
models.*.family replaces one model's detected
family.