config_file: |
    backend: llama-cpp
    context_size: 8192
    f16: true
    known_usecases:
        - chat
    mmap: true
    stopwords:
        - <|im_end|>
        - <dummy32000>
        - </s>
        - <|endoftext|>
        - <|return|>
    template:
        chat: |-
            <|start|>system<|message|>You are ChatGPT, a large language model trained by OpenAI.
            Knowledge cutoff: 2024-06
            Current date: {{ now | date "Mon Jan 2 15:04:05 MST 2006" }}

            Reasoning: {{if eq .ReasoningEffort ""}}medium{{else}}{{.ReasoningEffort}}{{end}}

            # {{with .Metadata}}{{ if ne .system_prompt "" }}{{ .system_prompt }}{{ end }}{{else}}You are a friendly and helpful assistant.{{ end }}<|end|>{{- .Input -}}<|start|>assistant
        chat_message: |-
            <|start|>{{ if .FunctionCall -}}functions.{{ .FunctionCall.Name }} to=assistant{{ else if eq .RoleName "assistant"}}assistant<|channel|>final<|message|>{{else}}{{ .RoleName }}{{end}}<|message|>
            {{- if .Content -}}
            {{- .Content -}}
            {{- end -}}
            {{- if .FunctionCall -}}
            {{- toJson .FunctionCall -}}
            {{- end -}}<|end|>
        completion: |
            {{.Input}}
        function: |-
            <|start|>system<|message|>You are ChatGPT, a large language model trained by OpenAI.
            Knowledge cutoff: 2024-06
            Current date: {{ now | date "Mon Jan 2 15:04:05 MST 2006" }}

            Reasoning: {{if eq .ReasoningEffort ""}}medium{{else}}{{.ReasoningEffort}}{{end}}

            # {{with .Metadata}}{{ if ne .system_prompt "" }}{{ .system_prompt }}{{ end }}{{else}}You are a friendly and helpful assistant.{{ end }}<|end|>{{- .Input -}}<|start|>assistant

            # Tools

            ## functions

            namespace functions {
            {{-range .Functions}}
            {{if .Description }}
            // {{ .Description }}
            {{- end }}
            {{- if and .Parameters.Properties (gt (len .Parameters.Properties) 0) }}
            type {{ .Name }} = (_: {
            {{- range $name, $prop := .Parameters.Properties }}
            {{- if $prop.Description }}
              // {{ $prop.Description }}
            {{- end }}
              {{ $name }}: {{ if gt (len $prop.Type) 1 }}{{ range $i, $t := $prop.Type }}{{ if $i }} | {{ end }}{{ $t }}{{ end }}{{ else }}{{ index $prop.Type 0 }}{{ end }},
            {{- end }}
            }) => any;
            {{- else }}
            type {{ .Function.Name }} = () => any;
            {{- end }}
            {{- end }}{{/* end of range .Functions */}}
            } // namespace functions

            # Instructions

            <|end|>{{.Input -}}<|start|>assistant
name: harmony
