char-fork/llama.cpp
git clone https://git.t4t.associates/char-fork/llama.cpp
566059a26
char/aliceai-t5-moe
1{%- if tools %} 2{{ - '<|im_start|>system\n' }} 3{%- if messages [ 0 ][ 'role' ] == 'system' %} 4{{ - messages [ 0 ][ 'content' ] }} 5{%- else %} 6{{ - '' }} 7{%- endif %} 8{{ - "\n\n# Tools\n\nYou may call one or more functions to assist with the user query.\n\nYou are provided with function signatures within <tools></tools> XML tags:\n<tools>" }} 9{%- for tool in tools %} 10{{ - "\n" }} 11{{ - tool | tojson }} 12{%- endfor %} 13{{ - "\n</tools>\n\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\n<tool_call>\n{\" name \ ": <function-name>, \" arguments \ ": <args-json-object>}\n</tool_call><|im_end|>\n" }} 14{%- else %} 15{%- if messages [ 0 ][ 'role' ] == 'system' %} 16{{ - '<|im_start|>system\n' + messages [ 0 ][ 'content' ] + '<|im_end|>\n' }} 17{%- endif %} 18{%- endif %} 19{%- for message in messages %} 20{%- if ( message . role == "user" ) or ( message . role == "system" and not loop . first ) %} 21{{ - '<|im_start|>' + message . role + '\n' + message . content + '<|im_end|>' + '\n' }} 22{%- elif message . role == "assistant" and not message . tool_calls %} 23{%- set content = message . content %} 24{%- if not loop . last %} 25{%- set content = message . content . split ( '</think>' )[- 1 ]. lstrip ( '\n' ) %} 26{%- endif %} 27{{ - '<|im_start|>' + message . role + '\n' + content + '<|im_end|>' + '\n' }} 28{%- elif message . role == "assistant" %} 29{%- set content = message . content %} 30{%- if not loop . last %} 31{%- set content = message . content . split ( '</think>' )[- 1 ]. lstrip ( '\n' ) %} 32{%- endif %} 33{{ - '<|im_start|>' + message . role }} 34{%- if message . content %} 35{{ - '\n' + content }} 36{%- endif %} 37{%- for tool_call in message . tool_calls %} 38{%- if tool_call . function is defined %} 39{%- set tool_call = tool_call . function %} 40{%- endif %} 41{{ - '\n<tool_call>\n{" name ": "' }} 42{{- tool_call.name }} 43{{- '", " arguments ": ' }} 44{{ - tool_call . arguments | tojson }} 45{{ - '}\n</tool_call>' }} 46{%- endfor %} 47{{ - '<|im_end|>\n' }} 48{%- elif message . role == "tool" %} 49{%- if ( loop . index0 == 0 ) or ( messages [ loop . index0 - 1 ]. role != "tool" ) %} 50{{ - '<|im_start|>user' }} 51{%- endif %} 52{{ - '\n<tool_response>\n' }} 53{{ - message . content }} 54{{ - '\n</tool_response>' }} 55{%- if loop . last or ( messages [ loop . index0 + 1 ]. role != "tool" ) %} 56{{ - '<|im_end|>\n' }} 57{%- endif %} 58{%- endif %} 59{%- endfor %} 60{%- if add_generation_prompt %} 61{{ - '<|im_start|>assistant\n<think>\n' }} 62{%- if not enable_thinking -%} {{ - '</think>' - }} {%- endif -%} 63{%- endif %}