<|im_start|>tool_list
<|im_end|>
{% for message in messages %}
{% set content = message['content'] %}
{% set role = message['role'] %}
{% if loop.first and role != 'system' %}
<|im_start|>system
You are a helpful assistant.<|im_end|>
{% endif %}
{% if message['content'] is string %}
<|im_start|>{{ role }}
{{ message['content'] }}<|im_end|>
{% elif message['content'] is mapping %}
{% if content['type'] == 'image' %}
<|im_start|>{{ role }} (mime)
{"type": "image/jpeg", "filename": "{{ content['filename'] }}"}<|im_end|>
<|im_start|>{{ role }} (vector)
<|dummy3|><|im_end|>
<|im_start|>image/aux
다음 중 ocr은 사진에서 검출된 글자이고, lens_keyword는 사진에서 추출된 keyword와 bbox 위치입니다. bbox는 0~1 사이로 정규화된 [x1, y1, x2, y2]의 형태입니다. 참고하여 답변하세요. {"ocr": "{{ content['ocr'] or '' }}", "lens_keywords": "{{ content['lens_keywords'] or '' }}", "lens_local_keywords": "{{ content['lens_local_keywords'] or '' }}"}<|im_end|>
{% elif content['type'] == 'video' %}
<|im_start|>{{ role }} (mime)
{"type": "video/mp4", "filename": "{{ content['filename'] }}"}<|im_end|>
<|im_start|>{{ role }} (vector)
<|_unuse_missing_100270|><|im_end|>
<|im_start|>image/aux
{% if content.get('is_final_grid') %}
다음 중 lens_keyword는 사진에서 추출된 keyword와 bbox 위치입니다. bbox는 0~1 사이로 정규화된 [x1, y1, x2, y2]의 형태입니다. video_time_stamp는 비디오에서 해당 구간의 시간 정보입니다. speech_to_text는 비디오 속에서의 대화, 음성, 소리, 대사, 그리고 말을 전부 글로 받아 적은 것 입니다. 참고하여 답변하세요. {"video_time_stamp": "{{ content['video_time_stamp'] }}", "lens_keywords": "{{ content.get('lens_keywords', '') }}", "lens_local_keywords": "{{ content.get('lens_local_keywords', '') }}", "speech_to_text": "{{ content.get('speech_to_text', '') }}"}
{% else %}
다음 중 video_time_stamp는 비디오에서 해당 구간의 시간 정보입니다. 참고하여 답변하세요. {"video_time_stamp": "{{ content['video_time_stamp'] }}"}
{% endif %}<|im_end|>
{% elif content['type'] == 'text' %}
<|im_start|>{{ role }}
{{ content['text'] }}<|im_end|>
{% endif %}
{% elif message['content'] is sequence %}
{% for content in message['content'] %}
{% if content['type'] == 'image' %}
<|im_start|>{{ role }} (mime)
{"type": "image/jpeg", "filename": "{{ content['filename'] }}"}<|im_end|>
<|im_start|>{{ role }} (vector)
<|dummy3|><|im_end|>
<|im_start|>image/aux
다음 중 ocr은 사진에서 검출된 글자이고, lens_keyword는 사진에서 추출된 keyword와 bbox 위치입니다. bbox는 0~1 사이로 정규화된 [x1, y1, x2, y2]의 형태입니다. 참고하여 답변하세요. {"ocr": "{{ content['ocr'] or '' }}", "lens_keywords": "{{ content['lens_keywords'] or '' }}", "lens_local_keywords": "{{ content['lens_local_keywords'] or '' }}"}<|im_end|>
{% elif content['type'] == 'video' %}
<|im_start|>{{ role }} (mime)
{"type": "video/mp4", "filename": "{{ content['filename'] }}"}<|im_end|>
<|im_start|>{{ role }} (vector)
<|_unuse_missing_100270|><|im_end|>
<|im_start|>image/aux
{% if content.get('is_final_grid') %}
다음 중 lens_keyword는 사진에서 추출된 keyword와 bbox 위치입니다. bbox는 0~1 사이로 정규화된 [x1, y1, x2, y2]의 형태입니다. video_time_stamp는 비디오에서 해당 구간의 시간 정보입니다. speech_to_text는 비디오 속에서의 대화, 음성, 소리, 대사, 그리고 말을 전부 글로 받아 적은 것 입니다. 참고하여 답변하세요. {"video_time_stamp": "{{ content['video_time_stamp'] }}", "lens_keywords": "{{ content.get('lens_keywords', '') }}", "lens_local_keywords": "{{ content.get('lens_local_keywords', '') }}", "speech_to_text": "{{ content.get('speech_to_text', '') }}"}
{% else %}
다음 중 video_time_stamp는 비디오에서 해당 구간의 시간 정보입니다. 참고하여 답변하세요. {"video_time_stamp": "{{ content['video_time_stamp'] }}"}
{% endif %}<|im_end|>
{% elif content['type'] == 'text' %}
<|im_start|>{{ role }}
{{ content['text'] }}<|im_end|>
{% endif %}
{% endfor %}
{% endif %}
{% endfor %}
{% if add_generation_prompt %}
<|im_start|>assistant
{% endif %}
