{%- if tools %} {{- '<|start_of_role|>available_tools<|end_of_role|> ' }} {%- for tool in tools %} {{- tool | tojson(indent=4) }} {%- if not loop.last %} {{- ' ' }} {%- endif %} {%- endfor %} {{- '<|end_of_text|> ' }} {%- endif %} {%- for message in messages %} {%- if message['role'] == 'system' %} {{- '<|start_of_role|>system<|end_of_role|>' + message['content'] + '<|end_of_text|> ' }} {%- elif message['role'] == 'user' %} {{- '<|start_of_role|>user<|end_of_role|>' + message['content'] + '<|end_of_text|> ' }} {%- elif message['role'] == 'assistant' %} {{- '<|start_of_role|>assistant<|end_of_role|>' + message['content'] + '<|end_of_text|> ' }} {%- elif message['role'] == 'assistant_tool_call' %} {{- '<|start_of_role|>assistant<|end_of_role|><|tool_call|>' + message['content'] + '<|end_of_text|> ' }} {%- elif message['role'] == 'tool_response' %} {{- '<|start_of_role|>tool_response<|end_of_role|>' + message['content'] + '<|end_of_text|> ' }} {%- endif %} {%- if loop.last and add_generation_prompt %} {{- '<|start_of_role|>assistant<|end_of_role|>' }} {%- endif %} {%- endfor %}