From 926b94a1bcbc1dad3ce07e0ebcb0fc178e950b16 Mon Sep 17 00:00:00 2001 From: Ruben Ortlam Date: Sat, 30 May 2026 08:51:06 +0200 Subject: [PATCH] server: allow API calls to set a lower thinking budget if a global budget is set --- tools/server/server-common.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tools/server/server-common.cpp b/tools/server/server-common.cpp index fb71792fe6..47c2dcd768 100644 --- a/tools/server/server-common.cpp +++ b/tools/server/server-common.cpp @@ -1123,8 +1123,11 @@ json oaicompat_chat_params_parse( // Reasoning budget: pass parameters through to sampling layer { int reasoning_budget = opt.reasoning_budget; - if (reasoning_budget == -1 && body.contains("thinking_budget_tokens")) { - reasoning_budget = json_value(body, "thinking_budget_tokens", -1); + if (body.contains("thinking_budget_tokens")) { + int req_budget = json_value(body, "thinking_budget_tokens", -1); + if (reasoning_budget == -1 || (req_budget != -1 && req_budget < reasoning_budget)) { + reasoning_budget = req_budget; + } } if (!chat_params.thinking_end_tag.empty()) {