mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-11-07 13:42:20 +01:00
fix(thinking): add deepseek-v4 to thinking model patterns (#6000)
* fix(thinking): add deepseek-v4 to thinking model patterns deepseek-v4-flash emits reasoning_content via the API but was not recognized in _THINKING_MODEL_PATTERNS (only deepseek-r1 and deepseek-reasoner were listed). Add the deepseek-v4 prefix so the model is recognized as thinking-capable. The between-round _thinkOpen leakage was separately fixed by PR #5931 (perf(chat): batch live thinking rendering). Related: #3998, #5931 * test(thinking): cover DeepSeek v4 detection --------- Co-authored-by: Alexandre Teixeira <alexandremagteixeira@gmail.com> Co-authored-by: Alexandre Teixeira <111787685+alteixeira20@users.noreply.github.com>
This commit is contained in:
co-authored by
Alexandre Teixeira
Alexandre Teixeira
parent
937c883c41
commit
1939a6ad2d
+2
-2
@@ -1319,8 +1319,8 @@ _MISTRAL_REASONING_EFFORT = os.getenv("ODYSSEUS_MISTRAL_REASONING_EFFORT", "high
|
|||||||
|
|
||||||
# Models that support structured thinking — may output </think> without opening tag
|
# Models that support structured thinking — may output </think> without opening tag
|
||||||
_THINKING_MODEL_PATTERNS = (
|
_THINKING_MODEL_PATTERNS = (
|
||||||
"qwen3", "qwq", "deepseek-r1", "deepseek-reasoner", "minimax",
|
"qwen3", "qwq", "deepseek-r1", "deepseek-reasoner", "deepseek-v4",
|
||||||
"m2-reap", "gemma", "stepfun", "step-3", "step3",
|
"minimax", "m2-reap", "gemma", "stepfun", "step-3", "step3",
|
||||||
"magistral", "mistral-small", "mistral-medium",
|
"magistral", "mistral-small", "mistral-medium",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,27 @@
|
|||||||
|
"""Regression coverage for structured-thinking model detection."""
|
||||||
|
|
||||||
|
import os
|
||||||
|
|
||||||
|
os.environ.setdefault("DATABASE_URL", "sqlite:///:memory:")
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
from src.llm_core import _supports_thinking
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize(
|
||||||
|
"model",
|
||||||
|
[
|
||||||
|
"deepseek-v4",
|
||||||
|
"deepseek-v4-flash",
|
||||||
|
"DeepSeek-V4-Flash",
|
||||||
|
"deepseek/deepseek-v4-flash",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
def test_deepseek_v4_models_support_thinking(model):
|
||||||
|
assert _supports_thinking(model) is True
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("model", ["deepseek-v3", "deepseek-chat"])
|
||||||
|
def test_other_deepseek_models_are_not_promoted_to_thinking(model):
|
||||||
|
assert _supports_thinking(model) is False
|
||||||
Reference in New Issue
Block a user