初始化项目,由ModelHub XC社区提供模型
Model: mlx-community/sarashina2.2-3b-instruct-v0.1 Source: Original Platform
This commit is contained in:
71
chat_template.jinja
Normal file
71
chat_template.jinja
Normal file
@@ -0,0 +1,71 @@
|
||||
|
||||
{%- set user_messages = messages | selectattr('role', 'equalto', 'user') | list %}
|
||||
{%- macro output_available_tools(tools, message) %}
|
||||
{%- if tools and (message == user_messages[-1]) %}
|
||||
{{- '<|available_tools|>[' }}
|
||||
{%- for tool in tools %}
|
||||
{%- set tool = tool.function %}
|
||||
{{- "{" }}
|
||||
{%- for key, val in tool.items() if key != "return" %}
|
||||
{%- if val is string %}
|
||||
{{- "'" + key + "': '" + val + "'" }}
|
||||
{%- else %}
|
||||
{{- "'" + key + "': " + val|string }}
|
||||
{%- endif %}
|
||||
{%- if not loop.last %}
|
||||
{{- ", " }}
|
||||
{%- endif %}
|
||||
{%- endfor %}
|
||||
{{- "}" }}
|
||||
{%- if not loop.last %}
|
||||
{{- ", " }}
|
||||
{%- else %}
|
||||
{{- "]" }}
|
||||
{%- endif %}
|
||||
{%- endfor %}
|
||||
{{- eos_token -}}
|
||||
{%- endif %}
|
||||
{%- endmacro %}
|
||||
|
||||
{%- macro output_tool_results(tool_results) %}
|
||||
{{- '<|tool_results|>[' }}
|
||||
{%- for tool_result in tool_results %}
|
||||
{{- "{'content': " + tool_result.content|string + ", 'call_id': '" + tool_result.call_id + "'}" }}
|
||||
{%- endfor %}
|
||||
{{- ']' }}
|
||||
{{- eos_token -}}
|
||||
{%- endmacro %}
|
||||
|
||||
{%- macro output_tool_calls(tool_calls) %}
|
||||
{{- '<|tool_calls|>[' }}
|
||||
{%- for tool_call in tool_calls %}
|
||||
{{- "{'id': '" + tool_call.id + "', 'name': '" + tool_call.name + "', 'arguments': " + tool_call.arguments|string + '}' }}
|
||||
{%- endfor %}
|
||||
{{- ']' }}
|
||||
{%- endmacro %}
|
||||
|
||||
{%- for message in messages %}
|
||||
{%- if message['role'] == 'user' %}
|
||||
{%- if tools is defined %}
|
||||
{{- output_available_tools(tools, message) }}
|
||||
{%- endif %}
|
||||
{{- '<|user|>' + message['content'] + eos_token -}}
|
||||
{%- elif message['role'] == 'system' %}
|
||||
{{- '<|system|>' + message['content'] + eos_token -}}
|
||||
{%- elif message['role'] == 'assistant' %}
|
||||
{% set assistant_content = "" %}
|
||||
{%- if message.content is defined %}
|
||||
{% set assistant_content = message.content %}
|
||||
{%- endif %}
|
||||
{%- if message.tool_calls is defined and message.tool_calls -%}
|
||||
{{- '<|assistant|>' + assistant_content + output_tool_calls(message['tool_calls']) + eos_token -}}
|
||||
{%- else %}
|
||||
{{- '<|assistant|>' + assistant_content + eos_token }}
|
||||
{%- endif %}
|
||||
{%- elif message['role'] == 'tool_results' %}
|
||||
{{- output_tool_results(message.tool_results) }}
|
||||
{%- endif %}
|
||||
{%- if loop.last and add_generation_prompt -%}
|
||||
{{- '<|assistant|>' -}}
|
||||
{%- endif -%}
|
||||
{%- endfor %}
|
||||
Reference in New Issue
Block a user