Skip to content

Commit f21a52c

Browse files
naymaraqnaymaraqJorjeousclaude
authored
fix: bug where empty strings overwrite user/system messages (#1406)
Signed-off-by: naymaraq <dkaramyan@nvidia.com> Co-authored-by: naymaraq <dkaramyan@nvidia.com> Co-authored-by: George <37293288+Jorjeous@users.noreply.github.com> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 76e4fd6 commit f21a52c

1 file changed

Lines changed: 10 additions & 5 deletions

File tree

nemo_skills/inference/generate.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -655,7 +655,7 @@ def fill_prompt(self, data_point, data, prompt_format=None):
655655
if self.prompt is None:
656656
# Pure openai path -- messages come from the data
657657
data_point = deepcopy(data_point)
658-
if self.cfg.user_message:
658+
if self.cfg.user_message is not None:
659659
user_msgs = [m for m in data_point["messages"] if m["role"] == "user"]
660660
if len(user_msgs) != 1:
661661
raise ValueError(
@@ -664,11 +664,16 @@ def fill_prompt(self, data_point, data, prompt_format=None):
664664
GenerationTask._set_message_text_content(user_msgs[0], self.cfg.user_message)
665665
if self.cfg.prompt_suffix:
666666
GenerationTask._append_message_text_suffix(data_point["messages"][-1], self.cfg.prompt_suffix)
667-
if self.cfg.system_message:
668-
if data_point["messages"][0]["role"] != "system":
669-
data_point["messages"].insert(0, {"role": "system", "content": self.cfg.system_message})
667+
if self.cfg.system_message is not None:
668+
messages = data_point["messages"]
669+
has_system = len(messages) > 0 and messages[0]["role"] == "system"
670+
if self.cfg.system_message == "":
671+
if has_system:
672+
messages.pop(0)
673+
elif has_system:
674+
messages[0]["content"] = self.cfg.system_message
670675
else:
671-
data_point["messages"][0]["content"] = self.cfg.system_message
676+
messages.insert(0, {"role": "system", "content": self.cfg.system_message})
672677
return data_point["messages"]
673678

674679
# OpenAI path with prompt_config template -- build prompt from template, merge audio from data.

0 commit comments

Comments
 (0)