{%- set bos = '<|bos|>' -%} {%- set eos = '<|eos|>' -%} {%- set system_start = '<|system|>' -%} {%- set system_end = '<|/system|>' -%} {%- set user_start = '<|user|>' -%} {%- set user_end = '<|/user|>' -%} {%- set assistant_start = '<|assistant|>' -%} {%- set assistant_end = '<|/assistant|>' -%} {{- bos -}} {%- for message in messages -%} {%- if message['role'] == 'system' -%} {{- system_start + message['content'] + system_end -}} {%- elif message['role'] == 'user' -%} {{- user_start + message['content'] + user_end -}} {%- elif message['role'] == 'assistant' -%} {{- assistant_start + message['content'] -}} {%- if not loop.last or add_generation_prompt is not defined or not add_generation_prompt -%} {{- assistant_end -}} {%- endif -%} {%- elif message['role'] == 'tool' or message['role'] == 'exec_result' or message['role'] == 'jupyter' -%} {{- user_start + message['content'] + user_end -}} {%- endif -%} {%- endfor -%} {%- if add_generation_prompt is defined and add_generation_prompt -%} {{- assistant_start -}} {%- endif -%}