|
{{- 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 }} |
|
{{- range $i, $_ := .ToolCalls }}[TOOL_CALLS]{{ .Function.Name }}[CALL_ID]{{ $i }}[ARGS]{{ .Function.Arguments }} |
|
{{- end }}</s> |
|
{{- end }} |
|
{{- else if eq .Role "tool" }}[TOOL_RESULTS]{"content": {{ .Content }}}[/TOOL_RESULTS] |
|
{{- end }} |
|
{{- end }} |