Qwen3.5-35B-A3B-int4-ov / openvino_tokenizer.xml
openvino-ci's picture
Upload folder using huggingface_hub
0585c4e verified
raw
history blame contribute delete
32.6 kB
<?xml version="1.0"?>
<net name="tokenizer" version="11">
<layers>
<layer id="0" name="Parameter_458647" type="Parameter" version="opset1">
<data shape="?" element_type="string" />
<output>
<port id="0" precision="STRING" names="Parameter_458647">
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="1" name="Constant_458653" type="Const" version="opset1">
<data element_type="i64" shape="" offset="0" size="8" />
<output>
<port id="0" precision="I64" />
</output>
</layer>
<layer id="2" name="StringTensorUnpack_458648" type="StringTensorUnpack" version="opset15">
<input>
<port id="0" precision="STRING">
<dim>-1</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="3" name="ShapeOf_458649" type="ShapeOf" version="opset3">
<data output_type="i64" />
<input>
<port id="0" precision="I32">
<dim>-1</dim>
</port>
</input>
<output>
<port id="1" precision="I64">
<dim>1</dim>
</port>
</output>
</layer>
<layer id="4" name="Constant_458650" type="Const" version="opset1">
<data element_type="i64" shape="" offset="0" size="8" />
<output>
<port id="0" precision="I64" />
</output>
</layer>
<layer id="5" name="Constant_458651" type="Const" version="opset1">
<data element_type="i64" shape="" offset="0" size="8" />
<output>
<port id="0" precision="I64" />
</output>
</layer>
<layer id="6" name="Gather_458652" type="Gather" version="opset8">
<data batch_dims="0" />
<input>
<port id="0" precision="I64">
<dim>1</dim>
</port>
<port id="1" precision="I64" />
<port id="2" precision="I64" />
</input>
<output>
<port id="3" precision="I64" />
</output>
</layer>
<layer id="7" name="Constant_458654" type="Const" version="opset1">
<data element_type="i64" shape="" offset="8" size="8" />
<output>
<port id="0" precision="I64" />
</output>
</layer>
<layer id="8" name="Range_458655" type="Range" version="opset4">
<data output_type="i32" />
<input>
<port id="0" precision="I64" />
<port id="1" precision="I64" />
<port id="2" precision="I64" />
</input>
<output>
<port id="3" precision="I32">
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="9" name="Constant_458656" type="Const" version="opset1">
<data element_type="i64" shape="" offset="8" size="8" />
<output>
<port id="0" precision="I64" />
</output>
</layer>
<layer id="10" name="Constant_458657" type="Const" version="opset1">
<data element_type="i64" shape="" offset="8" size="8" />
<output>
<port id="0" precision="I64" />
</output>
</layer>
<layer id="11" name="Add_458658" type="Add" version="opset1">
<data auto_broadcast="numpy" />
<input>
<port id="0" precision="I64" />
<port id="1" precision="I64" />
</input>
<output>
<port id="2" precision="I64" />
</output>
</layer>
<layer id="12" name="Constant_458659" type="Const" version="opset1">
<data element_type="i64" shape="" offset="8" size="8" />
<output>
<port id="0" precision="I64" />
</output>
</layer>
<layer id="13" name="Range_458660" type="Range" version="opset4">
<data output_type="i32" />
<input>
<port id="0" precision="I64" />
<port id="1" precision="I64" />
<port id="2" precision="I64" />
</input>
<output>
<port id="3" precision="I32">
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="14" name="Constant_458724" type="Const" version="opset1">
<data element_type="u8" shape="588" offset="16" size="588" />
<output>
<port id="0" precision="U8">
<dim>588</dim>
</port>
</output>
</layer>
<layer id="15" name="SpecialTokensSplit_458725" type="SpecialTokensSplit" 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>
<port id="4" precision="U8">
<dim>-1</dim>
</port>
<port id="5" precision="U8">
<dim>588</dim>
</port>
</input>
<output>
<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="I32">
<dim>-1</dim>
</port>
<port id="10" precision="U8">
<dim>-1</dim>
</port>
<port id="11" precision="BOOL">
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="16" name="CharsMapNormalization_458726" type="CharsMapNormalization" version="extension">
<data add_dummy_prefix="false" remove_extra_whitespaces="false" escape_whitespaces="false" normalization_form="nfc" case_fold="false" nmt="false" />
<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="BOOL">
<dim>-1</dim>
</port>
</input>
<output>
<port id="4" precision="I32">
<dim>-1</dim>
</port>
<port id="5" precision="I32">
<dim>-1</dim>
</port>
<port id="6" precision="U8">
<dim>-1</dim>
</port>
<port id="7" precision="BOOL">
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="17" name="Constant_458728" type="Const" version="opset1">
<data element_type="u8" shape="122" offset="604" size="122" />
<output>
<port id="0" precision="U8">
<dim>122</dim>
</port>
</output>
</layer>
<layer id="18" name="RegexSplit_458729" type="RegexSplit" version="extension">
<data behaviour="isolate" invert="false" max_splits="-1" />
<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>
<port id="4" precision="U8">
<dim>-1</dim>
</port>
<port id="5" precision="BOOL">
<dim>-1</dim>
</port>
<port id="6" precision="U8">
<dim>122</dim>
</port>
</input>
<output>
<port id="7" precision="I32">
<dim>-1</dim>
</port>
<port id="8" precision="I32">
<dim>-1</dim>
</port>
<port id="9" precision="I32">
<dim>-1</dim>
</port>
<port id="10" precision="I32">
<dim>-1</dim>
</port>
<port id="11" precision="U8">
<dim>-1</dim>
</port>
<port id="12" precision="BOOL">
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="19" name="Constant_458731" type="Const" version="opset1">
<data element_type="i32" shape="248077" offset="726" size="992308" />
<output>
<port id="0" precision="I32">
<dim>248077</dim>
</port>
</output>
</layer>
<layer id="20" name="Constant_458733" type="Const" version="opset1">
<data element_type="i32" shape="248077" offset="993034" size="992308" />
<output>
<port id="0" precision="I32">
<dim>248077</dim>
</port>
</output>
</layer>
<layer id="21" name="Constant_458735" type="Const" version="opset1">
<data element_type="u8" shape="1843484" offset="1985342" size="1843484" />
<output>
<port id="0" precision="U8">
<dim>1843484</dim>
</port>
</output>
</layer>
<layer id="22" name="Constant_458743" type="Const" version="opset1">
<data element_type="i32" shape="247587" offset="3828826" size="990348" />
<output>
<port id="0" precision="I32">
<dim>247587</dim>
</port>
</output>
</layer>
<layer id="23" name="Constant_458745" type="Const" version="opset1">
<data element_type="i32" shape="247587" offset="4819174" size="990348" />
<output>
<port id="0" precision="I32">
<dim>247587</dim>
</port>
</output>
</layer>
<layer id="24" name="Constant_458747" type="Const" version="opset1">
<data element_type="u8" shape="938547" offset="5809522" size="938547" />
<output>
<port id="0" precision="U8">
<dim>938547</dim>
</port>
</output>
</layer>
<layer id="25" name="Constant_458749" type="Const" version="opset1">
<data element_type="i32" shape="247587" offset="6748069" size="990348" />
<output>
<port id="0" precision="I32">
<dim>247587</dim>
</port>
</output>
</layer>
<layer id="26" name="Constant_458751" type="Const" version="opset1">
<data element_type="i32" shape="247587" offset="7738417" size="990348" />
<output>
<port id="0" precision="I32">
<dim>247587</dim>
</port>
</output>
</layer>
<layer id="27" name="Constant_458753" type="Const" version="opset1">
<data element_type="u8" shape="901525" offset="8728765" size="901525" />
<output>
<port id="0" precision="U8">
<dim>901525</dim>
</port>
</output>
</layer>
<layer id="28" name="Constant_458737" type="Const" version="opset1">
<data element_type="i32" shape="33" offset="9630290" size="132" />
<output>
<port id="0" precision="I32">
<dim>33</dim>
</port>
</output>
</layer>
<layer id="29" name="Constant_458739" type="Const" version="opset1">
<data element_type="i32" shape="33" offset="9630422" size="132" />
<output>
<port id="0" precision="I32">
<dim>33</dim>
</port>
</output>
</layer>
<layer id="30" name="Constant_458741" type="Const" version="opset1">
<data element_type="u8" shape="439" offset="9630554" size="439" />
<output>
<port id="0" precision="U8">
<dim>439</dim>
</port>
</output>
</layer>
<layer id="31" name="Constant_458754" type="Const" version="opset1">
<data element_type="i32" shape="33" offset="9630993" size="132" />
<output>
<port id="0" precision="I32">
<dim>33</dim>
</port>
</output>
</layer>
<layer id="32" name="BPETokenizer_458755" type="BPETokenizer" version="extension">
<data unk_token="" fuse_unk="false" suffix_indicator="" end_suffix="" byte_fallback="false" cache_capacity="49608" />
<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>
<port id="4" precision="U8">
<dim>-1</dim>
</port>
<port id="5" precision="I32">
<dim>248077</dim>
</port>
<port id="6" precision="I32">
<dim>248077</dim>
</port>
<port id="7" precision="U8">
<dim>1843484</dim>
</port>
<port id="8" precision="I32">
<dim>247587</dim>
</port>
<port id="9" precision="I32">
<dim>247587</dim>
</port>
<port id="10" precision="U8">
<dim>938547</dim>
</port>
<port id="11" precision="I32">
<dim>247587</dim>
</port>
<port id="12" precision="I32">
<dim>247587</dim>
</port>
<port id="13" precision="U8">
<dim>901525</dim>
</port>
<port id="14" precision="I32">
<dim>33</dim>
</port>
<port id="15" precision="I32">
<dim>33</dim>
</port>
<port id="16" precision="U8">
<dim>439</dim>
</port>
<port id="17" precision="I32">
<dim>33</dim>
</port>
</input>
<output>
<port id="18" precision="I32">
<dim>-1</dim>
</port>
<port id="19" precision="I32">
<dim>-1</dim>
</port>
<port id="20" precision="I32">
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="33" name="Constant_458756" type="Const" version="opset1">
<data element_type="i32" shape="" offset="9631125" size="4" />
<output>
<port id="0" precision="I32" />
</output>
</layer>
<layer id="34" name="Constant_458758" type="Const" version="opset1">
<data element_type="u8" shape="4" offset="9631129" size="4" />
<output>
<port id="0" precision="U8">
<dim>4</dim>
</port>
</output>
</layer>
<layer id="35" name="Constant_458760" type="Const" version="opset1">
<data element_type="u8" shape="13" offset="9631133" size="13" />
<output>
<port id="0" precision="U8">
<dim>13</dim>
</port>
</output>
</layer>
<layer id="36" name="Truncate_458761" type="Truncate" version="extension">
<data m_num_inputs="1" />
<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" />
<port id="4" precision="U8">
<dim>4</dim>
</port>
<port id="5" precision="U8">
<dim>13</dim>
</port>
</input>
<output>
<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>
</output>
</layer>
<layer id="37" name="Constant_458762" type="Const" version="opset1">
<data element_type="i32" shape="1" offset="9631146" size="4" />
<output>
<port id="0" precision="I32">
<dim>1</dim>
</port>
</output>
</layer>
<layer id="38" name="CombineSegments_458763" type="CombineSegments" 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>
<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="I32">
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="39" name="Subtract_458764" type="Subtract" version="opset1">
<data auto_broadcast="numpy" />
<input>
<port id="0" precision="I32">
<dim>-1</dim>
</port>
<port id="1" precision="I32">
<dim>-1</dim>
</port>
</input>
<output>
<port id="2" precision="I32">
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="40" name="Constant_458765" type="Const" version="opset1">
<data element_type="i32" shape="" offset="9631146" size="4" />
<output>
<port id="0" precision="I32" />
</output>
</layer>
<layer id="41" name="ReduceMax_458766" type="ReduceMax" version="opset1">
<data keep_dims="false" />
<input>
<port id="0" precision="I32">
<dim>-1</dim>
</port>
<port id="1" precision="I32" />
</input>
<output>
<port id="2" precision="I32" />
</output>
</layer>
<layer id="42" name="Constant_458767" type="Const" version="opset1">
<data element_type="i32" shape="" offset="9631150" size="4" />
<output>
<port id="0" precision="I32" />
</output>
</layer>
<layer id="43" name="RaggedToDense_458768" type="RaggedToDense" version="extension">
<data pad_right="false" m_pad_max_length="false" />
<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" />
<port id="4" precision="I32" />
</input>
<output>
<port id="5" precision="I32">
<dim>-1</dim>
<dim>-1</dim>
</port>
<port id="6" precision="BOOL">
<dim>-1</dim>
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="44" name="Convert_458769" type="Convert" version="opset1">
<data destination_type="i32" />
<input>
<port id="0" precision="BOOL">
<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="45" name="Convert_458769.0" type="Convert" version="opset1">
<data destination_type="i64" />
<input>
<port id="0" precision="I32">
<dim>-1</dim>
<dim>-1</dim>
</port>
</input>
<output>
<port id="1" precision="I64" names="attention_mask">
<dim>-1</dim>
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="46" name="RaggedToDense_458768.0" type="Convert" version="opset1">
<data destination_type="i64" />
<input>
<port id="0" precision="I32">
<dim>-1</dim>
<dim>-1</dim>
</port>
</input>
<output>
<port id="1" precision="I64" names="input_ids">
<dim>-1</dim>
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="47" name="Result_458772" type="Result" version="opset1" output_names="input_ids">
<input>
<port id="0" precision="I64">
<dim>-1</dim>
<dim>-1</dim>
</port>
</input>
</layer>
<layer id="48" name="Result_458774" type="Result" version="opset1" output_names="attention_mask">
<input>
<port id="0" precision="I64">
<dim>-1</dim>
<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="8" to-port="0" />
<edge from-layer="2" from-port="1" to-layer="3" to-port="0" />
<edge from-layer="2" from-port="3" to-layer="15" to-port="4" />
<edge from-layer="2" from-port="2" to-layer="15" to-port="3" />
<edge from-layer="2" from-port="1" to-layer="15" to-port="2" />
<edge from-layer="3" from-port="1" to-layer="6" to-port="0" />
<edge from-layer="4" from-port="0" to-layer="6" to-port="1" />
<edge from-layer="5" from-port="0" to-layer="6" to-port="2" />
<edge from-layer="6" from-port="3" to-layer="11" to-port="0" />
<edge from-layer="6" from-port="3" to-layer="8" to-port="1" />
<edge from-layer="7" from-port="0" to-layer="8" to-port="2" />
<edge from-layer="8" from-port="3" to-layer="15" to-port="0" />
<edge from-layer="9" from-port="0" to-layer="13" to-port="0" />
<edge from-layer="10" from-port="0" to-layer="11" to-port="1" />
<edge from-layer="11" from-port="2" to-layer="13" to-port="1" />
<edge from-layer="12" from-port="0" to-layer="13" to-port="2" />
<edge from-layer="13" from-port="3" to-layer="15" to-port="1" />
<edge from-layer="14" from-port="0" to-layer="15" to-port="5" />
<edge from-layer="15" from-port="10" to-layer="16" to-port="2" />
<edge from-layer="15" from-port="7" to-layer="18" to-port="1" />
<edge from-layer="15" from-port="6" to-layer="18" to-port="0" />
<edge from-layer="15" from-port="11" to-layer="16" to-port="3" />
<edge from-layer="15" from-port="9" to-layer="16" to-port="1" />
<edge from-layer="15" from-port="8" to-layer="16" to-port="0" />
<edge from-layer="16" from-port="4" to-layer="18" to-port="2" />
<edge from-layer="16" from-port="5" to-layer="18" to-port="3" />
<edge from-layer="16" from-port="6" to-layer="18" to-port="4" />
<edge from-layer="16" from-port="7" to-layer="18" to-port="5" />
<edge from-layer="17" from-port="0" to-layer="18" to-port="6" />
<edge from-layer="18" from-port="7" to-layer="32" to-port="0" />
<edge from-layer="18" from-port="8" to-layer="32" to-port="1" />
<edge from-layer="18" from-port="9" to-layer="32" to-port="2" />
<edge from-layer="18" from-port="10" to-layer="32" to-port="3" />
<edge from-layer="18" from-port="11" to-layer="32" to-port="4" />
<edge from-layer="19" from-port="0" to-layer="32" to-port="5" />
<edge from-layer="20" from-port="0" to-layer="32" to-port="6" />
<edge from-layer="21" from-port="0" to-layer="32" to-port="7" />
<edge from-layer="22" from-port="0" to-layer="32" to-port="8" />
<edge from-layer="23" from-port="0" to-layer="32" to-port="9" />
<edge from-layer="24" from-port="0" to-layer="32" to-port="10" />
<edge from-layer="25" from-port="0" to-layer="32" to-port="11" />
<edge from-layer="26" from-port="0" to-layer="32" to-port="12" />
<edge from-layer="27" from-port="0" to-layer="32" to-port="13" />
<edge from-layer="28" from-port="0" to-layer="32" to-port="14" />
<edge from-layer="29" from-port="0" to-layer="32" to-port="15" />
<edge from-layer="30" from-port="0" to-layer="32" to-port="16" />
<edge from-layer="31" from-port="0" to-layer="32" to-port="17" />
<edge from-layer="32" from-port="18" to-layer="36" to-port="0" />
<edge from-layer="32" from-port="19" to-layer="36" to-port="1" />
<edge from-layer="32" from-port="20" to-layer="36" to-port="2" />
<edge from-layer="33" from-port="0" to-layer="36" to-port="3" />
<edge from-layer="34" from-port="0" to-layer="36" to-port="4" />
<edge from-layer="35" from-port="0" to-layer="36" to-port="5" />
<edge from-layer="36" from-port="6" to-layer="38" to-port="0" />
<edge from-layer="36" from-port="8" to-layer="38" to-port="2" />
<edge from-layer="36" from-port="7" to-layer="38" to-port="1" />
<edge from-layer="37" from-port="0" to-layer="38" to-port="3" />
<edge from-layer="38" from-port="5" to-layer="39" to-port="0" />
<edge from-layer="38" from-port="4" to-layer="39" to-port="1" />
<edge from-layer="38" from-port="4" to-layer="43" to-port="0" />
<edge from-layer="38" from-port="5" to-layer="43" to-port="1" />
<edge from-layer="38" from-port="6" to-layer="43" to-port="2" />
<edge from-layer="39" from-port="2" to-layer="41" to-port="0" />
<edge from-layer="40" from-port="0" to-layer="41" to-port="1" />
<edge from-layer="41" from-port="2" to-layer="43" to-port="3" />
<edge from-layer="42" from-port="0" to-layer="43" to-port="4" />
<edge from-layer="43" from-port="6" to-layer="44" to-port="0" />
<edge from-layer="43" from-port="5" to-layer="46" to-port="0" />
<edge from-layer="44" from-port="1" to-layer="45" to-port="0" />
<edge from-layer="45" from-port="1" to-layer="48" to-port="0" />
<edge from-layer="46" from-port="1" to-layer="47" to-port="0" />
</edges>
<rt_info>
<info name="OpenVINO Runtime" value="2026.2.0-21894-5ec01181735-releases/2026/2" />
<add_attention_mask value="True" />
<add_prefix_space />
<add_special_tokens value="True" />
<chat_template value="{%- set image_count = namespace(value=0) %}&#10;{%- set video_count = namespace(value=0) %}&#10;{%- macro render_content(content, do_vision_count, is_system_content=false) %}&#10; {%- if content is string %}&#10; {{- content }}&#10; {%- elif content is iterable and content is not mapping %}&#10; {%- for item in content %}&#10; {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}&#10; {%- if is_system_content %}&#10; {{- raise_exception('System message cannot contain images.') }}&#10; {%- endif %}&#10; {%- if do_vision_count %}&#10; {%- set image_count.value = image_count.value + 1 %}&#10; {%- endif %}&#10; {%- if add_vision_id %}&#10; {{- 'Picture ' ~ image_count.value ~ ': ' }}&#10; {%- endif %}&#10; {{- '&lt;|vision_start|>&lt;|image_pad|>&lt;|vision_end|>' }}&#10; {%- elif 'video' in item or item.type == 'video' %}&#10; {%- if is_system_content %}&#10; {{- raise_exception('System message cannot contain videos.') }}&#10; {%- endif %}&#10; {%- if do_vision_count %}&#10; {%- set video_count.value = video_count.value + 1 %}&#10; {%- endif %}&#10; {%- if add_vision_id %}&#10; {{- 'Video ' ~ video_count.value ~ ': ' }}&#10; {%- endif %}&#10; {{- '&lt;|vision_start|>&lt;|video_pad|>&lt;|vision_end|>' }}&#10; {%- elif 'text' in item %}&#10; {{- item.text }}&#10; {%- else %}&#10; {{- raise_exception('Unexpected item type in content.') }}&#10; {%- endif %}&#10; {%- endfor %}&#10; {%- elif content is none or content is undefined %}&#10; {{- '' }}&#10; {%- else %}&#10; {{- raise_exception('Unexpected content type.') }}&#10; {%- endif %}&#10;{%- endmacro %}&#10;{%- if not messages %}&#10; {{- raise_exception('No messages provided.') }}&#10;{%- endif %}&#10;{%- if tools and tools is iterable and tools is not mapping %}&#10; {{- '&lt;|im_start|>system\n' }}&#10; {{- &quot;# Tools\n\nYou have access to the following functions:\n\n&lt;tools>&quot; }}&#10; {%- for tool in tools %}&#10; {{- &quot;\n&quot; }}&#10; {{- tool | tojson }}&#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; {%- if messages[0].role == 'system' %}&#10; {%- set content = render_content(messages[0].content, false, true)|trim %}&#10; {%- if content %}&#10; {{- '\n\n' + content }}&#10; {%- endif %}&#10; {%- endif %}&#10; {{- '&lt;|im_end|>\n' }}&#10;{%- else %}&#10; {%- if messages[0].role == 'system' %}&#10; {%- set content = render_content(messages[0].content, false, true)|trim %}&#10; {{- '&lt;|im_start|>system\n' + content + '&lt;|im_end|>\n' }}&#10; {%- endif %}&#10;{%- endif %}&#10;{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}&#10;{%- for message in messages[::-1] %}&#10; {%- set index = (messages|length - 1) - loop.index0 %}&#10; {%- if ns.multi_step_tool and message.role == &quot;user&quot; %}&#10; {%- set content = render_content(message.content, false)|trim %}&#10; {%- if not(content.startswith('&lt;tool_response>') and content.endswith('&lt;/tool_response>')) %}&#10; {%- set ns.multi_step_tool = false %}&#10; {%- set ns.last_query_index = index %}&#10; {%- endif %}&#10; {%- endif %}&#10;{%- endfor %}&#10;{%- if ns.multi_step_tool %}&#10; {{- raise_exception('No user query found in messages.') }}&#10;{%- endif %}&#10;{%- for message in messages %}&#10; {%- set content = render_content(message.content, true)|trim %}&#10; {%- if message.role == &quot;system&quot; %}&#10; {%- if not loop.first %}&#10; {{- raise_exception('System message must be at the beginning.') }}&#10; {%- endif %}&#10; {%- elif message.role == &quot;user&quot; %}&#10; {{- '&lt;|im_start|>' + message.role + '\n' + content + '&lt;|im_end|>' + '\n' }}&#10; {%- elif message.role == &quot;assistant&quot; %}&#10; {%- set reasoning_content = '' %}&#10; {%- if message.reasoning_content is string %}&#10; {%- set reasoning_content = message.reasoning_content %}&#10; {%- else %}&#10; {%- if '&lt;/think>' in content %}&#10; {%- set reasoning_content = content.split('&lt;/think>')[0].rstrip('\n').split('&lt;think>')[-1].lstrip('\n') %}&#10; {%- set content = content.split('&lt;/think>')[-1].lstrip('\n') %}&#10; {%- endif %}&#10; {%- endif %}&#10; {%- set reasoning_content = reasoning_content|trim %}&#10; {%- if loop.index0 > ns.last_query_index %}&#10; {{- '&lt;|im_start|>' + message.role + '\n&lt;think>\n' + reasoning_content + '\n&lt;/think>\n\n' + content }}&#10; {%- else %}&#10; {{- '&lt;|im_start|>' + message.role + '\n' + content }}&#10; {%- endif %}&#10; {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}&#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; {%- if loop.first %}&#10; {%- if content|trim %}&#10; {{- '\n\n&lt;tool_call>\n&lt;function=' + tool_call.name + '>\n' }}&#10; {%- else %}&#10; {{- '&lt;tool_call>\n&lt;function=' + tool_call.name + '>\n' }}&#10; {%- endif %}&#10; {%- else %}&#10; {{- '\n&lt;tool_call>\n&lt;function=' + tool_call.name + '>\n' }}&#10; {%- endif %}&#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; {%- endif %}&#10; {{- '&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' }}&#10; {%- endif %}&#10; {{- '\n&lt;tool_response>\n' }}&#10; {{- content }}&#10; {{- '\n&lt;/tool_response>' }}&#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; {{- raise_exception('Unexpected message role.') }}&#10; {%- endif %}&#10;{%- endfor %}&#10;{%- if add_generation_prompt %}&#10; {{- '&lt;|im_start|>assistant\n' }}&#10; {%- if enable_thinking is defined and enable_thinking is false %}&#10; {{- '&lt;think>\n\n&lt;/think>\n\n' }}&#10; {%- else %}&#10; {{- '&lt;think>\n' }}&#10; {%- endif %}&#10;{%- endif %}" />
<clean_up_tokenization_spaces />
<detokenizer_input_type value="i64" />
<eos_token_id value="248046" />
<handle_special_tokens_with_re />
<max_length />
<number_of_inputs value="1" />
<openvino_tokenizers_version value="2026.2.0.0-681-f43dbd55981" />
<openvino_version value="2026.2.0-21894-5ec01181735-releases/2026/2" />
<original_post_processor_template value="{&quot;type&quot;: &quot;ByteLevel&quot;, &quot;add_prefix_space&quot;: false, &quot;trim_offsets&quot;: false, &quot;use_regex&quot;: false}" />
<original_tokenizer_class value="&lt;class 'transformers.tokenization_utils_tokenizers.TokenizersBackend'>" />
<pad_token_id value="248044" />
<processed_post_processor_template value="{&quot;single&quot;: {&quot;ids&quot;: [-1], &quot;type_ids&quot;: [0]}, &quot;pair&quot;: {&quot;ids&quot;: [-1, -2], &quot;type_ids&quot;: [0, 0]}}" />
<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.22.2" />
<transformers_version value="5.2.0" />
<use_max_padding value="False" />
<use_sentencepiece_backend value="False" />
<utf8_replace_mode value="replace" />
<with_detokenizer value="True" />
</rt_info>
</net>