{{ '' }}{% if messages[0]['role'] == 'system' %}{% set loop_messages = messages[1:] %}{% set system_message = messages[0]['content'] %}{% else %}{% set loop_messages = messages %}{% endif %}{% if system_message is defined %}{{ system_message }}{% endif %} {%- if tools %} {{- "# 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 %} {{- " " }} {{- tool | tojson }} {%- endfor %} {% raw %} For each function call, return a json object with function name and arguments within XML tags: {"name": , "arguments": } {% endraw %} {%- endif %}{% for message in loop_messages %}{% set content = message['content'] %}{% set is_last = loop.index == loop_messages|length %}{% set next_role = (loop_messages[loop.index]['role'] if not is_last else None) %}{% if message['role'] == 'user' %}{{ 'user ' + content + ' model ' }}{% if is_last and (no_thinking is defined and no_thinking) %}{{ ' ' }}{% endif %}{% elif message['role'] == 'assistant' %}{{ content + ' ' }}{% elif message['role'] == 'tool' %}{{ 'tool\n' + content + '\n' }}{% if is_last or next_role == 'assistant' %}{{ 'model\n' }}{% endif %}{% endif %}{% endfor %}