|
{{- range $index, $_ := .Messages }} |
|
{{- if eq .Role "system" }}[SYSTEM_PROMPT]{{ .Content }}[/SYSTEM_PROMPT] |
|
{{- else if eq .Role "user" }} |
|
{{- if and (le (len (slice $.Messages $index)) 2) $.Tools }}[AVAILABLE_TOOLS]{{ $.Tools }}[/AVAILABLE_TOOLS] |
|
{{- end }}[INST]{{ .Content }}[/INST] |
|
{{- else if eq .Role "assistant" }} |
|
{{- if .Content }}{{ .Content }} |
|
{{- if not (eq (len (slice $.Messages $index)) 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 }} |