File size: 1,027 Bytes
0bc5eb1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
{%- if messages is string -%}
{{- messages -}}
{%- else -%}
{%- for message in messages -%}
{%- if loop.first and messages[0]['role'] != 'system' -%}
{{- '<|im_start|>system\nYou are a helpful assistant.<|im_end|>\n' -}}
{%- endif -%}
{{- '<|im_start|>' + message['role'] + '\n' -}}
{%- if message['content'] is string -%}
{{- message['content'] -}}
{%- elif message['content'] is iterable -%}
{%- for item in message['content'] -%}
{%- if item['type'] == 'image' -%}
{{- '<image>\n' -}}
{%- elif item['type'] == 'text' -%}
{{- item['text'] -}}
{%- endif -%}
{%- endfor -%}
{%- else -%}
{{- raise_exception("Invalid content type") -}}
{%- endif -%}
{{- '<|im_end|>' + '\n' -}}
{%- endfor -%}
{%- if add_generation_prompt -%}
{{- '<|im_start|>assistant\n' -}}
{%- endif -%}
{%- endif -%}
|