From 70966c219fcb2dc45fd72a6e84a03a1ab74900dd Mon Sep 17 00:00:00 2001 From: "Claude (backend session)" Date: Sat, 22 Aug 2026 00:39:26 +0300 Subject: [PATCH] Switch the Gemini thinking knob to the standard compatibility parameter after the vendor rejected the nested form --- eval/dovodka/rol.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/eval/dovodka/rol.py b/eval/dovodka/rol.py index f71028cd..74190d09 100644 --- a/eval/dovodka/rol.py +++ b/eval/dovodka/rol.py @@ -508,7 +508,10 @@ def call_kwargs(model: str, msgs: list[dict], arm: str = "") -> dict: if lvl == "budget": # ⚠ У Gemini уровень задаётся БЮДЖЕТОМ, а не словом: `thinking_budget` в google-секции # (квирк-бюллетень :54). `-1` — динамический бюджет, то есть «думай сколько нужно». - eb["google"] = {**(eb.get("google") or {}), "thinking_config": {"thinking_budget": -1}} + # ⚠ Форма `extra_body.google.thinking_config.thinking_budget` (квирк-бюллетень :54) вендором + # ОТВЕРГНУТА 22.08: HTTP 400 «Unknown name "google"» — тот же класс, что отказ на + # `safety_settings`. Пробуем стандартную для OpenAI-слоя ручку. + eb["reasoning_effort"] = "high" elif lvl == "vendor": # снимаем ЛЮБОЕ наше подавление: у Z.ai это `thinking.disabled`, у OpenAI — `effort: low` eb.pop("thinking", None)