From a39e806feced62b53318e6fa6707614bd7646179 Mon Sep 17 00:00:00 2001 From: Oasis-Git Date: Tue, 13 Oct 2026 16:41:57 -0700 Subject: [PATCH] [DSv4.1] Add Flash model generation preset --- preset.md | 14 ++++++++++++++ sgl_eval/model_presets.yaml | 7 +++++++ tests/test_preset.py | 21 ++++++++++++++++++++- 3 files changed, 41 insertions(+), 1 deletion(-) diff --git a/preset.md b/preset.md index 30e2a28..12b096a 100644 --- a/preset.md +++ b/preset.md @@ -29,6 +29,20 @@ sgl-eval run aime25 \ --load-preset-from-model-id deepseek-ai/DeepSeek-V4-Flash-0731 ``` +### DeepSeek V4.1 Flash + +`deepseek-ai/DeepSeek-V4.1-Flash` uses temperature `1.0`, top-p `0.95`, +thinking enabled, and reasoning effort `high`. It does not set `max_tokens`; +the benchmark default applies (MMMU-Pro leaves the output limit to the server). +For a bounded evaluation budget, pass `--max-tokens` explicitly. + +```bash +sgl-eval run mmmu_pro \ + --base-url http://localhost:30000/v1 \ + --load-preset-from-model-id deepseek-ai/DeepSeek-V4.1-Flash \ + --num-examples 200 --max-tokens 32768 +``` + Built-in model presets deliberately do not contain `base_url`; pass it on the CLI or provide it through a user preset. An unknown model ID exits before contacting the endpoint, prints the complete supported-ID list, and tells the diff --git a/sgl_eval/model_presets.yaml b/sgl_eval/model_presets.yaml index 12e2528..a3cb4d5 100644 --- a/sgl_eval/model_presets.yaml +++ b/sgl_eval/model_presets.yaml @@ -16,6 +16,13 @@ models: max_tokens: 400000 thinking: true reasoning_effort: max + deepseek-ai/DeepSeek-V4.1-Flash: + model: deepseek-ai/DeepSeek-V4.1-Flash + sampling: + temperature: 1.0 + top_p: 0.95 + thinking: true + reasoning_effort: high moonshotai/Kimi-K3: model: moonshotai/Kimi-K3 sampling: diff --git a/tests/test_preset.py b/tests/test_preset.py index cdf320b..dd0d875 100644 --- a/tests/test_preset.py +++ b/tests/test_preset.py @@ -7,7 +7,7 @@ import pytest -from sgl_eval.model_preset import ModelPreset +from sgl_eval.model_preset import ModelPreset, load_model_preset from sgl_eval.preset import ( Endpoint, Expected, @@ -277,3 +277,22 @@ def test_reasoning_effort_validated_at_parse_time(raw, expected) -> None: reasoning_effort(raw) else: assert reasoning_effort(raw) == expected + + +def test_dsv41_flash_model_preset() -> None: + preset = load_model_preset("deepseek-ai/DeepSeek-V4.1-Flash") + assert preset.model == "deepseek-ai/DeepSeek-V4.1-Flash" + gen = apply_to_gen(GenConfig(), None, _args(), preset) + assert gen.temperature == 1.0 + assert gen.top_p == 0.95 + assert gen.chat_template_kwargs == {"thinking": True} + assert gen.reasoning_effort == "high" + assert gen.max_tokens is None + assert gen.seed is None + + overridden = apply_to_gen( + GenConfig(), None, _args(max_tokens=4096, thinking=False, reasoning_effort="low"), preset + ) + assert overridden.max_tokens == 4096 + assert overridden.chat_template_kwargs == {"thinking": False} + assert overridden.reasoning_effort == "low"