|
a |
|
b/chat_templates/chatqa.jinja |
|
|
1 |
{% if messages[0]['role'] == 'system' %} |
|
|
2 |
{% set system_message = 'System: ' + messages[0]['content'] | trim %} |
|
|
3 |
{% set messages = messages[1:] %} |
|
|
4 |
{% else %} |
|
|
5 |
{% set system_message = '' %} |
|
|
6 |
{% endif %} |
|
|
7 |
|
|
|
8 |
{% if messages[0]['role'] == 'context' %} |
|
|
9 |
{% set context_message = '\n\n' + messages[0]['content'] | trim %} |
|
|
10 |
{% set messages = messages[1:] %} |
|
|
11 |
{% else %} |
|
|
12 |
{% set context_message = '' %} |
|
|
13 |
{% endif %} |
|
|
14 |
|
|
|
15 |
{{ bos_token + system_message + context_message}} |
|
|
16 |
{% for message in messages %} |
|
|
17 |
{% if (message['role'] == 'user') != (loop.index0 % 2 == 0) %} |
|
|
18 |
{{ raise_exception('Conversation roles must alternate user/assistant/user/assistant/...') }} |
|
|
19 |
{% endif %} |
|
|
20 |
|
|
|
21 |
{% if message['role'] == 'user' %} |
|
|
22 |
{{ '\n\nUser: ' + content | trim }} |
|
|
23 |
{% elif message['role'] == 'assistant' %} |
|
|
24 |
{{ '\n\nAssistant: ' + content | trim }} |
|
|
25 |
{% endif %} |
|
|
26 |
{% endfor %} |
|
|
27 |
|
|
|
28 |
{% if add_generation_prompt %} |
|
|
29 |
{{ '\n\nAssistant:' }} |
|
|
30 |
{% endif %} |