Files
Apertus-v1.1-1.5B-Instruct/chat_template.jinja

5 lines
5.1 KiB
Plaintext
Raw Normal View History

{{ bos_token }}{%- set system_token = '<SPECIAL_61>' -%}{%- set end_system_token = '<SPECIAL_62>' -%}{%- set developer_token = '<SPECIAL_63>' -%}{%- set end_developer_token = '<SPECIAL_64>' -%}{%- set user_token = '<SPECIAL_65>' -%}{%- set end_user_token = '<SPECIAL_66>' -%}{%- set assistant_token = '<SPECIAL_67>' -%}{%- set end_assistant_token = '<SPECIAL_68>' -%}{%- set inner_token = '<SPECIAL_69>' -%}{%- set outer_token = '<SPECIAL_70>' -%}{%- set tool_calls_token = '<SPECIAL_71>' -%}{%- set end_tool_calls_token = '<SPECIAL_72>' -%}{%- if messages and messages[0].role == 'system' -%} {%- set system_content = messages[0].content -%} {{ system_token }} {%- if system_content is string -%} {{ system_content }} {%- elif system_content is mapping and "text" in system_content -%} {{ system_content.text }} {%- else -%} {{- raise_exception("Invalid system content: " + str(system_content)) -}} {%- endif -%} {{ end_system_token }} {%- set messages_without_system = messages[1:] -%}{%- else -%} {{ system_token + end_system_token }} {%- set messages_without_system = messages -%}{%- endif -%}{%- if messages_without_system and messages_without_system[0].role == 'developer' -%} {%- set developer_content = messages_without_system[0].content -%} {{ developer_token }} {%- if "has_thinking" in developer_content -%} {{ 'Deliberation: ' }} {%- if developer_content.has_thinking -%} {{ 'enabled' }} {%- else -%} {{ 'disabled' }} {%- endif -%} {{ '
' }} {%- else -%} {{ 'Deliberation: disabled
' }} {%- endif -%} {%- if "formatted_tools" in developer_content and developer_content.formatted_tools -%} {{ 'Tool Capabilities:
' + developer_content.formatted_tools }} {%- else -%} {{ 'Tool Capabilities: disabled' }} {%- endif -%} {{ end_developer_token }} {%- set loop_messages = messages_without_system[1:] -%}{%- else -%} {{ developer_token + 'Deliberation: disabled
Tool Capabilities: disabled' + end_developer_token }} {%- set loop_messages = messages_without_system -%}{%- endif -%}{%- for message in loop_messages -%} {%- set content = message.content -%} {%- if message.role == 'user' -%} {{ user_token }} {%- if content is string -%} {{ content }} {%- elif content is sequence -%} {%- for part in content.parts -%} {%- if part.type == 'text' -%} {{ part.text }} {%- endif -%} {%- endfor -%} {%- else -%} {{- raise_exception("Invalid user content: " + str(content)) -}} {%- endif -%} {{ end_user_token }} {%- elif message.role == 'assistant' -%} {{ assistant_token }} {%- if content is string -%} {{ content }} {%- elif content is sequence -%} {%- set ns = namespace(in_inner=false) -%} {%- for block in content.blocks -%} {%- if block.type == 'thoughts' -%} {%- if not ns.in_inner -%} {%- set ns.in_inner = true -%} {{ inner_token }} {%- endif -%} {{ block.text }} {%- elif block.type == 'tool_calls' -%} {%- if ns.in_inner and not loop.first and block.calls|length == 1 and block.calls[0].name == 'display_answers' -%} {%- set ns.in_inner = false -%} {{ outer_token }} {%- endif -%} {{ tool_calls_token + '[' }} {%- for tool_call in block.calls -%} {{- '{"' + tool_call.name + '": ' + tool_call.arguments + '}' }} {%- if not loop.last -%} {{- ", " }} {%- endif -%} {%- endfor -%} {{ ']' + end_tool_calls_token }} {%- elif block.type == 'tool_outputs' -%} {{ '[' }} {%- for tool_output in block.outputs -%} {{- tool_output.output }} {%- if not loop.last -%} {{- ", " }} {%- endif -%} {%- endfor -%} {{- ']' }} {%- if not loop.last -%} {{- ' ' }} {%- endif -%} {%- elif block.type == 'response' -%} {%- if not loop.first and ns.in_inner -%} {%- set ns.in_inner = false -%} {{ outer_token }} {%- endif -%} {{ block.text }} {%- else -%} {{- raise_exception("Invalid block type: " + block.type) -}} {%- endif -%} {%- endfor -%} {%- else -%} {{- raise_exception("Invalid assistant content: " + str(content)) -}} {%- endif -%} {{ end_assistant_token }} {%- else -%} {{- raise_exception("Invalid message role: " + message.role) -}} {%- endif -%}{%- endfor -%}{%- if add_generation_prompt -%} {{ assistant_token }}{%- endif -%}