File size: 1,415 Bytes
066f330
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
33
34
35
36
37
{{- bos_token -}}

{%- set system_prompt = "" -%}

{%- set ns = namespace(system_prompt="") -%}

{%- if messages[0]["role"] == "system" -%}

	{%- set ns.system_prompt = messages[0]["content"] -%}

	{%- set messages = messages[1:] -%}

{%- endif -%}

{%- if tools -%}

	{%- set ns.system_prompt = ns.system_prompt + ("\n" if ns.system_prompt else "") + "List of tools: <|tool_list_start|>[" -%}

	{%- for tool in tools -%}

		{%- if tool is not string -%}

            {%- set tool = tool | tojson -%}

		{%- endif -%}

		{%- set ns.system_prompt = ns.system_prompt + tool -%}

        {%- if not loop.last -%}

            {%- set ns.system_prompt = ns.system_prompt + ", " -%}

        {%- endif -%}

	{%- endfor -%}

	{%- set ns.system_prompt = ns.system_prompt + "]<|tool_list_end|>" -%}

{%- endif -%}

{%- if ns.system_prompt -%}

	{{- "<|im_start|>system\n" + ns.system_prompt + "<|im_end|>\n" -}}

{%- endif -%}

{%- for message in messages -%}

	{{- "<|im_start|>" + message["role"] + "\n" -}}

	{%- set content = message["content"] -%}

	{%- if content is not string -%}

		{%- set content = content | tojson -%}

	{%- endif -%}

	{%- if message["role"] == "tool" -%}

		{%- set content = "<|tool_response_start|>" + content + "<|tool_response_end|>" -%}

	{%- endif -%}

	{{- content + "<|im_end|>\n" -}}

{%- endfor -%}

{%- if add_generation_prompt -%}

	{{- "<|im_start|>assistant\n" -}}

{%- endif -%}