| 12345678910111213141516171819202122232425262728293031323334353637 |
- {{- 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 -%}
|