Text Generation
Transformers
Safetensors
PyTorch
nemotron_h
nvidia
nemotron-3
latent-moe
mtp
conversational
custom_code
modelopt

Bug Report: Tool Call XML Label Hallucination in Multi-turn Reasoning (Nemotron-3 Super 120B)

#6
by ShelterW - opened

Description

There is a consistent XML syntax error during tool-assisted reasoning. The model intermittently generates a "merged" or "hallucinated" tag <function=parameter=code> instead of following the standard nested structure defined in the ChatML template.

Patterns Observed

Instead of the canonical format:

<tool_call>
<function=python>
<parameter=code>
{python_code}
</parameter>
</function>
</tool_call>

The model frequently outputs:

<tool_call>
<function=parameter=code>
{python_code}
</parameter>
</function>
</tool_call>

Note the malformed opening tag <function=parameter=code>.

Impact

This behavior breaks standard parsers (including vLLM's Qwen3CoderToolParser). In complex tasks like mathematical reasoning, the model seems to lose track of the XML hierarchy after a long thought process, leading to execution failures in automated pipelines.

Environment & Context

  • Model: NVIDIA-Nemotron-3-Super-120B-A12B-FP8
  • Prompting Style: ChatML with tool-calling enabled.
  • Task: Multi-step mathematical reasoning involving Python tool calls.

I ran into a similar issue with it today, running fairly simple calls.
<function=Get-ChildItem>
<parameter=Path>
C:\Users\xxxx\xxxx

<parameter=Force>
True


Had to switch off of it, as all other models perform these calls fine.

Facing the same issue with vLLM Deployment. Did anyone found any fix to use tool calling with this model ?

Sign up or log in to comment