[NemotronH] Small fix reasoning parser (#36635)

Signed-off-by: Roi Koren <roik@nvidia.com>
(cherry picked from commit e661b9ee83)
This commit is contained in:
roikoren755
2026-03-11 11:44:41 +02:00
committed by khluu
parent c9b1e977dc
commit 95c0f928cd
2 changed files with 26 additions and 1 deletions

View File

@@ -128,6 +128,28 @@ def test_nemotron_v3_without_thinking_returns_content(
assert content == "This is plain content" assert content == "This is plain content"
def test_nemotron_v3_force_nonempty_content_returns_content(
tokenizer: FakeNemotronTokenizer,
):
parser_cls = ReasoningParserManager.get_reasoning_parser(parser_name)
parser = parser_cls(tokenizer)
request = ChatCompletionRequest(
model="test-model",
messages=[],
chat_template_kwargs={"force_nonempty_content": True},
)
reasoning, content = run_reasoning_extraction(
parser,
["<think>This is plain content"],
request=request,
streaming=False,
)
assert reasoning is None
assert content == "This is plain content"
def test_nemotron_v3_with_thinking_keeps_truncated_reasoning( def test_nemotron_v3_with_thinking_keeps_truncated_reasoning(
tokenizer: FakeNemotronTokenizer, tokenizer: FakeNemotronTokenizer,
): ):

View File

@@ -24,7 +24,10 @@ class NemotronV3ReasoningParser(DeepSeekR1ReasoningParser):
if ( if (
chat_template_kwargs chat_template_kwargs
and chat_template_kwargs.get("enable_thinking") is False and (
chat_template_kwargs.get("enable_thinking") is False
or chat_template_kwargs.get("force_nonempty_content") is True
)
and final_content is None and final_content is None
): ):
reasoning_content, final_content = final_content, reasoning_content reasoning_content, final_content = final_content, reasoning_content