diff --git a/examples/tool_chat_template_deepseekr1.jinja b/examples/tool_chat_template_deepseekr1.jinja index 9ae19341fc48a..908574be9df5f 100644 --- a/examples/tool_chat_template_deepseekr1.jinja +++ b/examples/tool_chat_template_deepseekr1.jinja @@ -11,7 +11,7 @@ {% set ns.system_prompt = ns.system_prompt + '\n\n' + message['content'] %} {%- endif %} {%- endif %} -{%- endfor %} +{%- endfor -%} {#- Adapted from https://github.com/sgl-project/sglang/blob/main/examples/chat_template/tool_chat_template_deepseekr1.jinja #} {% if tools is defined and tools is not none %} @@ -27,8 +27,8 @@ {% set ns.system_prompt = ns.system_prompt + '\n\n' + tool_ns.text %} {% endif %} -{{ bos_token }} -{{ ns.system_prompt }} +{{- bos_token }} +{{- ns.system_prompt }} {%- for message in messages %} {% set content = message['content'] %} {%- if message['role'] == 'user' %} @@ -45,7 +45,7 @@ {%- if message['role'] == 'assistant' and message['tool_calls'] is defined and message['tool_calls'] is not none %} {%- set ns.is_last_user = false -%} {%- if ns.is_tool %} - {{'<|tool▁outputs▁end|>'}} + {{- '<|tool▁outputs▁end|>'}} {%- endif %} {%- set ns.is_first = false %} {%- set ns.is_tool = false -%} @@ -53,40 +53,40 @@ {%- for tool in message['tool_calls'] %} {%- if not ns.is_first %} {%- if content is none %} - {{'<|tool▁calls▁begin|><|tool▁call▁begin|>' + tool['type'] + '<|tool▁sep|>' + tool['function']['name'] + '\n' + '```json' + '\n' + tool['function']['arguments']|tojson + '\n' + '```' + '<|tool▁call▁end|>'}} + {{- '<|tool▁calls▁begin|><|tool▁call▁begin|>' + tool['type'] + '<|tool▁sep|>' + tool['function']['name'] + '\n' + '```json' + '\n' + tool['function']['arguments']|tojson + '\n' + '```' + '<|tool▁call▁end|>'}} {%- else %} - {{content + '<|tool▁calls▁begin|><|tool▁call▁begin|>' + tool['type'] + '<|tool▁sep|>' + tool['function']['name'] + '\n' + '```json' + '\n' + tool['function']['arguments']|tojson + '\n' + '```' + '<|tool▁call▁end|>'}} + {{- content + '<|tool▁calls▁begin|><|tool▁call▁begin|>' + tool['type'] + '<|tool▁sep|>' + tool['function']['name'] + '\n' + '```json' + '\n' + tool['function']['arguments']|tojson + '\n' + '```' + '<|tool▁call▁end|>'}} {%- endif %} {%- set ns.is_first = true -%} {%- else %} - {{'\n' + '<|tool▁call▁begin|>' + tool['type'] + '<|tool▁sep|>' + tool['function']['name'] + '\n' + '```json' + '\n' + tool['function']['arguments']|tojson + '\n' + '```' + '<|tool▁call▁end|>'}} + {{- '\n' + '<|tool▁call▁begin|>' + tool['type'] + '<|tool▁sep|>' + tool['function']['name'] + '\n' + '```json' + '\n' + tool['function']['arguments']|tojson + '\n' + '```' + '<|tool▁call▁end|>'}} {%- endif %} {%- endfor %} - {{'<|tool▁calls▁end|><|end▁of▁sentence|>'}} + {{- '<|tool▁calls▁end|><|end▁of▁sentence|>'}} {%- endif %} {%- if message['role'] == 'assistant' and (message['tool_calls'] is not defined or message['tool_calls'] is none)%} {%- set ns.is_last_user = false -%} {%- if ns.is_tool %} - {{'<|tool▁outputs▁end|>' + content + '<|end▁of▁sentence|>'}} + {{- '<|tool▁outputs▁end|>' + content + '<|end▁of▁sentence|>'}} {%- set ns.is_tool = false -%} {%- else %} - {{content + '<|end▁of▁sentence|>'}} + {{- content + '<|end▁of▁sentence|>'}} {%- endif %} {%- endif %} {%- if message['role'] == 'tool' %} {%- set ns.is_last_user = false -%} {%- set ns.is_tool = true -%} {%- if ns.is_output_first %} - {{'<|tool▁outputs▁begin|><|tool▁output▁begin|>' + content + '<|tool▁output▁end|>'}} + {{- '<|tool▁outputs▁begin|><|tool▁output▁begin|>' + content + '<|tool▁output▁end|>'}} {%- set ns.is_output_first = false %} {%- else %} - {{'\n<|tool▁output▁begin|>' + content + '<|tool▁output▁end|>'}} + {{- '\n<|tool▁output▁begin|>' + content + '<|tool▁output▁end|>'}} {%- endif %} {%- endif %} {%- endfor -%} {% if ns.is_tool %} - {{'<|tool▁outputs▁end|>'}} -{% endif %} + {{- '<|tool▁outputs▁end|>'}} +{%- endif %} {% if add_generation_prompt and not ns.is_last_user and not ns.is_tool %} - {{'<|Assistant|>'}} -{% endif %} + {{- '<|Assistant|>'}} +{%- endif %} \ No newline at end of file