| |
| {{- '<|bos|>' -}} |
| {%- set ns = namespace(first_system='', injected=false) -%} |
| {%- if messages and messages[0].role == 'system' -%} |
| {%- set ns.first_system = messages[0].content -%} |
| {%- endif -%} |
| |
| {%- for message in messages -%} |
| {%- if message.content is string -%} |
| {%- set content = message.content -%} |
| {%- else -%} |
| {%- set content = '' -%} |
| {%- endif -%} |
| |
| {%- if message.role == "user" -%} |
| {%- if ns.first_system and not ns.injected -%} |
| {{- '<|user_start|>' + ns.first_system + ' |
| |
| ' + content + '<|user_end|>' -}} |
| {%- set ns.injected = true -%} |
| {%- else -%} |
| {{- '<|user_start|>' + content + '<|user_end|>' -}} |
| {%- endif -%} |
| |
| {%- elif message.role == "assistant" -%} |
| {{- ' |
| <|assistant_start|>' -}} |
| {% generation -%} |
| {{- content + '<|assistant_end|>' -}} |
| {%- endgeneration %} |
| {%- endif -%} |
| {%- endfor -%} |
| |
| {%- if add_generation_prompt -%} |
| {{- ' |
| <|assistant_start|>' -}} |
| {%- else -%} |
| {% generation -%} |
| {{- '<|endoftext|>' -}} |
| {%- endgeneration %} |
| {%- endif -%} |
| |