|
{{- range $i, $_ := .Messages }} |
|
{{- if eq .Role "user" }} |
|
{{- if and $.Tools (le (len (slice $.Messages $i)) 2) }}[AVAILABLE_TOOLS] {{ $.Tools }}[/AVAILABLE_TOOLS] |
|
{{- end }}[INST] {{ if and $.System (eq (len (slice $.Messages $i)) 1) }}{{ $.System }} |
|
|
|
{{ end }}{{ .Content }}[/INST] |
|
{{- else if eq .Role "assistant" }} |
|
{{- if .Content }} {{ .Content }}{{ if not (eq (len (slice $.Messages $i)) 1) }}</s>{{ end }} |
|
{{- else if .ToolCalls }}[TOOL_CALLS] [ |
|
{{- range .ToolCalls }}{"name": "{{ .Function.Name }}", "arguments": {{ .Function.Arguments }}} |
|
{{- end }}]</s> |
|
{{- end }} |
|
{{- else if eq .Role "tool" }}[TOOL_RESULTS] {"content": {{ .Content }}} [/TOOL_RESULTS] |
|
{{- end }} |
|
{{- end }} |