| {%- if not date_string is defined %} | |
| {%- set date_string = "26 July 2024" %} | |
| {%- endif %} | |
| {#- This block extracts the system message, so we can slot it into the right place. #} | |
| {%- if messages[0]['role'] == 'system' %} | |
| {%- set system_message = messages[0]['content'] %} | |
| {%- set messages = messages[1:] %} | |
| {%- else %} | |
| {%- set system_message = "" %} | |
| {%- endif %} | |
| {#- System message + builtin tools #} | |
| {{- "<|start_header_id|>system<|end_header_id|> | |
| " }} | |
| {{- "Cutting Knowledge Date: December 2023 | |
| " }} | |
| {{- "Today Date: " + date_string + " | |
| " }} | |
| {{- system_message }} | |
| {{- "<|eot_id|>" }} | |
| {%- set first_user_message = True %} | |
| {%- for message in messages %} | |
| {%- if first_user_message and message['role'] == 'user' %} | |
| {%- set first_user_message = False %} | |
| {{- '<|start_header_id|>' + message['role'] + '<|end_header_id|> | |
| <|reserved_special_token_70|><|reserved_special_token_69|><|reserved_special_token_71|>'+ message['content'].replace('<|reserved_special_token_69|>', '').lstrip() + '<|eot_id|>' }} | |
| {%- else %} | |
| {{- '<|start_header_id|>' + message['role'] + '<|end_header_id|> | |
| '+ message['content'] + '<|eot_id|>' }} | |
| {%- endif %} | |
| {%- endfor %} | |
| {%- if add_generation_prompt %} | |
| {{- '<|start_header_id|>assistant<|end_header_id|> | |
| ' }} | |
| {%- endif %} | |