Qwen-QwQ-32B with UNSLOTH bug fixes.
tools
554 Pulls Updated 5 weeks ago
7abd6f3f5ce5 · 1.6kB
{{ if .Tools }}
<|im_start|>system
{{ if eq (index .Messages 0).Role "system" }}
{{ (index .Messages 0).Content }}
{{ end }}
# Tools
You may call one or more functions to assist with the user query.
You are provided with function signatures within <tools></tools> XML tags:
<tools>
{{ range .Tools }}
{{ json . }}
{{ end }}
</tools>
For each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:
<tool_call>
{"name": <function-name>, "arguments": <args-json-object>}
</tool_call><|im_end>
{{ else }}
{{ if eq (index .Messages 0).Role "system" }}
<|im_start|>system
{{ (index .Messages 0).Content }}<|im_end>
{{ end }}
{{ end }}
{{ range $index, $message := .Messages }}
{{ if or (eq $message.Role "user") (and (eq $message.Role "system") (gt $index 0)) }}
<|im_start|>{{ $message.Role }}
{{ $message.Content }}<|im_end>
{{ else if eq $message.Role "assistant" }}
{{ if not $message.ToolCalls }}
<|im_start|>assistant
{{ $message.Content }}<|im_end>
{{ else }}
<|im_start|>assistant
{{ if $message.Content }}
{{ $message.Content }}
{{ end }}
{{ range $message.ToolCalls }}
<tool_call>
{{ printf "{\"name\": \"%s\", \"arguments\": %s}" .Function.Name (json .Function.Arguments) }}
</tool_call>
{{ end }}<|im_end>
{{ end }}
{{ else if eq $message.Role "tool" }}
<|im_start|>user
<tool_response>
{{ $message.Content }}
</tool_response><|im_end>
{{ end }}
{{ end }}
{{ if .AddGenerationPrompt }}
<|im_start|>assistant
<think>
{{ end }}