DhiyaEddine ybelkada commited on
Commit
8c5ad10
·
verified ·
1 Parent(s): d32f0c4

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]>

Files changed (1) hide show
  1. chat_template.jinja +15 -2
chat_template.jinja CHANGED
@@ -1,4 +1,17 @@
1
- {{bos_token}}{% for message in messages %}{{'<|im_start|>' + message['role'] + '
 
 
 
 
 
 
 
 
 
 
 
 
 
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 %}