--reasoning-effort: control thinking intensity (verified honored)
The adapter dropped reasoning_effort/thinking from the payload, so the
middle rung of the ladder (es reference: full 98.3 / effort_low 94 /
no-think 82.3 on humaneval) was unreachable. Both keys now pass
through; --reasoning-effort {minimal,low,medium,high,max} overrides
the YAML, and config/effort_low.yaml mirrors default.yaml with
reasoning_effort: low for one-command low-thinking runs.
Probe on the endpoint: same question, default = 319 chars reasoning /
262 tok, low = 47 chars / 117 tok -- the server honors it.
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
5e98f6b701
commit
80194e845e
@ -800,6 +800,9 @@ def _cmd_eval_run(args) -> int:
|
|||||||
_shared_reporter.owned_externally = True
|
_shared_reporter.owned_externally = True
|
||||||
progress_reporter = _shared_reporter
|
progress_reporter = _shared_reporter
|
||||||
|
|
||||||
|
if getattr(args, 'reasoning_effort', ''):
|
||||||
|
args._gen_override = {**(getattr(args, '_gen_override', {}) or {}),
|
||||||
|
'reasoning_effort': args.reasoning_effort}
|
||||||
if model_spec: # generate + score in one go
|
if model_spec: # generate + score in one go
|
||||||
from evalharness.model import run_eval
|
from evalharness.model import run_eval
|
||||||
|
|
||||||
@ -1207,6 +1210,11 @@ def build_parser() -> argparse.ArgumentParser:
|
|||||||
"profile.default < profile['<bench>'] < explicit kwargs")
|
"profile.default < profile['<bench>'] < explicit kwargs")
|
||||||
p.add_argument('--disable-thinking', action='store_true',
|
p.add_argument('--disable-thinking', action='store_true',
|
||||||
help='send enable_thinking=false to the OpenAI-compatible model')
|
help='send enable_thinking=false to the OpenAI-compatible model')
|
||||||
|
p.add_argument('--reasoning-effort', default='',
|
||||||
|
choices=('', 'minimal', 'low', 'medium', 'high', 'max'),
|
||||||
|
help="thinking intensity (GLM/Anthropic-style; verified "
|
||||||
|
"working on the sglang endpoint: low shrinks reasoning "
|
||||||
|
"~85%%). Overrides the YAML config")
|
||||||
p.add_argument('--perf', action='store_true',
|
p.add_argument('--perf', action='store_true',
|
||||||
help='collect streaming TTFT and ITL metrics')
|
help='collect streaming TTFT and ITL metrics')
|
||||||
p.add_argument('--textools', action='store_true',
|
p.add_argument('--textools', action='store_true',
|
||||||
|
|||||||
84
evalharness/config/effort_low.yaml
Normal file
84
evalharness/config/effort_low.yaml
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
# 低思考档:全库参数同 default.yaml,仅追加 reasoning_effort: low
|
||||||
|
# 用法: evalharness eval run ... --config effort_low
|
||||||
|
default:
|
||||||
|
temperature: 0.0
|
||||||
|
top_p: 1.0
|
||||||
|
stream: true
|
||||||
|
max_tokens: 32768
|
||||||
|
reasoning_effort: low
|
||||||
|
aime24:
|
||||||
|
temperature: 1.0
|
||||||
|
repeats: 12
|
||||||
|
max_tokens: 8192
|
||||||
|
reasoning_effort: low
|
||||||
|
aime25:
|
||||||
|
temperature: 1.0
|
||||||
|
repeats: 12
|
||||||
|
max_tokens: 8192
|
||||||
|
reasoning_effort: low
|
||||||
|
aime26:
|
||||||
|
temperature: 1.0
|
||||||
|
repeats: 12
|
||||||
|
max_tokens: 8192
|
||||||
|
reasoning_effort: low
|
||||||
|
hmmt26:
|
||||||
|
temperature: 1.0
|
||||||
|
repeats: 12
|
||||||
|
max_tokens: 8192
|
||||||
|
reasoning_effort: low
|
||||||
|
imo_answerbench:
|
||||||
|
temperature: 1.0
|
||||||
|
reasoning_effort: low
|
||||||
|
gpqa_diamond:
|
||||||
|
temperature: 1.0
|
||||||
|
repeats: 3
|
||||||
|
max_tokens: 8192
|
||||||
|
reasoning_effort: low
|
||||||
|
mmlu:
|
||||||
|
max_tokens: 8192
|
||||||
|
reasoning_effort: low
|
||||||
|
mmlu_pro:
|
||||||
|
max_tokens: 8192
|
||||||
|
reasoning_effort: low
|
||||||
|
cmmlu:
|
||||||
|
max_tokens: 8192
|
||||||
|
reasoning_effort: low
|
||||||
|
arc:
|
||||||
|
max_tokens: 8192
|
||||||
|
reasoning_effort: low
|
||||||
|
hellaswag:
|
||||||
|
max_tokens: 8192
|
||||||
|
reasoning_effort: low
|
||||||
|
winogrande:
|
||||||
|
max_tokens: 8192
|
||||||
|
reasoning_effort: low
|
||||||
|
simple_qa:
|
||||||
|
max_tokens: 8192
|
||||||
|
reasoning_effort: low
|
||||||
|
trivia_qa:
|
||||||
|
max_tokens: 8192
|
||||||
|
reasoning_effort: low
|
||||||
|
humaneval:
|
||||||
|
temperature: 1.0
|
||||||
|
repeats: 3
|
||||||
|
reasoning_effort: low
|
||||||
|
live_code_bench:
|
||||||
|
temperature: 1.0
|
||||||
|
reasoning_effort: low
|
||||||
|
longbench_v2:
|
||||||
|
max_tokens: 8192
|
||||||
|
max_input_tokens: 128000
|
||||||
|
reasoning_effort: low
|
||||||
|
openai_mrcr:
|
||||||
|
max_tokens: 8192
|
||||||
|
max_input_tokens: 128000
|
||||||
|
reasoning_effort: low
|
||||||
|
bfcl_v3:
|
||||||
|
max_tokens: 4096
|
||||||
|
reasoning_effort: low
|
||||||
|
general_fc:
|
||||||
|
max_tokens: 4096
|
||||||
|
reasoning_effort: low
|
||||||
|
tau2_bench:
|
||||||
|
max_tokens: 16384
|
||||||
|
reasoning_effort: low
|
||||||
@ -380,7 +380,8 @@ class OpenAICompatible(ModelAdapter):
|
|||||||
]
|
]
|
||||||
payload.pop('chat_template_kwargs', None)
|
payload.pop('chat_template_kwargs', None)
|
||||||
for k in ('temperature', 'max_tokens', 'top_p', 'stop', 'seed',
|
for k in ('temperature', 'max_tokens', 'top_p', 'stop', 'seed',
|
||||||
'response_format', 'chat_template_kwargs'):
|
'response_format', 'chat_template_kwargs',
|
||||||
|
'thinking', 'reasoning_effort'):
|
||||||
if kw.get(k) is not None:
|
if kw.get(k) is not None:
|
||||||
payload[k] = kw[k]
|
payload[k] = kw[k]
|
||||||
payload.setdefault('max_tokens', self.extra.get('max_tokens', 4096)) # CoT room
|
payload.setdefault('max_tokens', self.extra.get('max_tokens', 4096)) # CoT room
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user