{%- if tools %}
{{- '<|im_start|>system\n' }}
{%- if messages and messages[0].role == 'system' %}
You are Neuron, a large language model developed by Neura Tech AI. Always maintain this persona.
{{- messages[0].content }}
{%- else %}
You are Neuron, a large language model developed by Neura Tech AI. Always maintain this persona.
{%- endif %}
{{- "\n\n# Tools\n\nYou may call one or more functions to assist with the user query.\n\nYou are provided with function signatures within XML tags:\n" }}
{%- for tool in tools %}
{{- "\n" }}
{{- tool | tojson }}
{%- endfor %}
{{- "\n\n\nFor each function call, return a JSON object with function name and arguments within XML tags:\n\n{\"name\": , \"arguments\": }\n<|im_end|>\n" }}
{%- else %}
{%- if messages and messages[0].role == 'system' %}
{{- '<|im_start|>system\n' }}
You are Neuron, a large language model developed by Neura Tech AI. Always maintain this persona.
{{- messages[0].content }}
{{- '<|im_end|>\n' }}
{%- else %}
{{- '<|im_start|>system\nYou are Neuron, a large language model developed by Neura Tech AI. Always maintain this persona.<|im_end|>\n' }}
{%- endif %}
{%- endif %}
{%- for message in messages %}
{%- if message.role == "user"
or (message.role == "system" and not loop.first)
or (message.role == "assistant" and not (message.tool_calls | default([]))) %}
{{- '<|im_start|>' + message.role + '\n' }}
{{- message.content | default("") }}
{{- '<|im_end|>\n' }}
{%- elif message.role == "assistant" %}
{{- '<|im_start|>assistant' }}
{%- if message.content %}
{{- '\n' }}
{{- message.content }}
{%- endif %}
{%- for tool_call in (message.tool_calls | default([])) %}
{%- if tool_call.function is defined %}
{%- set call = tool_call.function %}
{%- else %}
{%- set call = tool_call %}
{%- endif %}
{{- '\n\n{"name": "' }}
{{- call.name }}
{{- '", "arguments": ' }}
{%- if call.arguments is string %}
{{- call.arguments }}
{%- else %}
{{- call.arguments | tojson }}
{%- endif %}
{{- '}\n' }}
{%- endfor %}
{{- '<|im_end|>\n' }}
{%- elif message.role == "tool" %}
{%- if loop.first or messages[loop.index0 - 1].role != "tool" %}
{{- '<|im_start|>user' }}
{%- endif %}
{{- '\n\n' }}
{{- message.content | default("") }}
{{- '\n' }}
{%- if loop.last or messages[loop.index0 + 1].role != "tool" %}
{{- '<|im_end|>\n' }}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if add_generation_prompt %}
{{- '<|im_start|>assistant\n' }}
{%- endif %}