Update chat_template.jinja
Browse files- chat_template.jinja +18 -23
chat_template.jinja
CHANGED
|
@@ -11,35 +11,30 @@
|
|
| 11 |
{# -------------- reflection-interval lookup -------------- #}
|
| 12 |
{%- if not thinking_budget is defined %}
|
| 13 |
{%- set thinking_budget = -1 -%}
|
|
|
|
|
|
|
| 14 |
{%- endif -%}
|
| 15 |
-
{%- set
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
1024: 256,
|
| 19 |
-
2048: 512,
|
| 20 |
-
4096: 512,
|
| 21 |
-
8192: 1024,
|
| 22 |
-
16384: 1024
|
| 23 |
-
} -%}
|
| 24 |
-
{# Find the first gear that is greater than or equal to the thinking_budget. #}
|
| 25 |
{%- set ns = namespace(interval = None) -%}
|
| 26 |
-
{%- for
|
| 27 |
-
{%- if ns.interval is none and thinking_budget <=
|
| 28 |
-
{%- set ns.interval =
|
| 29 |
{%- endif -%}
|
| 30 |
{%- endfor -%}
|
| 31 |
-
{#
|
| 32 |
{%- if ns.interval is none -%}
|
| 33 |
-
{%- set ns.interval =
|
| 34 |
{%- endif -%}
|
| 35 |
-
{# ----------
|
| 36 |
{%- if messages[0]["role"] == "system" %}
|
| 37 |
{%- set system_message = messages[0]["content"] %}
|
| 38 |
{%- set loop_messages = messages[1:] %}
|
| 39 |
{%- else %}
|
| 40 |
{%- set loop_messages = messages %}
|
| 41 |
{%- endif %}
|
| 42 |
-
{# ----------
|
| 43 |
{%- if not tools is defined or tools is none %}
|
| 44 |
{%- set tools = [] %}
|
| 45 |
{%- endif %}
|
|
@@ -51,7 +46,7 @@
|
|
| 51 |
{%- elif t == "array" -%}list
|
| 52 |
{%- else -%}Any{%- endif -%}
|
| 53 |
{%- endmacro -%}
|
| 54 |
-
{# ----------
|
| 55 |
{%- if system_message is defined %}
|
| 56 |
{{ bos_token + "system\n" + system_message }}
|
| 57 |
{%- else %}
|
|
@@ -105,7 +100,7 @@ def {{ item.function.name }}(
|
|
| 105 |
|
| 106 |
{{"工具调用请遵循如下格式:\n<seed:tool_call>\n<function=example_function_name>\n<parameter=example_parameter_1>value_1</parameter>\n<parameter=example_parameter_2>This is the value for the second parameter\nthat can span\nmultiple lines</parameter>\n</function>\n</seed:tool_call>\n"}}
|
| 107 |
{%- endif %}
|
| 108 |
-
{#
|
| 109 |
{%- if system_message is defined or tools is iterable and tools | length > 0 %}
|
| 110 |
{{ eos_token }}
|
| 111 |
{%- endif %}
|
|
@@ -121,7 +116,7 @@ def {{ item.function.name }}(
|
|
| 121 |
{{ eos_token }}
|
| 122 |
{%- endif %}
|
| 123 |
{%- endif %}
|
| 124 |
-
{# ----------
|
| 125 |
{%- for message in loop_messages %}
|
| 126 |
{%- if message.role == "assistant"
|
| 127 |
and message.tool_calls is defined
|
|
@@ -157,15 +152,15 @@ def {{ item.function.name }}(
|
|
| 157 |
{%- if message.content is defined and message.content is string and message.content | trim | length > 0 %}
|
| 158 |
{{ "\n" + message.content | trim + eos_token }}
|
| 159 |
{%- endif %}
|
| 160 |
-
{#
|
| 161 |
{%- else %}
|
| 162 |
{{ bos_token + message.role + "\n" + message.content + eos_token }}
|
| 163 |
{%- endif %}
|
| 164 |
{%- endfor %}
|
| 165 |
-
{# ----------
|
| 166 |
{%- if add_generation_prompt %}
|
| 167 |
{{ bos_token+"assistant\n" }}
|
| 168 |
{%- if thinking_budget == 0 %}
|
| 169 |
-
{{ think_begin_token
|
| 170 |
{%- endif %}
|
| 171 |
{%- endif %}
|
|
|
|
| 11 |
{# -------------- reflection-interval lookup -------------- #}
|
| 12 |
{%- if not thinking_budget is defined %}
|
| 13 |
{%- set thinking_budget = -1 -%}
|
| 14 |
+
{%- else -%}
|
| 15 |
+
{%- set thinking_budget = thinking_budget | int -%}
|
| 16 |
{%- endif -%}
|
| 17 |
+
{%- set budget_keys_v05 = [0, 512, 1024, 2048, 4096, 8192, 16384] -%}
|
| 18 |
+
{%- set budget_values_v05 = [0, 128, 256, 512, 512, 1024, 1024] -%}
|
| 19 |
+
{# 找到 "大于等于 thinking_budget" 的第一个档位 #}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 20 |
{%- set ns = namespace(interval = None) -%}
|
| 21 |
+
{%- for i in range(budget_keys_v05|length) -%}
|
| 22 |
+
{%- if ns.interval is none and thinking_budget <= budget_keys_v05[i] -%}
|
| 23 |
+
{%- set ns.interval = budget_values_v05[i] -%}
|
| 24 |
{%- endif -%}
|
| 25 |
{%- endfor -%}
|
| 26 |
+
{# 若超过最大档位,则用最后一个档位的值 #}
|
| 27 |
{%- if ns.interval is none -%}
|
| 28 |
+
{%- set ns.interval = budget_values_v05[-1] -%}
|
| 29 |
{%- endif -%}
|
| 30 |
+
{# ---------- 预处理 system 消息 ---------- #}
|
| 31 |
{%- if messages[0]["role"] == "system" %}
|
| 32 |
{%- set system_message = messages[0]["content"] %}
|
| 33 |
{%- set loop_messages = messages[1:] %}
|
| 34 |
{%- else %}
|
| 35 |
{%- set loop_messages = messages %}
|
| 36 |
{%- endif %}
|
| 37 |
+
{# ---------- 确保 tools 存在 ---------- #}
|
| 38 |
{%- if not tools is defined or tools is none %}
|
| 39 |
{%- set tools = [] %}
|
| 40 |
{%- endif %}
|
|
|
|
| 46 |
{%- elif t == "array" -%}list
|
| 47 |
{%- else -%}Any{%- endif -%}
|
| 48 |
{%- endmacro -%}
|
| 49 |
+
{# ---------- 输出 system 块 ---------- #}
|
| 50 |
{%- if system_message is defined %}
|
| 51 |
{{ bos_token + "system\n" + system_message }}
|
| 52 |
{%- else %}
|
|
|
|
| 100 |
|
| 101 |
{{"工具调用请遵循如下格式:\n<seed:tool_call>\n<function=example_function_name>\n<parameter=example_parameter_1>value_1</parameter>\n<parameter=example_parameter_2>This is the value for the second parameter\nthat can span\nmultiple lines</parameter>\n</function>\n</seed:tool_call>\n"}}
|
| 102 |
{%- endif %}
|
| 103 |
+
{# 结束 system 块行尾 #}
|
| 104 |
{%- if system_message is defined or tools is iterable and tools | length > 0 %}
|
| 105 |
{{ eos_token }}
|
| 106 |
{%- endif %}
|
|
|
|
| 116 |
{{ eos_token }}
|
| 117 |
{%- endif %}
|
| 118 |
{%- endif %}
|
| 119 |
+
{# ---------- 逐条写出历史消息 ---------- #}
|
| 120 |
{%- for message in loop_messages %}
|
| 121 |
{%- if message.role == "assistant"
|
| 122 |
and message.tool_calls is defined
|
|
|
|
| 152 |
{%- if message.content is defined and message.content is string and message.content | trim | length > 0 %}
|
| 153 |
{{ "\n" + message.content | trim + eos_token }}
|
| 154 |
{%- endif %}
|
| 155 |
+
{# 包括 tool 角色,在这个逻辑 #}
|
| 156 |
{%- else %}
|
| 157 |
{{ bos_token + message.role + "\n" + message.content + eos_token }}
|
| 158 |
{%- endif %}
|
| 159 |
{%- endfor %}
|
| 160 |
+
{# ---------- 控制模型开始续写 ---------- #}
|
| 161 |
{%- if add_generation_prompt %}
|
| 162 |
{{ bos_token+"assistant\n" }}
|
| 163 |
{%- if thinking_budget == 0 %}
|
| 164 |
+
{{ think_begin_token+budget_begin_token }}
|
| 165 |
{%- endif %}
|
| 166 |
{%- endif %}
|