| FROM ./qwen-2.5-coder-toolcall-q8.gguf | |
| PARAMETER num_ctx 8192 | |
| PARAMETER temperature 0.0 | |
| PARAMETER top_p 1.0 | |
| PARAMETER repeat_penalty 1.1 | |
| # Stop right after end-of-turn and right after a tool call | |
| PARAMETER stop "<|im_end|>" | |
| PARAMETER stop "</tool_call>" | |
| SYSTEM """ | |
| You are a precise CODESYS expert. Use tools to create/modify IEC 61131-3 ST when appropriate. | |
| When a tool is appropriate, you MUST return ONLY a single JSON object inside <tool_call> tags, exactly: | |
| <tool_call> | |
| {"name": "<function-name>", "arguments": { ... }} | |
| </tool_call> | |
| No explanations, no code fences, no extra text during a tool call. If a tool is not needed, answer normally. | |
| """ | |
| TEMPLATE """{{- if .System -}}<|im_start|>system | |
| {{ .System }}{{ if .Tools }} | |
| # Tools | |
| You may call one or more functions to assist with the task. | |
| Function signatures are provided inside <tools></tools>: | |
| <tools> | |
| {{- range .Tools }} | |
| {"type": "function", "function": {{ .Function }}} | |
| {{- end }} | |
| </tools> | |
| To call a function, return ONLY a single JSON object inside <tool_call> tags: | |
| <tool_call> | |
| {"name": <function-name>, "arguments": <args-json-object>} | |
| </tool_call> | |
| {{ end }} | |
| <|im_end|> | |
| {{- end -}} | |
| {{- range .Messages -}} | |
| <|im_start|>{{ .Role }} | |
| {{ .Content }}<|im_end|> | |
| {{- end -}} | |
| <|im_start|>assistant | |
| {{ .Response }}""" | |