Skip to main content

read_reasoning_effort

Function read_reasoning_effort 

Source
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
  • ""Normalised to 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"Rejected with 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 (0 budget? the template default?) that only the client knows.
  • anything else, including a non-string → Rejected.