---
name: "harmony"

config_file: |
  mmap: true
  backend: "llama-cpp"
  template:
    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|>
    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
    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
    completion: |
      {{.Input}}
  context_size: 8192
  f16: true
  stopwords:
  - '<|im_end|>'
  - '<dummy32000>'
  - '</s>'
  - '<|endoftext|>'
  - '<|return|>'
