main
jinja 23 lines 785 Bytes
Raw
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 -%}