Qwen3-Coder-int8 / openvino_detokenizer.xml
shailesh83's picture
Add files using upload-large-folder tool
207a858 verified
<?xml version="1.0"?>
<net name="detokenizer" version="11">
<layers>
<layer id="0" name="Parameter_7635699" type="Parameter" version="opset1">
<data shape="?,?" element_type="i64" />
<output>
<port id="0" precision="I64" names="Parameter_7635699">
<dim>-1</dim>
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="1" name="Convert_7635898" type="Convert" version="opset1">
<data destination_type="i32" />
<input>
<port id="0" precision="I64">
<dim>-1</dim>
<dim>-1</dim>
</port>
</input>
<output>
<port id="1" precision="I32">
<dim>-1</dim>
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="2" name="Constant_7635701" type="Const" version="opset1">
<data element_type="i32" shape="151669" offset="0" size="606676" />
<output>
<port id="0" precision="I32">
<dim>151669</dim>
</port>
</output>
</layer>
<layer id="3" name="Constant_7635703" type="Const" version="opset1">
<data element_type="i32" shape="151669" offset="606676" size="606676" />
<output>
<port id="0" precision="I32">
<dim>151669</dim>
</port>
</output>
</layer>
<layer id="4" name="Constant_7635705" type="Const" version="opset1">
<data element_type="u8" shape="976309" offset="1213352" size="976309" />
<output>
<port id="0" precision="U8">
<dim>976309</dim>
</port>
</output>
</layer>
<layer id="5" name="Slice_7635710" type="Const" version="opset1">
<data element_type="i32" shape="14" offset="2189661" size="56" />
<output>
<port id="0" precision="I32">
<dim>14</dim>
</port>
</output>
</layer>
<layer id="6" name="VocabDecoder_7635712" type="VocabDecoder" version="extension">
<data skip_tokens="" />
<input>
<port id="0" precision="I32">
<dim>-1</dim>
<dim>-1</dim>
</port>
<port id="1" precision="I32">
<dim>151669</dim>
</port>
<port id="2" precision="I32">
<dim>151669</dim>
</port>
<port id="3" precision="U8">
<dim>976309</dim>
</port>
<port id="4" precision="I32">
<dim>14</dim>
</port>
</input>
<output>
<port id="5" precision="I32">
<dim>-1</dim>
</port>
<port id="6" precision="I32">
<dim>-1</dim>
</port>
<port id="7" precision="I32">
<dim>-1</dim>
</port>
<port id="8" precision="I32">
<dim>-1</dim>
</port>
<port id="9" precision="U8">
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="7" name="FuzeRagged_7635713" type="FuzeRagged" version="extension">
<input>
<port id="0" precision="I32">
<dim>-1</dim>
</port>
<port id="1" precision="I32">
<dim>-1</dim>
</port>
<port id="2" precision="I32">
<dim>-1</dim>
</port>
<port id="3" precision="I32">
<dim>-1</dim>
</port>
</input>
<output>
<port id="4" precision="I32">
<dim>-1</dim>
</port>
<port id="5" precision="I32">
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="8" name="UTF8Validate_7635714" type="UTF8Validate" version="extension">
<data replace_mode="true" />
<input>
<port id="0" precision="I32">
<dim>-1</dim>
</port>
<port id="1" precision="I32">
<dim>-1</dim>
</port>
<port id="2" precision="U8">
<dim>-1</dim>
</port>
</input>
<output>
<port id="3" precision="I32">
<dim>-1</dim>
</port>
<port id="4" precision="I32">
<dim>-1</dim>
</port>
<port id="5" precision="U8">
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="9" name="StringTensorPack_7635715" type="StringTensorPack" version="opset15">
<input>
<port id="0" precision="I32">
<dim>-1</dim>
</port>
<port id="1" precision="I32">
<dim>-1</dim>
</port>
<port id="2" precision="U8">
<dim>-1</dim>
</port>
</input>
<output>
<port id="3" precision="STRING" names="Result_7635716,string_output">
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="10" name="Result_7635716" type="Result" version="opset1" output_names="Result_7635716,string_output">
<input>
<port id="0" precision="STRING">
<dim>-1</dim>
</port>
</input>
</layer>
</layers>
<edges>
<edge from-layer="0" from-port="0" to-layer="1" to-port="0" />
<edge from-layer="1" from-port="1" to-layer="6" to-port="0" />
<edge from-layer="2" from-port="0" to-layer="6" to-port="1" />
<edge from-layer="3" from-port="0" to-layer="6" to-port="2" />
<edge from-layer="4" from-port="0" to-layer="6" to-port="3" />
<edge from-layer="5" from-port="0" to-layer="6" to-port="4" />
<edge from-layer="6" from-port="7" to-layer="7" to-port="2" />
<edge from-layer="6" from-port="9" to-layer="8" to-port="2" />
<edge from-layer="6" from-port="8" to-layer="7" to-port="3" />
<edge from-layer="6" from-port="6" to-layer="7" to-port="1" />
<edge from-layer="6" from-port="5" to-layer="7" to-port="0" />
<edge from-layer="7" from-port="4" to-layer="8" to-port="0" />
<edge from-layer="7" from-port="5" to-layer="8" to-port="1" />
<edge from-layer="8" from-port="3" to-layer="9" to-port="0" />
<edge from-layer="8" from-port="4" to-layer="9" to-port="1" />
<edge from-layer="8" from-port="5" to-layer="9" to-port="2" />
<edge from-layer="9" from-port="3" to-layer="10" to-port="0" />
</edges>
<rt_info>
<add_attention_mask value="True" />
<add_prefix_space />
<add_special_tokens value="True" />
<chat_template value="{% macro render_extra_keys(json_dict, handled_keys) %}&#10; {%- if json_dict is mapping %}&#10; {%- for json_key in json_dict if json_key not in handled_keys %}&#10; {%- if json_dict[json_key] is mapping or (json_dict[json_key] is sequence and json_dict[json_key] is not string) %}&#10; {{- '\n&lt;' ~ json_key ~ '>' ~ (json_dict[json_key] | tojson | safe) ~ '&lt;/' ~ json_key ~ '>' }}&#10; {%- else %}&#10; {{-'\n&lt;' ~ json_key ~ '>' ~ (json_dict[json_key] | string) ~ '&lt;/' ~ json_key ~ '>' }}&#10; {%- endif %}&#10; {%- endfor %}&#10; {%- endif %}&#10;{% endmacro %}&#10;&#10;{%- if messages[0][&quot;role&quot;] == &quot;system&quot; %}&#10; {%- set system_message = messages[0][&quot;content&quot;] %}&#10; {%- set loop_messages = messages[1:] %}&#10;{%- else %}&#10; {%- set loop_messages = messages %}&#10;{%- endif %}&#10;&#10;{%- if not tools is defined %}&#10; {%- set tools = [] %}&#10;{%- endif %}&#10;&#10;{%- if system_message is defined %}&#10; {{- &quot;&lt;|im_start|>system\n&quot; + system_message }}&#10;{%- else %}&#10; {%- if tools is iterable and tools | length > 0 %}&#10; {{- &quot;&lt;|im_start|>system\nYou are Qwen, a helpful AI assistant that can interact with a computer to solve tasks.&quot; }}&#10; {%- endif %}&#10;{%- endif %}&#10;{%- if tools is iterable and tools | length > 0 %}&#10; {{- &quot;\n\n# Tools\n\nYou have access to the following functions:\n\n&quot; }}&#10; {{- &quot;&lt;tools>&quot; }}&#10; {%- for tool in tools %}&#10; {%- if tool.function is defined %}&#10; {%- set tool = tool.function %}&#10; {%- endif %}&#10; {{- &quot;\n&lt;function>\n&lt;name>&quot; ~ tool.name ~ &quot;&lt;/name>&quot; }}&#10; {%- if tool.description is defined %}&#10; {{- '\n&lt;description>' ~ (tool.description | trim) ~ '&lt;/description>' }}&#10; {%- endif %}&#10; {{- '\n&lt;parameters>' }}&#10; {%- if tool.parameters is defined and tool.parameters is mapping and tool.parameters.properties is defined and tool.parameters.properties is mapping %}&#10; {%- for param_name, param_fields in tool.parameters.properties|items %}&#10; {{- '\n&lt;parameter>' }}&#10; {{- '\n&lt;name>' ~ param_name ~ '&lt;/name>' }}&#10; {%- if param_fields.type is defined %}&#10; {{- '\n&lt;type>' ~ (param_fields.type | string) ~ '&lt;/type>' }}&#10; {%- endif %}&#10; {%- if param_fields.description is defined %}&#10; {{- '\n&lt;description>' ~ (param_fields.description | trim) ~ '&lt;/description>' }}&#10; {%- endif %}&#10; {%- set handled_keys = ['name', 'type', 'description'] %}&#10; {{- render_extra_keys(param_fields, handled_keys) }}&#10; {{- '\n&lt;/parameter>' }}&#10; {%- endfor %}&#10; {%- endif %}&#10; {% set handled_keys = ['type', 'properties'] %}&#10; {{- render_extra_keys(tool.parameters, handled_keys) }}&#10; {{- '\n&lt;/parameters>' }}&#10; {%- set handled_keys = ['type', 'name', 'description', 'parameters'] %}&#10; {{- render_extra_keys(tool, handled_keys) }}&#10; {{- '\n&lt;/function>' }}&#10; {%- endfor %}&#10; {{- &quot;\n&lt;/tools>&quot; }}&#10; {{- '\n\nIf you choose to call a function ONLY reply in the following format with NO suffix:\n\n&lt;tool_call>\n&lt;function=example_function_name>\n&lt;parameter=example_parameter_1>\nvalue_1\n&lt;/parameter>\n&lt;parameter=example_parameter_2>\nThis is the value for the second parameter\nthat can span\nmultiple lines\n&lt;/parameter>\n&lt;/function>\n&lt;/tool_call>\n\n&lt;IMPORTANT>\nReminder:\n- Function calls MUST follow the specified format: an inner &lt;function=...>&lt;/function> block must be nested within &lt;tool_call>&lt;/tool_call> XML tags\n- Required parameters MUST be specified\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\n&lt;/IMPORTANT>' }}&#10;{%- endif %}&#10;{%- if system_message is defined %}&#10; {{- '&lt;|im_end|>\n' }}&#10;{%- else %}&#10; {%- if tools is iterable and tools | length > 0 %}&#10; {{- '&lt;|im_end|>\n' }}&#10; {%- endif %}&#10;{%- endif %}&#10;{%- for message in loop_messages %}&#10; {%- if message.role == &quot;assistant&quot; and message.tool_calls is defined and message.tool_calls is iterable and message.tool_calls | length > 0 %}&#10; {{- '&lt;|im_start|>' + message.role }}&#10; {%- if message.content is defined and message.content is string and message.content | trim | length > 0 %}&#10; {{- '\n' + message.content | trim + '\n' }}&#10; {%- endif %}&#10; {%- for tool_call in message.tool_calls %}&#10; {%- if tool_call.function is defined %}&#10; {%- set tool_call = tool_call.function %}&#10; {%- endif %}&#10; {{- '\n&lt;tool_call>\n&lt;function=' + tool_call.name + '>\n' }}&#10; {%- if tool_call.arguments is defined %}&#10; {%- for args_name, args_value in tool_call.arguments|items %}&#10; {{- '&lt;parameter=' + args_name + '>\n' }}&#10; {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}&#10; {{- args_value }}&#10; {{- '\n&lt;/parameter>\n' }}&#10; {%- endfor %}&#10; {%- endif %}&#10; {{- '&lt;/function>\n&lt;/tool_call>' }}&#10; {%- endfor %}&#10; {{- '&lt;|im_end|>\n' }}&#10; {%- elif message.role == &quot;user&quot; or message.role == &quot;system&quot; or message.role == &quot;assistant&quot; %}&#10; {{- '&lt;|im_start|>' + message.role + '\n' + message.content + '&lt;|im_end|>' + '\n' }}&#10; {%- elif message.role == &quot;tool&quot; %}&#10; {%- if loop.previtem and loop.previtem.role != &quot;tool&quot; %}&#10; {{- '&lt;|im_start|>user\n' }}&#10; {%- endif %}&#10; {{- '&lt;tool_response>\n' }}&#10; {{- message.content }}&#10; {{- '\n&lt;/tool_response>\n' }}&#10; {%- if not loop.last and loop.nextitem.role != &quot;tool&quot; %}&#10; {{- '&lt;|im_end|>\n' }}&#10; {%- elif loop.last %}&#10; {{- '&lt;|im_end|>\n' }}&#10; {%- endif %}&#10; {%- else %}&#10; {{- '&lt;|im_start|>' + message.role + '\n' + message.content + '&lt;|im_end|>\n' }}&#10; {%- endif %}&#10;{%- endfor %}&#10;{%- if add_generation_prompt %}&#10; {{- '&lt;|im_start|>assistant\n' }}&#10;{%- endif %}&#10;" />
<clean_up_tokenization_spaces />
<detokenizer_input_type value="i64" />
<eos_token_id value="151645" />
<handle_special_tokens_with_re />
<max_length />
<number_of_inputs value="1" />
<openvino_tokenizers_version value="2025.4.0.0-620-7bd0c7f7671" />
<openvino_version value="2025.4.0-20246-249126a2dbf-pull/32536/head" />
<original_post_processor_template value="{&quot;type&quot;: &quot;ByteLevel&quot;, &quot;add_prefix_space&quot;: true, &quot;trim_offsets&quot;: false, &quot;use_regex&quot;: true}" />
<original_tokenizer_class value="&lt;class 'transformers.models.qwen2.tokenization_qwen2_fast.Qwen2TokenizerFast'>" />
<pad_token_id value="151643" />
<sentencepiece_version value="0.2.1" />
<skip_special_tokens value="True" />
<streaming_detokenizer value="False" />
<tiktoken_version value="0.12.0" />
<tokenizer_output_type value="i64" />
<tokenizers_version value="0.21.4" />
<transformers_version value="4.55.4" />
<use_max_padding value="False" />
<use_sentencepiece_backend value="False" />
<utf8_replace_mode value="replace" />
<with_detokenizer value="True" />
</rt_info>
</net>