Update chat template to include function calling (#1)
Browse files- Update chat template to include function calling (8388086e7a85f7681a3cd2f9fc1fd65370738d9e)
Co-authored-by: Younes B <[email protected]>
- chat_template.jinja +15 -2
chat_template.jinja
CHANGED
@@ -1,4 +1,17 @@
|
|
1 |
-
{{bos_token}}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
' + message['content'] + '<|im_end|>' + '
|
3 |
-
'}}{% endfor %}{% if add_generation_prompt %}{{ '<|im_start|>assistant
|
4 |
' }}{% endif %}
|
|
|
1 |
+
{{bos_token}}
|
2 |
+
{%- if tools %}
|
3 |
+
{{- '<|im_start|>system\n' }}
|
4 |
+
{%- if messages[0].role == 'system' %}
|
5 |
+
{{- messages[0].content + '\n\n' }}
|
6 |
+
{%- endif %}
|
7 |
+
{{- "You are a function calling AI model. You are provided with function signature within <tools> </tools> XML tags. You may call one or more functions to assist with the user query. Don't make assumptions about what values to plug into functions.\n<tools>\n" }}
|
8 |
+
{%- for tool in tools %}[{{- tool | tojson }}]{%- endfor %}
|
9 |
+
{{- "\n</tools>\nFor each function call, return a json object with function name and arguments within <tool_call> </tool_call> tags with the following schema:\n<tool_call>\n{'arguments': <args-dict>, 'name': <function-name>}\n</tool_call>\n" }}
|
10 |
+
{%- else %}
|
11 |
+
{%- if messages[0].role == 'system' %}
|
12 |
+
{{- '<|im_start|>system\n' + messages[0].content + '<|im_end|>\n' }}
|
13 |
+
{%- endif %}
|
14 |
+
{%- endif %}{% for message in messages %}{%- if message.role != 'system' %}{{'<|im_start|>' + message['role'] + '
|
15 |
' + message['content'] + '<|im_end|>' + '
|
16 |
+
'}}{%- endif %}{% endfor %}{% if add_generation_prompt %}{{ '<|im_start|>assistant
|
17 |
' }}{% endif %}
|