| {% set image_count = namespace(value=0) %}{% set video_count = namespace(value=0) %}{%- for message in messages -%}{%- if loop.first and message['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'].startswith('image') -%}{%- set image_count.value = image_count.value + 1 -%}{%- if add_vision_id -%}{{ 'Picture ' + image_count.value + ': ' }}{%- endif -%}{{ '<|vision_start|><|image_pad|><|vision_end|>' }}{%- elif item['type'].startswith('video') -%}{%- set video_count.value = video_count.value + 1 -%}{%- if add_vision_id -%}{{ 'Video ' + video_count.value + ': ' }}{%- endif -%}{{ '<|vision_start|><|video_pad|><|vision_end|>' }}{%- elif item['type']=='text' -%}{{- item['text'] if 'text' in item else item['content'] -}}{%- endif -%}{%- endfor -%}{%- endif -%}{{ '<|im_end|>\n' }}{%- endfor -%}{%- if add_generation_prompt -%}{{- '<|im_start|>assistant\n' -}}{%- endif -%} |