File size: 1,285 Bytes
63313af
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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 }}"""