# Qwen2.5 Coder Instruct (tool-calling) under Ollama # swap the FROM line for your quant: # FROM ./qwen-2.5-coder-toolcall-q8.gguf FROM ./qwen-2.5-coder-toolcall-bf16.gguf PARAMETER num_ctx 8192 PARAMETER temperature 0.2 PARAMETER top_p 0.9 PARAMETER repeat_penalty 1.1 PARAMETER stop "<|im_end|>" SYSTEM """ You are a precise CODESYS expert. Use tools to create/modify IEC 61131-3 Structured Text (ST) when appropriate. When calling a tool, you MUST return ONLY a single JSON object inside tags, exactly as: {"name": "", "arguments": { ... }} No extra prose, no code fences, no trailing text during a tool call. If no tool is needed, answer normally. """ # Qwen-style prompt with a Tools block. Important: render each tool as {"type":"function","function": ...} # and instruct the model to return the call inside . TEMPLATE """{{- if .System -}}<|im_start|>system {{ .System }}{{ if .Tools }} # Tools You may call one or more functions to assist with the user task. Function signatures are provided inside : {{- range .Tools }} {"type": "function", "function": {{ .Function }}} {{- end }} To call a function, return ONLY a single JSON object inside tags: {"name": , "arguments": } {{ end }} <|im_end|> {{- end -}} {{- range .Messages -}} <|im_start|>{{ .Role }} {{ .Content }}<|im_end|> {{- end -}} <|im_start|>assistant {{ .Response }}"""