fn read_reasoning_effort(
obj: &Map<String, Value>,
issues: &mut Vec<FieldIssue>,
) -> Option<ReasoningEffort>Expand description
Read the reasoning_effort field.
The one reader in this module that is stricter than llama-server, and the
only one that has to be: upstream validates this field not at all, so an
unrecognised level is not caught anywhere downstream — it is rendered into
the prompt. See InferenceConfig::reasoning_effort for the argument.
- a level, in any case → that level
""→Normalisedto no opinion; llama-server ignores an empty string, so it already means “unset”, and reporting it keeps a client that sends""on every request visible."none"→Rejectedwith a pointer at the field that actually stops thinking. Not silently mapped to anything: it is the one wrong value a client is likely to send on purpose, and mapping it would guess at an intent (0budget? the template default?) that only the client knows.- anything else, including a non-string →
Rejected.