CoolFace
Modelpublic

trl-internal-testing/tiny-Qwen3VLForConditionalGeneration

sourceHugging Faceupdated 4mo agoView on Hugging Face
0likes139kdownloads
chat_template.jinja121 linesDownload Raw Back to root
1{%- if tools %}2    {{- '<|im_start|>system\n' }}3    {%- if messages[0].role == 'system' %}4        {%- if messages[0].content is string %}5            {{- messages[0].content }}6        {%- else %}7            {%- for content in messages[0].content %}8                {%- if 'text' in content %}9                    {{- content.text }}10                {%- endif %}11            {%- endfor %}12        {%- endif %}13        {{- '\n\n' }}14    {%- endif %}15    {{- "# Tools\n\nYou may call one or more functions to assist with the user query.\n\nYou are provided with function signatures within <tools></tools> XML tags:\n<tools>" }}16    {%- for tool in tools %}17        {{- "\n" }}18        {{- tool | tojson }}19    {%- endfor %}20    {{- "\n</tools>\n\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\n<tool_call>\n{\"name\": <function-name>, \"arguments\": <args-json-object>}\n</tool_call><|im_end|>\n" }}21{%- else %}22    {%- if messages[0].role == 'system' %}23        {{- '<|im_start|>system\n' }}24        {%- if messages[0].content is string %}25            {{- messages[0].content }}26        {%- else %}27            {%- for content in messages[0].content %}28                {%- if 'text' in content %}29                    {{- content.text }}30                {%- endif %}31            {%- endfor %}32        {%- endif %}33        {{- '<|im_end|>\n' }}34    {%- endif %}35{%- endif %}36{%- set image_count = namespace(value=0) %}37{%- set video_count = namespace(value=0) %}38{%- for message in messages %}39    {%- if message.role == "user" %}40        {{- '<|im_start|>' + message.role + '\n' }}41        {%- if message.content is string %}42            {{- message.content }}43        {%- else %}44            {%- for content in message.content %}45                {%- if content.type == 'image' or 'image' in content or 'image_url' in content %}46                    {%- set image_count.value = image_count.value + 1 %}47                    {%- if add_vision_id %}Picture {{ image_count.value }}: {% endif -%}48                    <|vision_start|><|image_pad|><|vision_end|>49                {%- elif content.type == 'video' or 'video' in content %}50                    {%- set video_count.value = video_count.value + 1 %}51                    {%- if add_vision_id %}Video {{ video_count.value }}: {% endif -%}52                    <|vision_start|><|video_pad|><|vision_end|>53                {%- elif 'text' in content %}54                    {{- content.text }}55                {%- endif %}56            {%- endfor %}57        {%- endif %}58        {{- '<|im_end|>\n' }}59    {%- elif message.role == "assistant" %}60        {{- '<|im_start|>' + message.role + '\n' }}61        {%- if message.content is string %}62            {{- message.content }}63        {%- else %}64            {%- for content_item in message.content %}65                {%- if 'text' in content_item %}66                    {{- content_item.text }}67                {%- endif %}68            {%- endfor %}69        {%- endif %}70        {%- if message.tool_calls %}71            {%- for tool_call in message.tool_calls %}72                {%- if (loop.first and message.content) or (not loop.first) %}73                    {{- '\n' }}74                {%- endif %}75                {%- if tool_call.function %}76                    {%- set tool_call = tool_call.function %}77                {%- endif %}78                {{- '<tool_call>\n{"name": "' }}79                {{- tool_call.name }}80                {{- '", "arguments": ' }}81                {%- if tool_call.arguments is string %}82                    {{- tool_call.arguments }}83                {%- else %}84                    {{- tool_call.arguments | tojson }}85                {%- endif %}86                {{- '}\n</tool_call>' }}87            {%- endfor %}88        {%- endif %}89        {{- '<|im_end|>\n' }}90    {%- elif message.role == "tool" %}91        {%- if loop.first or (messages[loop.index0 - 1].role != "tool") %}92            {{- '<|im_start|>user' }}93        {%- endif %}94        {{- '\n<tool_response>\n' }}95        {%- if message.content is string %}96            {{- message.content }}97        {%- else %}98            {%- for content in message.content %}99                {%- if content.type == 'image' or 'image' in content or 'image_url' in content %}100                    {%- set image_count.value = image_count.value + 1 %}101                    {%- if add_vision_id %}Picture {{ image_count.value }}: {% endif -%}102                    <|vision_start|><|image_pad|><|vision_end|>103                {%- elif content.type == 'video' or 'video' in content %}104                    {%- set video_count.value = video_count.value + 1 %}105                    {%- if add_vision_id %}Video {{ video_count.value }}: {% endif -%}106                    <|vision_start|><|video_pad|><|vision_end|>107                {%- elif 'text' in content %}108                    {{- content.text }}109                {%- endif %}110            {%- endfor %}111        {%- endif %}112        {{- '\n</tool_response>' }}113        {%- if loop.last or (messages[loop.index0 + 1].role != "tool") %}114            {{- '<|im_end|>\n' }}115        {%- endif %}116    {%- endif %}117{%- endfor %}118{%- if add_generation_prompt %}119    {{- '<|im_start|>assistant\n' }}120{%- endif %}121