{{- bos_token -}} {%- if messages[0].role == 'system' -%} {%- set system_message = messages[0].content -%} {%- set messages = messages[1:] -%} {%- else -%} {%- set system_message = '' -%} {%- endif -%} {{- '<|im_start|>system\n' + system_message -}} {%- if tools -%} {{- '\n\n# Eszközök\n\nA felhasználói kérés megválaszolásához függvényeket hívhatsz. Az elérhető függvények szignatúrái XML címkék között:\n' -}} {%- for tool in tools -%} {%- set fn = tool.function if tool.function is defined else tool -%} {{- '\n' + (fn | tojson(ensure_ascii=False)) -}} {%- endfor -%} {{- '\n\n\nFüggvényhíváskor adj vissza egy json objektumot a függvény nevével és argumentumaival XML címkék között:\n\n{"name": , "arguments": }\n' -}} {%- endif -%} {{- '<|im_end|>\n' -}} {%- for message in messages -%} {%- if message.role == 'user' -%} {{- '<|im_start|>user\n' + message.content + '<|im_end|>\n' -}} {%- elif message.role == 'assistant' -%} {{- '<|im_start|>assistant\n' -}} {%- generation -%} {{- message.content or '' -}} {%- if message.tool_calls -%} {%- for tc in message.tool_calls -%} {%- set fn = tc.function -%} {{- '\n\n{"name": "' + fn.name + '", "arguments": ' -}} {%- if fn.arguments is string -%}{{- fn.arguments -}}{%- else -%}{{- fn.arguments | tojson(ensure_ascii=False) -}}{%- endif -%} {{- '}\n' -}} {%- endfor -%} {%- endif -%} {{- '<|im_end|>' -}} {%- endgeneration -%} {{- '\n' -}} {%- elif message.role == 'tool' -%} {{- '<|im_start|>user\n\n' + message.content + '\n<|im_end|>\n' -}} {%- endif -%} {%- endfor -%} {%- if add_generation_prompt -%} {{- '<|im_start|>assistant\n' -}} {%- endif -%}