From f8875ed06ab0b890a2aa4e8094cb342a185d16a8 Mon Sep 17 00:00:00 2001 From: Higkoo Date: Mon, 1 Jun 2026 07:07:10 +0000 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E5=BD=93=E5=89=8D=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E6=8E=A8=E7=90=86=E6=97=B6=EF=BC=8CClaude=20Code=20=E5=AE=A2?= =?UTF-8?q?=E6=88=B7=E7=AB=AF=E7=9B=B4=E6=8E=A5=E6=8A=9B=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=EF=BC=9A=20Exception:=20System=20message=20must=20be=20at=20th?= =?UTF-8?q?e=20beginning=20type:=20invalid=5Frequest=5Ferror=20=E6=9C=AC?= =?UTF-8?q?=E6=AC=A1=E4=BF=AE=E6=94=B9=E9=AA=8C=E8=AF=81=E6=9C=89=E6=95=88?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- chat_template.jinja | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/chat_template.jinja b/chat_template.jinja index a8755d8..a8e3f67 100644 --- a/chat_template.jinja +++ b/chat_template.jinja @@ -78,11 +78,24 @@ {%- if ns.multi_step_tool %} {{- raise_exception('No user query found in messages.') }} {%- endif %} +{%- set last_query_index = ns.last_query_index %} +{%- set ns = namespace(system_rendered=false, last_query_index=last_query_index) %} +{%- for message in messages %} + {%- if message.role == 'system' %} + {%- set content = render_content(message.content, false, true)|trim %} + {%- if content %} + {{- '<|im_start|>system\n' + content + '<|im_end|>\n' }} + {%- endif %} + {%- set ns.system_rendered = true %} + {%- endif %} +{%- endfor %} {%- for message in messages %} {%- set content = render_content(message.content, true)|trim %} {%- if message.role == "system" %} - {%- if not loop.first %} - {{- raise_exception('System message must be at the beginning.') }} + {%- if ns.system_rendered %} + {%- else %} + {{- '<|im_start|>system\n' + content + '<|im_end|>\n' }} + {%- set ns.system_rendered = true %} {%- endif %} {%- elif message.role == "user" %} {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}