File size: 1,045 Bytes
57462bd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
29
30
31
32
{{- '<|im_start|><|object_ref_start|>' -}}
{%- if tools -%}
{{- '<tools>' -}}
{{- tools | tojson -}}
{{- '</tools>\n' -}}
{%- endif -%}
{%- for message in messages -%}
{%- if message['role'] == 'system' -%}
{{- '<user>\n' + message['content'] + '\n</user>\n' -}}
{%- elif message['role'] == 'user' -%}
{{- '<user>\n' + message['content'] + '\n</user>\n' -}}
{%- elif message['role'] == 'assistant' -%}
{{- '<assistant>\n' -}}
{%- if message.get('content') -%}
{{- message['content'] -}}
{%- endif -%}
{%- for tool_call in message.get('tool_calls', []) -%}
{{- '<tool_call>' -}}
{{- {'arguments': tool_call['function']['arguments'], 'name': tool_call['function']['name']} | tojson -}}
{{- '</tool_call>' -}}
{%- endfor -%}
{{- '\n' -}}
{%- elif message['role'] == 'tool' -%}
{{- '<tool_result>' + message['content'] + '</tool_result>\n' -}}
{%- else -%}
{{- raise_exception('Unsupported message role: ' + message['role']) -}}
{%- endif -%}
{%- endfor -%}
{%- if add_generation_prompt -%}
{{- '<assistant>\n' -}}
{%- endif -%}
{{- '<|im_end|>' -}}