2024-04-23 17:35:45 +00:00
name : "hermes-2-pro-mistral"
config_file : |
mmap : true
template :
chat_message : |
<|im_start|>{{if eq .RoleName "assistant"}}assistant{{else if eq .RoleName "system"}}system{{else if eq .RoleName "tool"}}tool{{else if eq .RoleName "user"}}user{{end}}
{{- if .FunctionCall }}
<tool_call>
{{- else if eq .RoleName "tool" }}
<tool_response>
{{- end }}
{{- if .Content}}
{{.Content }}
{{- end }}
{{- if .FunctionCall}}
{{toJson .FunctionCall}}
{{- end }}
{{- if .FunctionCall }}
</tool_call>
{{- else if eq .RoleName "tool" }}
</tool_response>
2024-04-24 23:28:02 +00:00
{{- end }}<|im_end|>
2024-04-23 17:35:45 +00:00
# https://huggingface.co/NousResearch/Hermes-2-Pro-Mistral-7B-GGUF#prompt-format-for-function-calling
function : |
<|im_start|>system
You are a function calling AI model. You are provided with function signatures within <tools></tools> XML tags. You may call one or more functions to assist with the user query. Don't make assumptions about what values to plug into functions. Here are the available tools :
<tools>
{{range .Functions}}
{'type': 'function', 'function' : {'name' : '{{.Name}}' , 'description' : '{{.Description}}' , 'parameters' : {{toJson .Parameters}} }}
{{end}}
</tools>
Use the following pydantic model json schema for each tool call you will make :
{'title': 'FunctionCall', 'type': 'object', 'properties' : {'arguments' : {'title': 'Arguments', 'type': 'object'}, 'name' : {'title': 'Name', 'type': 'string'}}, 'required' : [ 'arguments' , 'name' ] }
For each function call return a json object with function name and arguments within <tool_call></tool_call> XML tags as follows :
<tool_call>
{'arguments': <args-dict>, 'name' : <function-name>}
2024-04-24 23:28:02 +00:00
</tool_call><|im_end|>
2024-04-23 17:35:45 +00:00
{{.Input -}}
<|im_start|>assistant
<tool_call>
chat : |
{{.Input -}}
<|im_start|>assistant
completion : |
{{.Input}}
context_size : 4096
f16 : true
stopwords :
- <|im_end|>
- <dummy32000>
- "\n</tool_call>"
- "\n\n\n"