--- name: "mathstral" config_file: | context_size: 8192 mmap: true stopwords: - "<|im_end|>" - "" - "" - "<|eot_id|>" - "<|end_of_text|>" - "" - "[/TOOL_CALLS]" - "[/ACTIONS]" - "[/INST]" - "[INST]" function: # disable injecting the "answer" tool disable_no_action: true grammar: # This allows the grammar to also return messages #mixed_mode: true # Not all models have a sketchpad or something to write thoughts on. # This one will OR reply to strings OR JSON, but not both in the same reply #no_mixed_free_string: true # Disable grammar # Base instructor model doesn't work well with grammars disable: true parallel_calls: true disable_parallel_new_lines: true return_name_in_function_response: true # Without grammar uncomment the lines below # Warning: this is relying only on the capability of the # LLM model to generate the correct function call. json_regex_match: - "(?s)\\[TOOL\\_CALLS\\](.*)" replace_function_results: # Replace everything that is not JSON array or object - key: '(?s)^[^{\[]*' value: "" - key: '(?s)[^}\]]*$' value: "" - key: "(?s)\\[TOOL\\_CALLS\\]" value: "" - key: "(?s)\\[\\/TOOL\\_CALLS\\]" value: "" template: join_chat_messages_by_character: "" ## No newlines between messages chat: | {{.Input -}} chat_message: |- {{- if .FunctionCall -}} [TOOL_CALLS] {{toJson .FunctionCall}} [/TOOL_CALLS] {{- else if eq .RoleName "tool" -}} [TOOL_RESULTS] {{.Content}} [/TOOL_RESULTS] {{- else -}} [INST] {{.Content }} [/INST] {{ end -}} completion: | {{.Input}} function: |- [AVAILABLE_TOOLS] [{{range .Functions}}{"type": "function", "function": {"name": "{{.Name}}", "description": "{{.Description}}", "parameters": {{toJson .Parameters}} }}{{end}} ] [/AVAILABLE_TOOLS]{{.Input }}