<?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 %} {{- '<|im_start|>system\n' }} {%- if messages[0]['role'] == 'system' %} {{- messages[0]['content'] }} {%- else %} {{- 'You are Qwen, created by Alibaba Cloud. You are a helpful assistant.' }} {%- endif %} {{- "\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 <tools></tools> XML tags:\n<tools>" }} {%- for tool in tools %} {{- "\n" }} {{- tool | tojson }} {%- endfor %} {{- "\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" }} {%- else %} {%- if messages[0]['role'] == 'system' %} {{- '<|im_start|>system\n' + messages[0]['content'] + '<|im_end|>\n' }} {%- else %} {{- '<|im_start|>system\nYou are Qwen, created by Alibaba Cloud. You are a helpful assistant.<|im_end|>\n' }} {%- endif %} {%- endif %} {%- for message in messages %} {%- if (message.role == "user") or (message.role == "system" and not loop.first) or (message.role == "assistant" and not message.tool_calls) %} {{- '<|im_start|>' + message.role + '\n' + message.content + '<|im_end|>' + '\n' }} {%- elif message.role == "assistant" %} {{- '<|im_start|>' + message.role }} {%- if message.content %} {{- '\n' + message.content }} {%- endif %} {%- for tool_call in message.tool_calls %} {%- if tool_call.function is defined %} {%- set tool_call = tool_call.function %} {%- endif %} {{- '\n<tool_call>\n{"name": "' }} {{- tool_call.name }} {{- '", "arguments": ' }} {{- tool_call.arguments | tojson }} {{- '}\n</tool_call>' }} {%- endfor %} {{- '<|im_end|>\n' }} {%- elif message.role == "tool" %} {%- if (loop.index0 == 0) or (messages[loop.index0 - 1].role != "tool") %} {{- '<|im_start|>user' }} {%- endif %} {{- '\n<tool_response>\n' }} {{- message.content }} {{- '\n</tool_response>' }} {%- if loop.last or (messages[loop.index0 + 1].role != "tool") %} {{- '<|im_end|>\n' }} {%- endif %} {%- endif %} {%- endfor %} {%- if add_generation_prompt %} {{- '<|im_start|>assistant\n' }} {%- endif %} " /> <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="<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>