From ea08aa05da25a737fbaeace1d5234ab624a96fa5 Mon Sep 17 00:00:00 2001 From: foxplaying <166147707+foxplaying@users.noreply.github.com> Date: Thu, 21 Aug 2025 03:40:59 +0800 Subject: [PATCH] =?UTF-8?q?fix(gemini):=20=E5=AF=B9=20thinking=5Fbudget=20?= =?UTF-8?q?=E4=B8=8D=E5=90=8C=E6=A8=A1=E5=9E=8B=E7=9A=84=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/llm_models/model_client/gemini_client.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/llm_models/model_client/gemini_client.py b/src/llm_models/model_client/gemini_client.py index fced85e1..e5601046 100644 --- a/src/llm_models/model_client/gemini_client.py +++ b/src/llm_models/model_client/gemini_client.py @@ -343,9 +343,15 @@ class GeminiClient(BaseClient): @staticmethod def clamp_thinking_budget(tb: int, model_id: str) -> int: """ - 按模型限制思考预算范围,仅支持指定的模型 + 按模型限制思考预算范围,仅支持指定的模型(支持带数字后缀的新版本) """ - limits = THINKING_BUDGET_LIMITS.get(model_id) + # 前缀匹配 + limits = None + for key, val in THINKING_BUDGET_LIMITS.items(): + if model_id.startswith(key): + limits = val + break + if limits is None: raise ValueError(f"模型 {model_id} 不支持 ThinkingConfig") if tb == GeminiClient.TB_DYNAMIC_MODE: