[NemotronH] Small fix reasoning parser (#36635)
Signed-off-by: Roi Koren <roik@nvidia.com>
(cherry picked from commit e661b9ee83)
This commit is contained in:
@@ -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,
|
||||||
):
|
):
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user