| 1 | {%- if messages[0]['role'] == 'system' -%} |
| 2 | {%- set system_message = messages[0]['content'] -%} |
| 3 | {%- set messages = messages[1:] -%} |
| 4 | {%- else -%} |
| 5 | {% set system_message = '' -%} |
| 6 | {%- endif -%} |
| 7 | |
| 8 | {{ bos_token + system_message }} |
| 9 | {%- for message in messages -%} |
| 10 | {%- if (message['role'] == 'user') != (loop.index0 % 2 == 0) -%} |
| 11 | {{ raise_exception('Conversation roles must alternate user/assistant/user/assistant/...') }} |
| 12 | {%- endif -%} |
| 13 | |
| 14 | {%- if message['role'] == 'user' -%} |
| 15 | {{ '<|User|>: ' + message['content'] + '\n\n' }} |
| 16 | {%- elif message['role'] == 'assistant' -%} |
| 17 | {{ '<|Assistant|>: ' + message['content'] + eos_token + '\n\n' }} |
| 18 | {%- endif -%} |
| 19 | {%- endfor -%} |
| 20 | |
| 21 | {%- if add_generation_prompt -%} |
| 22 | {{ '<|Assistant|>: ' }} |
| 23 | {%- endif -%} |