mistral-7b-v0.3-npu-ov / openvino_tokenizer.xml
doberst's picture
Upload 12 files
cb82d64 verified
<?xml version="1.0"?>
<net name="tokenizer" version="11">
<layers>
<layer id="0" name="Parameter_1104453" type="Parameter" version="opset1">
<data shape="?" element_type="string" />
<output>
<port id="0" precision="STRING" names="Parameter_1104453">
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="1" name="Constant_1104558" type="Const" version="opset1">
<data element_type="i32" shape="" offset="0" size="4" />
<output>
<port id="0" precision="I32" />
</output>
</layer>
<layer id="2" name="Constant_1104559" type="Const" version="opset1">
<data element_type="i32" shape="" offset="4" size="4" />
<output>
<port id="0" precision="I32" />
</output>
</layer>
<layer id="3" name="Constant_1104560" type="Const" version="opset1">
<data element_type="i32" shape="1" offset="4" size="4" />
<output>
<port id="0" precision="I32">
<dim>1</dim>
</port>
</output>
</layer>
<layer id="4" name="Constant_1104459" type="Const" version="opset1">
<data element_type="i64" shape="" offset="8" size="8" />
<output>
<port id="0" precision="I64" />
</output>
</layer>
<layer id="5" name="StringTensorUnpack_1104454" type="StringTensorUnpack" version="extension">
<data mode="begins_ends" />
<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="6" name="ShapeOf_1104455" 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="7" name="Constant_1104456" 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="Constant_1104457" type="Const" version="opset1">
<data element_type="i64" shape="" offset="8" size="8" />
<output>
<port id="0" precision="I64" />
</output>
</layer>
<layer id="9" name="Gather_1104458" 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="10" name="Constant_1104460" type="Const" version="opset1">
<data element_type="i64" shape="" offset="16" size="8" />
<output>
<port id="0" precision="I64" />
</output>
</layer>
<layer id="11" name="Range_1104461" 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="12" name="Constant_1104462" type="Const" version="opset1">
<data element_type="i64" shape="" offset="16" size="8" />
<output>
<port id="0" precision="I64" />
</output>
</layer>
<layer id="13" name="Constant_1104463" type="Const" version="opset1">
<data element_type="i64" shape="" offset="16" size="8" />
<output>
<port id="0" precision="I64" />
</output>
</layer>
<layer id="14" name="Add_1104464" 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="15" name="Constant_1104465" type="Const" version="opset1">
<data element_type="i64" shape="" offset="16" size="8" />
<output>
<port id="0" precision="I64" />
</output>
</layer>
<layer id="16" name="Range_1104466" 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="17" name="Constant_1104528" type="Const" version="opset1">
<data element_type="u8" shape="13758" offset="24" size="13758" />
<output>
<port id="0" precision="U8">
<dim>13758</dim>
</port>
</output>
</layer>
<layer id="18" name="SpecialTokensSplit_1104529" 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>13758</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="19" name="Constant_1104531" type="Const" version="opset1">
<data element_type="u8" shape="1" offset="13782" size="1" />
<output>
<port id="0" precision="U8">
<dim>1</dim>
</port>
</output>
</layer>
<layer id="20" name="Constant_1104533" type="Const" version="opset1">
<data element_type="u8" shape="3" offset="13783" size="3" />
<output>
<port id="0" precision="U8">
<dim>3</dim>
</port>
</output>
</layer>
<layer id="21" name="RegexNormalization_1104534" 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="BOOL">
<dim>-1</dim>
</port>
<port id="4" precision="U8">
<dim>1</dim>
</port>
<port id="5" precision="U8">
<dim>3</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="U8">
<dim>-1</dim>
</port>
<port id="9" precision="BOOL">
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="22" name="Constant_1104536" type="Const" version="opset1">
<data element_type="u8" shape="11" offset="13786" size="11" />
<output>
<port id="0" precision="U8">
<dim>11</dim>
</port>
</output>
</layer>
<layer id="23" name="Constant_1104538" type="Const" version="opset1">
<data element_type="u8" shape="5" offset="13797" size="5" />
<output>
<port id="0" precision="U8">
<dim>5</dim>
</port>
</output>
</layer>
<layer id="24" name="RegexNormalization_1104539" 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="BOOL">
<dim>-1</dim>
</port>
<port id="4" precision="U8">
<dim>11</dim>
</port>
<port id="5" precision="U8">
<dim>5</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="U8">
<dim>-1</dim>
</port>
<port id="9" precision="BOOL">
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="25" name="Constant_1104541" type="Const" version="opset1">
<data element_type="u8" shape="345638" offset="13802" size="345638" />
<output>
<port id="0" precision="U8">
<dim>345638</dim>
</port>
</output>
</layer>
<layer id="26" name="StringTensorUnpack_1104542" type="StringTensorUnpack" version="extension">
<data mode="begins_ends" />
<input>
<port id="0" precision="U8">
<dim>345638</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="27" name="Constant_1104547" type="Const" version="opset1">
<data element_type="u8" shape="479780" offset="359440" size="479780" />
<output>
<port id="0" precision="U8">
<dim>479780</dim>
</port>
</output>
</layer>
<layer id="28" name="StringTensorUnpack_1104548" type="StringTensorUnpack" version="extension">
<data mode="begins_ends" />
<input>
<port id="0" precision="U8">
<dim>479780</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="29" name="Constant_1104550" type="Const" version="opset1">
<data element_type="u8" shape="397531" offset="839220" size="397531" />
<output>
<port id="0" precision="U8">
<dim>397531</dim>
</port>
</output>
</layer>
<layer id="30" name="StringTensorUnpack_1104551" type="StringTensorUnpack" version="extension">
<data mode="begins_ends" />
<input>
<port id="0" precision="U8">
<dim>397531</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="31" name="Constant_1104544" type="Const" version="opset1">
<data element_type="u8" shape="12983" offset="1236751" size="12983" />
<output>
<port id="0" precision="U8">
<dim>12983</dim>
</port>
</output>
</layer>
<layer id="32" name="StringTensorUnpack_1104545" type="StringTensorUnpack" version="extension">
<data mode="begins_ends" />
<input>
<port id="0" precision="U8">
<dim>12983</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="33" name="Constant_1104552" type="Const" version="opset1">
<data element_type="i32" shape="770" offset="1249734" size="3080" />
<output>
<port id="0" precision="I32">
<dim>770</dim>
</port>
</output>
</layer>
<layer id="34" name="BPETokenizer_1104553" type="BPETokenizer" version="extension">
<data unk_token="&lt;unk>" fuse_unk="true" suffix_indicator="" end_suffix="" byte_fallback="true" cache_capacity="20000" />
<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>-1</dim>
</port>
<port id="6" precision="I32">
<dim>-1</dim>
</port>
<port id="7" precision="U8">
<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="I32">
<dim>-1</dim>
</port>
<port id="12" precision="I32">
<dim>-1</dim>
</port>
<port id="13" precision="U8">
<dim>-1</dim>
</port>
<port id="14" precision="I32">
<dim>-1</dim>
</port>
<port id="15" precision="I32">
<dim>-1</dim>
</port>
<port id="16" precision="U8">
<dim>-1</dim>
</port>
<port id="17" precision="I32">
<dim>770</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="35" name="Subtract_1104554" 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="36" name="Constant_1104555" type="Const" version="opset1">
<data element_type="i32" shape="" offset="1252814" size="4" />
<output>
<port id="0" precision="I32" />
</output>
</layer>
<layer id="37" name="Minimum_1104556" type="Minimum" version="opset1">
<data auto_broadcast="numpy" />
<input>
<port id="0" precision="I32">
<dim>-1</dim>
</port>
<port id="1" precision="I32" />
</input>
<output>
<port id="2" precision="I32">
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="38" name="Subtract_1104557" 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="39" name="Constant_1104561" type="Const" version="opset1">
<data element_type="i32" shape="2" offset="8" size="8" />
<output>
<port id="0" precision="I32">
<dim>2</dim>
</port>
</output>
</layer>
<layer id="40" name="CombineSegments_1104562" type="CombineSegments" version="extension">
<input>
<port id="0" precision="I32" />
<port id="1" precision="I32" />
<port id="2" precision="I32">
<dim>1</dim>
</port>
<port id="3" precision="I32">
<dim>-1</dim>
</port>
<port id="4" precision="I32">
<dim>-1</dim>
</port>
<port id="5" precision="I32">
<dim>-1</dim>
</port>
<port id="6" precision="I32">
<dim>2</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="I32">
<dim>-1</dim>
</port>
<port id="12" precision="I32">
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="41" name="Subtract_1104563" 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="42" name="Constant_1104564" type="Const" version="opset1">
<data element_type="i32" shape="" offset="0" size="4" />
<output>
<port id="0" precision="I32" />
</output>
</layer>
<layer id="43" name="ReduceMax_1104565" 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="44" name="Constant_1104566" type="Const" version="opset1">
<data element_type="i32" shape="" offset="0" size="4" />
<output>
<port id="0" precision="I32" />
</output>
</layer>
<layer id="45" name="RaggedToDense_1104567" type="RaggedToDense" version="extension">
<data pad_right="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="46" name="Convert_1104568" 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="47" name="Convert_1104568" 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="49" name="RaggedToDense_1104567.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="50" name="Result_1104571" type="Result" version="opset1">
<input>
<port id="0" precision="I64">
<dim>-1</dim>
<dim>-1</dim>
</port>
</input>
</layer>
<layer id="48" name="Result_1104573" type="Result" version="opset1">
<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="5" to-port="0" />
<edge from-layer="1" from-port="0" to-layer="40" to-port="0" />
<edge from-layer="2" from-port="0" to-layer="40" to-port="1" />
<edge from-layer="3" from-port="0" to-layer="40" to-port="2" />
<edge from-layer="4" from-port="0" to-layer="11" to-port="0" />
<edge from-layer="5" from-port="1" to-layer="6" to-port="0" />
<edge from-layer="5" from-port="1" to-layer="18" to-port="2" />
<edge from-layer="5" from-port="2" to-layer="18" to-port="3" />
<edge from-layer="5" from-port="3" to-layer="18" to-port="4" />
<edge from-layer="6" from-port="1" to-layer="9" to-port="0" />
<edge from-layer="7" from-port="0" to-layer="9" to-port="1" />
<edge from-layer="8" from-port="0" to-layer="9" to-port="2" />
<edge from-layer="9" from-port="3" to-layer="11" to-port="1" />
<edge from-layer="9" from-port="3" to-layer="14" to-port="0" />
<edge from-layer="10" from-port="0" to-layer="11" to-port="2" />
<edge from-layer="11" from-port="3" to-layer="18" to-port="0" />
<edge from-layer="12" from-port="0" to-layer="16" to-port="0" />
<edge from-layer="13" from-port="0" to-layer="14" to-port="1" />
<edge from-layer="14" from-port="2" to-layer="16" to-port="1" />
<edge from-layer="15" from-port="0" to-layer="16" to-port="2" />
<edge from-layer="16" from-port="3" to-layer="18" to-port="1" />
<edge from-layer="17" from-port="0" to-layer="18" to-port="5" />
<edge from-layer="18" from-port="11" to-layer="21" to-port="3" />
<edge from-layer="18" from-port="8" to-layer="21" to-port="0" />
<edge from-layer="18" from-port="9" to-layer="21" to-port="1" />
<edge from-layer="18" from-port="10" to-layer="21" to-port="2" />
<edge from-layer="18" from-port="6" to-layer="34" to-port="0" />
<edge from-layer="18" from-port="7" to-layer="34" to-port="1" />
<edge from-layer="19" from-port="0" to-layer="21" to-port="4" />
<edge from-layer="20" from-port="0" to-layer="21" to-port="5" />
<edge from-layer="21" from-port="9" to-layer="24" to-port="3" />
<edge from-layer="21" from-port="6" to-layer="24" to-port="0" />
<edge from-layer="21" from-port="7" to-layer="24" to-port="1" />
<edge from-layer="21" from-port="8" to-layer="24" to-port="2" />
<edge from-layer="22" from-port="0" to-layer="24" to-port="4" />
<edge from-layer="23" from-port="0" to-layer="24" to-port="5" />
<edge from-layer="24" from-port="6" to-layer="34" to-port="2" />
<edge from-layer="24" from-port="7" to-layer="34" to-port="3" />
<edge from-layer="24" from-port="8" to-layer="34" to-port="4" />
<edge from-layer="25" from-port="0" to-layer="26" to-port="0" />
<edge from-layer="26" from-port="1" to-layer="34" to-port="5" />
<edge from-layer="26" from-port="2" to-layer="34" to-port="6" />
<edge from-layer="26" from-port="3" to-layer="34" to-port="7" />
<edge from-layer="27" from-port="0" to-layer="28" to-port="0" />
<edge from-layer="28" from-port="2" to-layer="34" to-port="9" />
<edge from-layer="28" from-port="3" to-layer="34" to-port="10" />
<edge from-layer="28" from-port="1" to-layer="34" to-port="8" />
<edge from-layer="29" from-port="0" to-layer="30" to-port="0" />
<edge from-layer="30" from-port="1" to-layer="34" to-port="11" />
<edge from-layer="30" from-port="2" to-layer="34" to-port="12" />
<edge from-layer="30" from-port="3" to-layer="34" to-port="13" />
<edge from-layer="31" from-port="0" to-layer="32" to-port="0" />
<edge from-layer="32" from-port="1" to-layer="34" to-port="14" />
<edge from-layer="32" from-port="2" to-layer="34" to-port="15" />
<edge from-layer="32" from-port="3" to-layer="34" to-port="16" />
<edge from-layer="33" from-port="0" to-layer="34" to-port="17" />
<edge from-layer="34" from-port="19" to-layer="35" to-port="0" />
<edge from-layer="34" from-port="18" to-layer="35" to-port="1" />
<edge from-layer="34" from-port="19" to-layer="40" to-port="4" />
<edge from-layer="34" from-port="20" to-layer="40" to-port="5" />
<edge from-layer="34" from-port="19" to-layer="38" to-port="0" />
<edge from-layer="35" from-port="2" to-layer="37" to-port="0" />
<edge from-layer="36" from-port="0" to-layer="37" to-port="1" />
<edge from-layer="37" from-port="2" to-layer="38" to-port="1" />
<edge from-layer="38" from-port="2" to-layer="40" to-port="3" />
<edge from-layer="39" from-port="0" to-layer="40" to-port="6" />
<edge from-layer="40" from-port="8" to-layer="41" to-port="0" />
<edge from-layer="40" from-port="7" to-layer="41" to-port="1" />
<edge from-layer="40" from-port="7" to-layer="45" to-port="0" />
<edge from-layer="40" from-port="8" to-layer="45" to-port="1" />
<edge from-layer="40" from-port="9" to-layer="45" to-port="2" />
<edge from-layer="41" from-port="2" to-layer="43" to-port="0" />
<edge from-layer="42" from-port="0" to-layer="43" to-port="1" />
<edge from-layer="43" from-port="2" to-layer="45" to-port="3" />
<edge from-layer="44" from-port="0" to-layer="45" to-port="4" />
<edge from-layer="45" from-port="6" to-layer="46" to-port="0" />
<edge from-layer="45" from-port="5" to-layer="49" to-port="0" />
<edge from-layer="46" from-port="1" to-layer="47" to-port="0" />
<edge from-layer="47" from-port="1" to-layer="48" to-port="0" />
<edge from-layer="49" from-port="1" to-layer="50" 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 />
<number_of_inputs value="1" />
<openvino_tokenizers_version value="2024.6.0.0" />
<openvino_version value="2024.6.0" />
<original_tokenizer_class value="&lt;class 'transformers.models.llama.tokenization_llama_fast.LlamaTokenizerFast'>" />
<sentencepiece_version value="0.2.0" />
<skip_special_tokens value="True" />
<streaming_detokenizer value="False" />
<tokenizer_output_type value="i64" />
<tokenizers_version value="0.21.1" />
<transformers_version value="4.48.3" />
<use_max_padding value="False" />
<use_sentencepiece_backend value="False" />
<utf8_replace_mode value="replace" />
<with_detokenizer value="True" />
</rt_info>
</net>