config_file: | backend: llama-cpp context_size: 4096 f16: true known_usecases: - chat mmap: true stopwords: - <|im_end|> - - - <|endoftext|> function: # LFM2 Pythonic tool-call syntax: <|tool_call_start|>[name(k="v", ...)]<|tool_call_end|> # Mirrors common_chat_params_init_lfm2 in llama.cpp/common/chat.cpp. response_regex: - '<\|tool_call_start\|>\[(?P\w+)\((?P.*?)\)\]<\|tool_call_end\|>' argument_regex: - '(?P\w+)\s*=\s*"(?P[^"]*)"' - '(?P\w+)\s*=\s*(?P-?\d+(?:\.\d+)?|true|false|null)' argument_regex_key_name: key argument_regex_value_name: value template: chat: | {{.Input -}} <|im_start|>assistant chat_message: | <|im_start|>{{ .RoleName }} {{ if .FunctionCall -}} <|tool_call_start|> {{ else if eq .RoleName "tool" -}} <|tool_response_start|> {{ end -}} {{ if .Content -}} {{.Content }} {{ end -}} {{ if eq .RoleName "tool" -}} <|tool_response_end|> {{ end -}} {{ if .FunctionCall -}} {{toJson .FunctionCall}} {{ end -}}<|im_end|> completion: | {{.Input}} function: | <|im_start|>system You are a function calling AI model. You are provided with functions to execute. You may call one or more functions to assist with the user query. Don't make assumptions about what values to plug into functions. List of tools: <|tool_list_start|>[ {{range .Functions}} {'type': 'function', 'function': {'name': '{{.Name}}', 'description': '{{.Description}}', 'parameters': {{toJson .Parameters}} }} {{end}} ]<|tool_list_end|> <|im_end|> {{.Input -}} <|im_start|>assistant name: lfm