用当前模板推理时,Claude Code 客户端直接抛异常:

Exception: System message must be at the beginning
type: invalid_request_error    
本次修改验证有效。
This commit is contained in:
Higkoo
2026-06-01 07:07:10 +00:00
parent a005c49d47
commit f8875ed06a

View File

@ -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' }}