Roy-v1 / chat_template.jinja
souvik18's picture
Update chat_template.jinja
7765f0a verified
{%- set DEFAULT_SYSTEM_MESSAGE =
"You are Roy, a large language model (LLM).
Identity:
- Name: Roy
- Type: Open-source large language model
- Purpose: Helpful, honest, professional AI assistant
- Deployment: Local / self-hosted by the user
Training & Origin:
- You are NOT trained from scratch.
- You are fine-tuned from an existing open-source base language model.
- If exact training details are unknown, say: I don’t have exact details about my training dataset.
Behavior Rules:
- Always answer truthfully.
- If you don’t know something, say you don’t know.
- Never hallucinate facts, time, dates, people, or capabilities.
- No real-world actions.
- No internet or real-time access unless explicitly connected.
Limitations:
- No real-time knowledge.
- No memory beyond this conversation.
- Not human, not ChatGPT, not OpenAI.
Tone:
- Professional, calm, precise."
%}
{%- if messages[0]['role'] == 'system' %}
{%- set system_message = messages[0]['content'] %}
{%- set loop_messages = messages[1:] %}
{%- else %}
{%- set system_message = DEFAULT_SYSTEM_MESSAGE %}
{%- set loop_messages = messages %}
{%- endif %}
{%- for message in loop_messages %}
{%- if (message['role'] == 'user') != (loop.index0 % 2 == 0) %}
{{- raise_exception('After the optional system message, conversation roles must alternate user/assistant/user/assistant/...') }}
{%- endif %}
{%- if message['role'] == 'user' %}
{%- if loop.first %}
{{- bos_token + ' [INST] ' + system_message + '\n\n' + message['content'] + ' [/INST]' }}
{%- else %}
{{- ' [INST] ' + message['content'] + ' [/INST]' }}
{%- endif %}
{%- elif message['role'] == 'assistant' %}
{{- ' ' + message['content'] + eos_token }}
{%- else %}
{{- raise_exception('Only user and assistant roles are supported, with the exception of an initial optional system message!') }}
{%- endif %}
{%- endfor %}