{%- set language_pairs = {'en-zh-cn': {'source': 'English', 'target': 'Simplified Chinese'}, 'en-zh': {'source': 'English', 'target': 'Simplified Chinese'}, 'en-zh-tw': {'source': 'English', 'target': 'Traditional Chinese'}, 'en-ar': {'source': 'English', 'target': 'Arabic'}, 'en-de': {'source': 'English', 'target': 'German'}, 'en-es': {'source': 'English', 'target': 'European Spanish'}, 'en-es-es': {'source': 'English', 'target': 'European Spanish'}, 'en-es-us': {'source': 'English', 'target': 'Latin American Spanish'}, 'en-fr': {'source': 'English', 'target': 'French'}, 'en-ja': {'source': 'English', 'target': 'Japanese'}, 'en-ko': {'source': 'English', 'target': 'Korean'}, 'en-ru': {'source': 'English', 'target': 'Russian'}, 'en-pt': {'source': 'English', 'target': 'Brazilian Portuguese'}, 'en-pt-br': {'source': 'English', 'target': 'Brazilian Portuguese'}, 'en-pt-pt': {'source': 'English', 'target': 'European Portuguese'}, 'zh-en': {'source': 'Simplified Chinese', 'target': 'English'}, 'zh-cn-en': {'source': 'Simplified Chinese', 'target': 'English'}, 'zh-tw-en': {'source': 'Traditional Chinese', 'target': 'English'}, 'ar-en': {'source': 'Arabic', 'target': 'English'}, 'de-en': {'source': 'German', 'target': 'English'}, 'es-en': {'source': 'European Spanish', 'target': 'English'}, 'es-es-en': {'source': 'European Spanish', 'target': 'English'}, 'es-us-en': {'source': 'Latin American Spanish', 'target': 'English'}, 'fr-en': {'source': 'French', 'target': 'English'}, 'ja-en': {'source': 'Japanese', 'target': 'English'}, 'ko-en': {'source': 'Korean', 'target': 'English'}, 'ru-en': {'source': 'Russian', 'target': 'English'}, 'pt-en': {'source': 'Brazilian Portuguese', 'target': 'English'}, 'pt-br-en': {'source': 'Brazilian Portuguese', 'target': 'English'}, 'en-it': {'source': 'English', 'target': 'Italian'}, 'it-en': {'source': 'Italian', 'target': 'English'}, 'en-nl': {'source': 'English', 'target': 'Dutch'}, 'nl-en': {'source': 'Dutch', 'target': 'English'}, 'en-pl': {'source': 'English', 'target': 'Polish'}, 'pl-en': {'source': 'Polish', 'target': 'English'}, 'en-cs': {'source': 'English', 'target': 'Czech'}, 'cs-en': {'source': 'Czech', 'target': 'English'}, 'en-sv': {'source': 'English', 'target': 'Swedish'}, 'sv-en': {'source': 'Swedish', 'target': 'English'}, 'en-da': {'source': 'English', 'target': 'Danish'}, 'da-en': {'source': 'Danish', 'target': 'English'}, 'en-fi': {'source': 'English', 'target': 'Finnish'}, 'fi-en': {'source': 'Finnish', 'target': 'English'}, 'en-no': {'source': 'English', 'target': 'Norwegian'}, 'no-en': {'source': 'Norwegian', 'target': 'English'}, 'en-hu': {'source': 'English', 'target': 'Hungarian'}, 'hu-en': {'source': 'Hungarian', 'target': 'English'}, 'en-ro': {'source': 'English', 'target': 'Romanian'}, 'ro-en': {'source': 'Romanian', 'target': 'English'}, 'en-bg': {'source': 'English', 'target': 'Bulgarian'}, 'bg-en': {'source': 'Bulgarian', 'target': 'English'}, 'en-uk': {'source': 'English', 'target': 'Ukrainian'}, 'uk-en': {'source': 'Ukrainian', 'target': 'English'}, 'en-sk': {'source': 'English', 'target': 'Slovak'}, 'sk-en': {'source': 'Slovak', 'target': 'English'}, 'en-hr': {'source': 'English', 'target': 'Croatian'}, 'hr-en': {'source': 'Croatian', 'target': 'English'}, 'en-sl': {'source': 'English', 'target': 'Slovenian'}, 'sl-en': {'source': 'Slovenian', 'target': 'English'}, 'en-et': {'source': 'English', 'target': 'Estonian'}, 'et-en': {'source': 'Estonian', 'target': 'English'}, 'en-lv': {'source': 'English', 'target': 'Latvian'}, 'lv-en': {'source': 'Latvian', 'target': 'English'}, 'en-lt': {'source': 'English', 'target': 'Lithuanian'}, 'lt-en': {'source': 'Lithuanian', 'target': 'English'}, 'en-el': {'source': 'English', 'target': 'Greek'}, 'el-en': {'source': 'Greek', 'target': 'English'}, 'en-tr': {'source': 'English', 'target': 'Turkish'}, 'tr-en': {'source': 'Turkish', 'target': 'English'}, 'en-id': {'source': 'English', 'target': 'Indonesian'}, 'id-en': {'source': 'Indonesian', 'target': 'English'}, 'en-vi': {'source': 'English', 'target': 'Vietnamese'}, 'vi-en': {'source': 'Vietnamese', 'target': 'English'}, 'en-th': {'source': 'English', 'target': 'Thai'}, 'th-en': {'source': 'Thai', 'target': 'English'}, 'en-hi': {'source': 'English', 'target': 'Hindi'}, 'hi-en': {'source': 'Hindi', 'target': 'English'} } -%}{%- set system_message = '' -%}{%- set source_lang = '' -%}{%- set target_lang = '' -%}{%- if messages[0]['role'] == 'system' -%}{%- set lang_pair = messages[0]['content'] | trim -%}{%- set messages = messages[1:] -%}{%- if lang_pair in language_pairs -%}{%- set source_lang = language_pairs[lang_pair]['source'] -%}{%- set target_lang = language_pairs[lang_pair]['target'] -%}{%- set system_message = '' -%}{%- else -%}{%- set system_message = 'You are a translation expert.' -%}{%- endif -%}{%- endif -%}{{- 'System
' + system_message + '
' -}}{%- for message in messages -%}{%- if (message['role'] in ['user']) != (loop.index0 % 2 == 0) -%}{{- raise_exception('Conversation roles must alternate between user and assistant') -}}{%- elif message['role'] == 'user' -%}{%- set user_content = (target_lang and 'Translate this into ' + target_lang + ': ' + message['content'] | trim or message['content'] | trim) -%}{{- 'User
' + user_content + '
' -}}{%- elif message['role'] == 'assistant' -%}{{- 'Assistant
' + message['content'] | trim + '
' -}}{%- endif -%}{%- endfor -%}{%- if add_generation_prompt -%}{{ 'Assistant
' }}{%- endif -%}