Normalize product data prompt formatting
This commit is contained in:
@@ -651,12 +651,15 @@ def build_planning_prompt(
|
||||
) -> str:
|
||||
"""把训练 instruction 包成评测侧使用的 chat template。"""
|
||||
|
||||
instruction = build_training_instruction(
|
||||
record,
|
||||
session_num=session_num,
|
||||
session_time_minutes=session_time_minutes,
|
||||
context_fields=context_fields,
|
||||
instruction = prompt_section_with_one_trailing_newline(
|
||||
build_training_instruction(
|
||||
record,
|
||||
session_num=session_num,
|
||||
session_time_minutes=session_time_minutes,
|
||||
context_fields=context_fields,
|
||||
)
|
||||
)
|
||||
system_prompt = prompt_section_without_trailing_newline(system_prompt)
|
||||
return (
|
||||
f"<|im_start|>system\n{system_prompt}<|im_end|>\n"
|
||||
f"<|im_start|>user\n{instruction}<|im_end|>\n"
|
||||
@@ -664,6 +667,14 @@ def build_planning_prompt(
|
||||
)
|
||||
|
||||
|
||||
def prompt_section_without_trailing_newline(text: str) -> str:
|
||||
return str(text or "").rstrip("\n")
|
||||
|
||||
|
||||
def prompt_section_with_one_trailing_newline(text: str) -> str:
|
||||
return prompt_section_without_trailing_newline(text) + "\n"
|
||||
|
||||
|
||||
def training_jsonl_line(
|
||||
record: dict[str, Any],
|
||||
*,
|
||||
@@ -673,7 +684,7 @@ def training_jsonl_line(
|
||||
system_prompt: str,
|
||||
) -> str:
|
||||
payload = {
|
||||
"system": system_prompt,
|
||||
"system": prompt_section_without_trailing_newline(system_prompt),
|
||||
"instruction": build_training_instruction(
|
||||
record,
|
||||
session_num=session_num,
|
||||
|
||||
Reference in New Issue
Block a user