Mistral-7B-Instruct-v0.3-int4-cw-ov / openvino_detokenizer.xml
openvino-ci's picture
Upload folder using huggingface_hub
f2b6dae verified
<?xml version="1.0"?>
<net name="detokenizer" version="11">
<layers>
<layer id="0" name="Parameter_102301" type="Parameter" version="opset1">
<data shape="?,?" element_type="i64" />
<output>
<port id="0" precision="I64" names="Parameter_102301">
<dim>-1</dim>
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="1" name="Convert_102496" 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_102254" type="Const" version="opset1">
<data element_type="i32" shape="32768" offset="0" size="131072" />
<output>
<port id="0" precision="I32">
<dim>32768</dim>
</port>
</output>
</layer>
<layer id="3" name="Constant_102256" type="Const" version="opset1">
<data element_type="i32" shape="32768" offset="131072" size="131072" />
<output>
<port id="0" precision="I32">
<dim>32768</dim>
</port>
</output>
</layer>
<layer id="4" name="Constant_102258" type="Const" version="opset1">
<data element_type="u8" shape="214558" offset="262144" size="214558" />
<output>
<port id="0" precision="U8">
<dim>214558</dim>
</port>
</output>
</layer>
<layer id="5" name="Slice_102306" type="Const" version="opset1">
<data element_type="i32" shape="771" offset="476702" size="3084" />
<output>
<port id="0" precision="I32">
<dim>771</dim>
</port>
</output>
</layer>
<layer id="6" name="VocabDecoder_102308" 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>32768</dim>
</port>
<port id="2" precision="I32">
<dim>32768</dim>
</port>
<port id="3" precision="U8">
<dim>214558</dim>
</port>
<port id="4" precision="I32">
<dim>771</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="Constant_102310" type="Const" version="opset1">
<data element_type="u8" shape="3" offset="479786" size="3" />
<output>
<port id="0" precision="U8">
<dim>3</dim>
</port>
</output>
</layer>
<layer id="8" name="Constant_102312" type="Const" version="opset1">
<data element_type="u8" shape="1" offset="479789" size="1" />
<output>
<port id="0" precision="U8">
<dim>1</dim>
</port>
</output>
</layer>
<layer id="9" name="RegexNormalization_102313" type="RegexNormalization" version="extension">
<data global_replace="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>
<port id="3" precision="U8">
<dim>3</dim>
</port>
<port id="4" precision="U8">
<dim>1</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="U8">
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="10" name="ByteFallback_102314" type="ByteFallback" 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="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="11" name="FuzeRagged_102315" 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="12" name="Constant_102317" type="Const" version="opset1">
<data element_type="u8" shape="2" offset="479790" size="2" />
<output>
<port id="0" precision="U8">
<dim>2</dim>
</port>
</output>
</layer>
<layer id="13" name="Constant_102319" type="Const" version="opset1">
<data element_type="u8" shape="0" offset="479792" size="1" />
<output>
<port id="0" precision="U8">
<dim>0</dim>
</port>
</output>
</layer>
<layer id="14" name="RegexNormalization_102320" type="RegexNormalization" version="extension">
<data global_replace="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>
<port id="3" precision="U8">
<dim>2</dim>
</port>
<port id="4" precision="U8">
<dim>0</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="U8">
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="15" name="UTF8Validate_102321" 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="16" name="StringTensorPack_102322" 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_102323,string_output">
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="17" name="Result_102323" type="Result" version="opset1" output_names="Result_102323,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="6" to-layer="11" to-port="1" />
<edge from-layer="6" from-port="5" to-layer="11" to-port="0" />
<edge from-layer="6" from-port="8" to-layer="9" to-port="1" />
<edge from-layer="6" from-port="7" to-layer="9" to-port="0" />
<edge from-layer="6" from-port="9" to-layer="9" to-port="2" />
<edge from-layer="7" from-port="0" to-layer="9" to-port="3" />
<edge from-layer="8" from-port="0" to-layer="9" to-port="4" />
<edge from-layer="9" from-port="5" to-layer="10" to-port="0" />
<edge from-layer="9" from-port="6" to-layer="10" to-port="1" />
<edge from-layer="9" from-port="7" to-layer="10" to-port="2" />
<edge from-layer="10" from-port="3" to-layer="11" to-port="2" />
<edge from-layer="10" from-port="4" to-layer="11" to-port="3" />
<edge from-layer="10" from-port="5" to-layer="14" to-port="2" />
<edge from-layer="11" from-port="5" to-layer="14" to-port="1" />
<edge from-layer="11" from-port="4" to-layer="14" to-port="0" />
<edge from-layer="12" from-port="0" to-layer="14" to-port="3" />
<edge from-layer="13" from-port="0" to-layer="14" to-port="4" />
<edge from-layer="14" from-port="5" to-layer="15" to-port="0" />
<edge from-layer="14" from-port="6" to-layer="15" to-port="1" />
<edge from-layer="14" from-port="7" to-layer="15" to-port="2" />
<edge from-layer="15" from-port="3" to-layer="16" to-port="0" />
<edge from-layer="15" from-port="4" to-layer="16" to-port="1" />
<edge from-layer="15" from-port="5" to-layer="16" to-port="2" />
<edge from-layer="16" from-port="3" to-layer="17" to-port="0" />
</edges>
<rt_info>
<add_attention_mask value="True" />
<add_prefix_space />
<add_special_tokens value="True" />
<bos_token_id value="1" />
<chat_template value="{%- 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;{%- if not tools is defined %}&#10; {%- set tools = none %}&#10;{%- endif %}&#10;{%- set user_messages = loop_messages | selectattr(&quot;role&quot;, &quot;equalto&quot;, &quot;user&quot;) | list %}&#10;&#10;{#- This block checks for alternating user/assistant messages, skipping tool calling messages #}&#10;{%- set ns = namespace() %}&#10;{%- set ns.index = 0 %}&#10;{%- for message in loop_messages %}&#10; {%- if not (message.role == &quot;tool&quot; or message.role == &quot;tool_results&quot; or (message.tool_calls is defined and message.tool_calls is not none)) %}&#10; {%- if (message[&quot;role&quot;] == &quot;user&quot;) != (ns.index % 2 == 0) %}&#10; {{- raise_exception(&quot;After the optional system message, conversation roles must alternate user/assistant/user/assistant/...&quot;) }}&#10; {%- endif %}&#10; {%- set ns.index = ns.index + 1 %}&#10; {%- endif %}&#10;{%- endfor %}&#10;&#10;{{- bos_token }}&#10;{%- for message in loop_messages %}&#10; {%- if message[&quot;role&quot;] == &quot;user&quot; %}&#10; {%- if tools is not none and (message == user_messages[-1]) %}&#10; {{- &quot;[AVAILABLE_TOOLS] [&quot; }}&#10; {%- for tool in tools %}&#10; {%- set tool = tool.function %}&#10; {{- '{&quot;type&quot;: &quot;function&quot;, &quot;function&quot;: {' }}&#10; {%- for key, val in tool.items() if key != &quot;return&quot; %}&#10; {%- if val is string %}&#10; {{- '&quot;' + key + '&quot;: &quot;' + val + '&quot;' }}&#10; {%- else %}&#10; {{- '&quot;' + key + '&quot;: ' + val|tojson }}&#10; {%- endif %}&#10; {%- if not loop.last %}&#10; {{- &quot;, &quot; }}&#10; {%- endif %}&#10; {%- endfor %}&#10; {{- &quot;}}&quot; }}&#10; {%- if not loop.last %}&#10; {{- &quot;, &quot; }}&#10; {%- else %}&#10; {{- &quot;]&quot; }}&#10; {%- endif %}&#10; {%- endfor %}&#10; {{- &quot;[/AVAILABLE_TOOLS]&quot; }}&#10; {%- endif %}&#10; {%- if loop.last and system_message is defined %}&#10; {{- &quot;[INST] &quot; + system_message + &quot;\n\n&quot; + message[&quot;content&quot;] + &quot;[/INST]&quot; }}&#10; {%- else %}&#10; {{- &quot;[INST] &quot; + message[&quot;content&quot;] + &quot;[/INST]&quot; }}&#10; {%- endif %}&#10; {%- elif message.tool_calls is defined and message.tool_calls is not none %}&#10; {{- &quot;[TOOL_CALLS] [&quot; }}&#10; {%- for tool_call in message.tool_calls %}&#10; {%- set out = tool_call.function|tojson %}&#10; {{- out[:-1] }}&#10; {%- if not tool_call.id is defined or tool_call.id|length != 9 %}&#10; {{- raise_exception(&quot;Tool call IDs should be alphanumeric strings with length 9!&quot;) }}&#10; {%- endif %}&#10; {{- ', &quot;id&quot;: &quot;' + tool_call.id + '&quot;}' }}&#10; {%- if not loop.last %}&#10; {{- &quot;, &quot; }}&#10; {%- else %}&#10; {{- &quot;]&quot; + eos_token }}&#10; {%- endif %}&#10; {%- endfor %}&#10; {%- elif message[&quot;role&quot;] == &quot;assistant&quot; %}&#10; {{- &quot; &quot; + message[&quot;content&quot;]|trim + eos_token}}&#10; {%- elif message[&quot;role&quot;] == &quot;tool_results&quot; or message[&quot;role&quot;] == &quot;tool&quot; %}&#10; {%- if message.content is defined and message.content.content is defined %}&#10; {%- set content = message.content.content %}&#10; {%- else %}&#10; {%- set content = message.content %}&#10; {%- endif %}&#10; {{- '[TOOL_RESULTS] {&quot;content&quot;: ' + content|string + &quot;, &quot; }}&#10; {%- if not message.tool_call_id is defined or message.tool_call_id|length != 9 %}&#10; {{- raise_exception(&quot;Tool call IDs should be alphanumeric strings with length 9!&quot;) }}&#10; {%- endif %}&#10; {{- '&quot;call_id&quot;: &quot;' + message.tool_call_id + '&quot;}[/TOOL_RESULTS]' }}&#10; {%- else %}&#10; {{- raise_exception(&quot;Only user and assistant roles are supported, with the exception of an initial optional system message!&quot;) }}&#10; {%- endif %}&#10;{%- endfor %}&#10;" />
<clean_up_tokenization_spaces />
<detokenizer_input_type value="i64" />
<eos_token_id value="2" />
<handle_special_tokens_with_re />
<max_length />
<number_of_inputs value="1" />
<openvino_tokenizers_version value="2025.2.0.0-566-85be884a69f" />
<openvino_version value="2025.2.0-19136-649eec15cfe-releases/2025/2" />
<original_post_processor_template value="{&quot;type&quot;: &quot;TemplateProcessing&quot;, &quot;single&quot;: [{&quot;SpecialToken&quot;: {&quot;id&quot;: &quot;&lt;s>&quot;, &quot;type_id&quot;: 0}}, {&quot;Sequence&quot;: {&quot;id&quot;: &quot;A&quot;, &quot;type_id&quot;: 0}}], &quot;pair&quot;: [{&quot;SpecialToken&quot;: {&quot;id&quot;: &quot;&lt;s>&quot;, &quot;type_id&quot;: 0}}, {&quot;Sequence&quot;: {&quot;id&quot;: &quot;A&quot;, &quot;type_id&quot;: 0}}, {&quot;SpecialToken&quot;: {&quot;id&quot;: &quot;&lt;s>&quot;, &quot;type_id&quot;: 1}}, {&quot;Sequence&quot;: {&quot;id&quot;: &quot;B&quot;, &quot;type_id&quot;: 1}}], &quot;special_tokens&quot;: {&quot;&lt;s>&quot;: {&quot;id&quot;: &quot;&lt;s>&quot;, &quot;ids&quot;: [1], &quot;tokens&quot;: [&quot;&lt;s>&quot;]}}}" />
<original_tokenizer_class value="&lt;class 'transformers.models.llama.tokenization_llama_fast.LlamaTokenizerFast'>" />
<processed_post_processor_template value="{&quot;single&quot;: {&quot;ids&quot;: [1, -1], &quot;type_ids&quot;: [0, 0]}, &quot;pair&quot;: {&quot;ids&quot;: [1, -1, 1, -2], &quot;type_ids&quot;: [0, 0, 1, 1]}}" />
<sentencepiece_version value="0.2.0" />
<skip_special_tokens value="True" />
<streaming_detokenizer value="False" />
<tiktoken_version value="0.9.0" />
<tokenizer_output_type value="i64" />
<tokenizers_version value="0.21.1" />
<transformers_version value="4.51.3" />
<use_max_padding value="False" />
<use_sentencepiece_backend value="False" />
<utf8_replace_mode value="replace" />
<with_detokenizer value="True" />
</rt_info>
</net>