| {% set default_system = 'Your name is Phi, an AI assistant developed by Microsoft.' %} |
| {{ '<|system|>' }}{{ default_system }} |
| {% for message in messages if message['role'] in ['system', 'developer'] %} |
| {{ message['content'] }} |
| {% endfor %} |
| {% if tools is defined and tools %} |
| <|tool|>{{ tools | tojson }}<|/tool|> |
| {% endif %}{{ '<|end|>' }} |
| {% for message in messages if message['role'] not in ['system', 'developer'] %} |
| {% if message['role'] == 'user' %} |
| {{ '<|user|>' }}{{ message['content'] }}{{ '<|end|>' }} |
| {% elif message['role'] == 'assistant' %} |
| {{ '<|assistant|>' }}{% if message.get('reasoning_content') %}<think> |
| {{ message['reasoning_content'] }} |
| </think> |
| {% endif %}{% if message.get('content') %}{{ message['content'] }}{% endif %} |
| {% for call in message.get('tool_calls', []) %}{{ '<|tool_call|>' }}{{ call['function']['name'] }} |
| {{ call['function']['arguments'] | tojson if call['function']['arguments'] is mapping else call['function']['arguments'] }}{{ '<|/tool_call|>' }} |
| {% endfor %}{{ '<|end|>' }} |
| {% elif message['role'] == 'tool' %} |
| {{ '<|tool_response|>' }}{{ message['content'] }}{{ '<|end|>' }} |
| {% endif %} |
| {% endfor %} |
| {% if add_generation_prompt %}{{ '<|assistant|>' }}{% else %}{{ eos_token }}{% endif %} |