<?xml version="1.0"?>
<net name="detokenizer" version="11">
	<layers>
		<layer id="0" name="Parameter_456843" type="Parameter" version="opset1">
			<data shape="?,?" element_type="i64" />
			<output>
				<port id="0" precision="I64" names="Parameter_456843">
					<dim>-1</dim>
					<dim>-1</dim>
				</port>
			</output>
		</layer>
		<layer id="1" name="Convert_456859" 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_456818" type="Const" version="opset1">
			<data element_type="u8" shape="1582931" offset="0" size="1582931" />
			<output>
				<port id="0" precision="U8">
					<dim>1582931</dim>
				</port>
			</output>
		</layer>
		<layer id="3" name="StringTensorUnpack_456819" type="StringTensorUnpack" version="extension">
			<data mode="begins_ends" />
			<input>
				<port id="0" precision="U8">
					<dim>1582931</dim>
				</port>
			</input>
			<output>
				<port id="1" precision="I32">
					<dim>-1</dim>
				</port>
				<port id="2" precision="I32">
					<dim>-1</dim>
				</port>
				<port id="3" precision="U8">
					<dim>-1</dim>
				</port>
			</output>
		</layer>
		<layer id="4" name="Constant_456847" type="Const" version="opset1">
			<data element_type="i32" shape="14" offset="1582931" size="56" />
			<output>
				<port id="0" precision="I32">
					<dim>14</dim>
				</port>
			</output>
		</layer>
		<layer id="5" name="Constant_456845" type="Const" version="opset1">
			<data element_type="i32" shape="1" offset="1582987" size="4" />
			<output>
				<port id="0" precision="I32">
					<dim>1</dim>
				</port>
			</output>
		</layer>
		<layer id="6" name="Constant_456844" type="Const" version="opset1">
			<data element_type="i32" shape="1" offset="1582991" size="4" />
			<output>
				<port id="0" precision="I32">
					<dim>1</dim>
				</port>
			</output>
		</layer>
		<layer id="7" name="Constant_456846" type="Const" version="opset1">
			<data element_type="i32" shape="1" offset="1582995" size="4" />
			<output>
				<port id="0" precision="I32">
					<dim>1</dim>
				</port>
			</output>
		</layer>
		<layer id="8" name="Constant_456849" type="Const" version="opset1">
			<data element_type="i64" shape="1" offset="1582999" size="8" />
			<output>
				<port id="0" precision="I64">
					<dim>1</dim>
				</port>
			</output>
		</layer>
		<layer id="9" name="Slice_456848" type="Slice" version="opset8">
			<input>
				<port id="0" precision="I32">
					<dim>14</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>
				<port id="4" precision="I64">
					<dim>1</dim>
				</port>
			</input>
			<output>
				<port id="5" precision="I32">
					<dim>14</dim>
				</port>
			</output>
		</layer>
		<layer id="10" name="VocabDecoder_456850" 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>-1</dim>
				</port>
				<port id="2" precision="I32">
					<dim>-1</dim>
				</port>
				<port id="3" precision="U8">
					<dim>-1</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="11" name="FuzeRagged_456851" 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="UTF8Validate_456852" 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="13" name="StringTensorPack_456853" 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="14" name="Result_456854" 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="1" to-port="0" />
		<edge from-layer="1" from-port="1" to-layer="10" to-port="0" />
		<edge from-layer="2" from-port="0" to-layer="3" to-port="0" />
		<edge from-layer="3" from-port="1" to-layer="10" to-port="1" />
		<edge from-layer="3" from-port="2" to-layer="10" to-port="2" />
		<edge from-layer="3" from-port="3" to-layer="10" to-port="3" />
		<edge from-layer="4" from-port="0" to-layer="9" to-port="0" />
		<edge from-layer="5" from-port="0" to-layer="9" to-port="1" />
		<edge from-layer="6" from-port="0" 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="4" />
		<edge from-layer="10" from-port="5" to-layer="11" to-port="0" />
		<edge from-layer="10" from-port="6" to-layer="11" to-port="1" />
		<edge from-layer="10" from-port="7" to-layer="11" to-port="2" />
		<edge from-layer="10" from-port="8" to-layer="11" to-port="3" />
		<edge from-layer="10" from-port="9" to-layer="12" to-port="2" />
		<edge from-layer="11" from-port="4" to-layer="12" to-port="0" />
		<edge from-layer="11" from-port="5" to-layer="12" to-port="1" />
		<edge from-layer="12" from-port="3" to-layer="13" to-port="0" />
		<edge from-layer="12" from-port="4" to-layer="13" to-port="1" />
		<edge from-layer="12" from-port="5" to-layer="13" to-port="2" />
		<edge from-layer="13" from-port="3" to-layer="14" to-port="0" />
	</edges>
	<rt_info>
		<add_attention_mask value="True" />
		<add_prefix_space />
		<add_special_tokens value="True" />
		<chat_template value="{%- if tools %}&#10;    {{- '&lt;|im_start|>system\n' }}&#10;    {%- if messages[0]['role'] == 'system' %}&#10;        {{- messages[0]['content'] }}&#10;    {%- else %}&#10;        {{- 'You are Qwen, created by Alibaba Cloud. You are a helpful assistant.' }}&#10;    {%- endif %}&#10;    {{- &quot;\n\n# Tools\n\nYou may call one or more functions to assist with the user query.\n\nYou are provided with function signatures within &lt;tools>&lt;/tools> XML tags:\n&lt;tools>&quot; }}&#10;    {%- for tool in tools %}&#10;        {{- &quot;\n&quot; }}&#10;        {{- tool | tojson }}&#10;    {%- endfor %}&#10;    {{- &quot;\n&lt;/tools>\n\nFor each function call, return a json object with function name and arguments within &lt;tool_call>&lt;/tool_call> XML tags:\n&lt;tool_call>\n{\&quot;name\&quot;: &lt;function-name>, \&quot;arguments\&quot;: &lt;args-json-object>}\n&lt;/tool_call>&lt;|im_end|>\n&quot; }}&#10;{%- else %}&#10;    {%- if messages[0]['role'] == 'system' %}&#10;        {{- '&lt;|im_start|>system\n' + messages[0]['content'] + '&lt;|im_end|>\n' }}&#10;    {%- else %}&#10;        {{- '&lt;|im_start|>system\nYou are Qwen, created by Alibaba Cloud. You are a helpful assistant.&lt;|im_end|>\n' }}&#10;    {%- endif %}&#10;{%- endif %}&#10;{%- for message in messages %}&#10;    {%- if (message.role == &quot;user&quot;) or (message.role == &quot;system&quot; and not loop.first) or (message.role == &quot;assistant&quot; and not message.tool_calls) %}&#10;        {{- '&lt;|im_start|>' + message.role + '\n' + message.content + '&lt;|im_end|>' + '\n' }}&#10;    {%- elif message.role == &quot;assistant&quot; %}&#10;        {{- '&lt;|im_start|>' + message.role }}&#10;        {%- if message.content %}&#10;            {{- '\n' + message.content }}&#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{&quot;name&quot;: &quot;' }}&#10;            {{- tool_call.name }}&#10;            {{- '&quot;, &quot;arguments&quot;: ' }}&#10;            {{- tool_call.arguments | tojson }}&#10;            {{- '}\n&lt;/tool_call>' }}&#10;        {%- endfor %}&#10;        {{- '&lt;|im_end|>\n' }}&#10;    {%- elif message.role == &quot;tool&quot; %}&#10;        {%- if (loop.index0 == 0) or (messages[loop.index0 - 1].role != &quot;tool&quot;) %}&#10;            {{- '&lt;|im_start|>user' }}&#10;        {%- endif %}&#10;        {{- '\n&lt;tool_response>\n' }}&#10;        {{- message.content }}&#10;        {{- '\n&lt;/tool_response>' }}&#10;        {%- if loop.last or (messages[loop.index0 + 1].role != &quot;tool&quot;) %}&#10;            {{- '&lt;|im_end|>\n' }}&#10;        {%- endif %}&#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="151643" />
		<handle_special_tokens_with_re />
		<number_of_inputs value="1" />
		<openvino_tokenizers_version value="2025.0.0.0.dev20250113" />
		<openvino_version value="2025.0.0.dev20250113" />
		<original_tokenizer_class value="&lt;class 'transformers.models.qwen2.tokenization_qwen2_fast.Qwen2TokenizerFast'>" />
		<pad_token_id value="151643" />
		<sentencepiece_version value="0.2.0" />
		<skip_special_tokens value="True" />
		<streaming_detokenizer value="False" />
		<tiktoken_version value="0.8.0" />
		<tokenizer_output_type value="i64" />
		<tokenizers_version value="0.20.3" />
		<transformers_version value="4.46.1" />
		<use_max_padding value="False" />
		<use_sentencepiece_backend value="False" />
		<utf8_replace_mode value="replace" />
		<with_detokenizer value="True" />
	</rt_info>
</net>