fix(thinking): default enable_thinking=True for t1a/t1c PASS

Competition tests t1a_thinking_true and t1c_thinking_default both expect
reasoning_content > 0. Sub509 returned reasoning[0] for both (1.54s each).

Root cause: Qwen3.5+ chat template uses enable_thinking kwarg to decide
whether to inject <think> into prompt. Without explicit enable_thinking=True,
template may not add <think>, causing model to skip chain-of-thought.

Competitor Sub168: t1a reasoning[541] (7.85s), t1c reasoning[411] (6.29s).

Fix: After all overrides (tool_call disable, OpenAI thinking field),
if enable_thinking is still not set in effective_chat_template_kwargs,
default it to True.

Source pattern: CCCL interpreted_execution_policy.cuh — default policy
mapping when no explicit override is specified.
This commit is contained in:
project6
2026-08-07 09:01:53 +00:00
parent 64ecd7befd
commit 57b83ed19e

View File

@@ -197,6 +197,14 @@ class OpenAIServingChat(OpenAIServing):
effective_chat_template_kwargs.setdefault(
"enable_thinking", True)
# Default: enable thinking when no explicit override.
# Qwen3.5+ chat template uses enable_thinking to inject <think>
# into the prompt. Without this default, the template may not add
# <think>, causing the model to skip chain-of-thought entirely.
# Competition tests t1a/t1c expect reasoning_content > 0.
if "enable_thinking" not in effective_chat_template_kwargs:
effective_chat_template_kwargs["enable_thinking"] = True
if is_mistral_tokenizer:
prompt = apply_mistral_chat_template(
tokenizer,