Mistral-7B-Instruct-v0.3-ov-awq / openvino_detokenizer.xml
fakezeta's picture
Upload folder using huggingface_hub
13637ca verified
<?xml version="1.0"?>
<net name="detokenizer" version="11">
<layers>
<layer id="0" name="Parameter_391611" type="Parameter" version="opset1">
<data shape="?,?" element_type="i64" />
<output>
<port id="0" precision="I64" names="Parameter_391611">
<dim>-1</dim>
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="1" name="Constant_391580" type="Const" version="opset1">
<data element_type="u8" shape="587404" offset="0" size="587404" />
<output>
<port id="0" precision="U8">
<dim>587404</dim>
</port>
</output>
</layer>
<layer id="2" name="Convert_391626" 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="3" name="SentencepieceDetokenizer_391612" type="SentencepieceDetokenizer" version="extension">
<input>
<port id="0" precision="U8">
<dim>587404</dim>
</port>
<port id="1" precision="I32">
<dim>-1</dim>
<dim>-1</dim>
</port>
</input>
<output>
<port id="2" precision="I32">
<dim>-1</dim>
</port>
<port id="3" precision="I32">
<dim>-1</dim>
</port>
<port id="4" precision="U8">
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="4" name="Constant_391614" type="Const" version="opset1">
<data element_type="u8" shape="10" offset="587404" size="10" />
<output>
<port id="0" precision="U8">
<dim>10</dim>
</port>
</output>
</layer>
<layer id="5" name="Constant_391616" type="Const" version="opset1">
<data element_type="u8" shape="2" offset="587414" size="2" />
<output>
<port id="0" precision="U8">
<dim>2</dim>
</port>
</output>
</layer>
<layer id="6" name="RegexNormalization_391617" 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>10</dim>
</port>
<port id="4" precision="U8">
<dim>2</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="7" name="StringTensorPack_391618" type="StringTensorPack" version="extension">
<data mode="begins_ends" />
<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="string_output">
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="8" name="Result_391619" type="Result" version="opset1">
<input>
<port id="0" precision="STRING">
<dim>-1</dim>
</port>
</input>
</layer>
</layers>
<edges>
<edge from-layer="0" from-port="0" to-layer="2" to-port="0" />
<edge from-layer="1" from-port="0" to-layer="3" to-port="0" />
<edge from-layer="2" from-port="1" to-layer="3" to-port="1" />
<edge from-layer="3" from-port="2" to-layer="6" to-port="0" />
<edge from-layer="3" from-port="3" to-layer="6" to-port="1" />
<edge from-layer="3" from-port="4" 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="5" to-layer="7" to-port="0" />
<edge from-layer="6" from-port="6" to-layer="7" to-port="1" />
<edge from-layer="6" from-port="7" to-layer="7" to-port="2" />
<edge from-layer="7" from-port="3" to-layer="8" to-port="0" />
</edges>
<rt_info>
<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;{%- for message in loop_messages | rejectattr(&quot;role&quot;, &quot;equalto&quot;, &quot;tool&quot;) | rejectattr(&quot;role&quot;, &quot;equalto&quot;, &quot;tool_results&quot;) | selectattr(&quot;tool_calls&quot;, &quot;undefined&quot;) %}&#10; {%- if (message[&quot;role&quot;] == &quot;user&quot;) != (loop.index0 % 2 == 0) %}&#10; {{- raise_exception(&quot;After the optional system message, conversation roles must alternate user/assistant/user/assistant/...&quot;) }}&#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[&quot;role&quot;] == &quot;tool_calls&quot; or message.tool_calls is defined %}&#10; {%- if message.tool_calls is defined %}&#10; {%- set tool_calls = message.tool_calls %}&#10; {%- else %}&#10; {%- set tool_calls = message.content %}&#10; {%- endif %}&#10; {{- &quot;[TOOL_CALLS] [&quot; }}&#10; {%- for tool_call in 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;] + 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;" />
<eos_token_id value="2" />
<original_tokenizer_class value="&lt;class 'transformers.models.llama.tokenization_llama_fast.LlamaTokenizerFast'>" />
</rt_info>
</net>