main
jinja 16 lines 676 Bytes
Raw
1 {%- if messages | length > 1 -%}
2 {{ raise_exception('Embedding models should only embed one message at a time') }}
3 {%- endif -%}
4
5 {% set vars = namespace(parts=[], next_image_id=1) %}
6 {%- for message in messages -%}
7 {%- for content in message['content'] -%}
8 {%- if content['type'] == 'text' -%}
9 {%- set vars.parts = vars.parts + [content['text']] %}
10 {%- elif content['type'] == 'image' -%}
11 {%- set vars.parts = vars.parts + ['<|image_{i:d}|>'.format(i=vars.next_image_id)] %}
12 {%- set vars.next_image_id = vars.next_image_id + 1 %}
13 {%- endif -%}
14 {%- endfor -%}
15 {%- endfor -%}
16 {{ vars.parts | join(' ') }}