twilson63 commited on
Commit
f7dd7cb
·
verified ·
1 Parent(s): ca60912

Upload LFM2.5-8B-A1B INT4 OpenVINO GenAI model

Browse files
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ twilson63/LFM2.5-8B-A1B-int4-ov/tokenizer.json filter=lfs diff=lfs merge=lfs -text
twilson63/LFM2.5-8B-A1B-int4-ov/.gitattributes ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ tokenizer.json filter=lfs diff=lfs merge=lfs -text
twilson63/LFM2.5-8B-A1B-int4-ov/README.md ADDED
@@ -0,0 +1,144 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: other
3
+ license_name: lfm1.0
4
+ license_link: https://huggingface.co/LiquidAI/LFM2.5-8B-A1B/blob/main/LICENSE
5
+ base_model:
6
+ - LiquidAI/LFM2.5-8B-A1B
7
+ base_model_relation: quantized
8
+ language:
9
+ - en
10
+ - ar
11
+ - zh
12
+ - fr
13
+ - de
14
+ - it
15
+ - ja
16
+ - ko
17
+ - pt
18
+ - es
19
+ pipeline_tag: text-generation
20
+ tags:
21
+ - liquid
22
+ - lfm2.5
23
+ - edge
24
+ - moe
25
+ library_name: openvino
26
+ ---
27
+
28
+ # LFM2.5-8B-A1B-int4-ov
29
+
30
+ * Model creator: [LiquidAI](https://huggingface.co/LiquidAI)
31
+ * Original model: [LFM2.5-8B-A1B](https://huggingface.co/LiquidAI/LFM2.5-8B-A1B)
32
+
33
+ > [!WARNING]
34
+ > **Disclaimer**: This model is provided for evaluation purposes only. Performance, accuracy, and stability may vary. Use at your own discretion.
35
+
36
+ ## Description
37
+
38
+ This is [LFM2.5-8B-A1B](https://huggingface.co/LiquidAI/LFM2.5-8B-A1B) model converted to the [OpenVINO™ IR](https://docs.openvino.ai/2026/documentation/openvino-ir-format.html) (Intermediate Representation) format with weights compressed to INT4 by [NNCF](https://github.com/openvinotoolkit/nncf).
39
+
40
+ ## Quantization Parameters
41
+
42
+ Weight compression was performed using `nncf.compress_weights` with the following parameters:
43
+
44
+ * mode: **INT4_ASYM**
45
+ * group_size: **128**
46
+ * ratio: **1.0**
47
+
48
+ For more information on quantization, check the [OpenVINO model optimization guide](https://docs.openvino.ai/2026/openvino-workflow/model-optimization-guide/weight-compression.html).
49
+
50
+ ## Compatibility
51
+
52
+ The provided OpenVINO™ IR model is compatible with:
53
+
54
+ * OpenVINO version 2026.3.0 and higher
55
+ * Optimum Intel 1.27.0 and higher
56
+
57
+ ## Running Model Inference with [Optimum Intel](https://huggingface.co/docs/optimum/intel/index)
58
+
59
+ 1. Install packages required for using [Optimum Intel](https://huggingface.co/docs/optimum/intel/index) integration with the OpenVINO backend:
60
+
61
+ ```
62
+ pip install -U "git+https://github.com/huggingface/optimum-intel.git"
63
+ ```
64
+
65
+ As OpenVINO 2026.3.0 is not released yet, install the pre-release (nightly) build of OpenVINO to run this model:
66
+
67
+ ```
68
+ pip install --pre -U openvino --extra-index-url https://storage.openvinotoolkit.org/simple/wheels/nightly
69
+ ```
70
+
71
+ 2. Run model inference:
72
+
73
+ ```python
74
+ from transformers import AutoTokenizer
75
+ from optimum.intel.openvino import OVModelForCausalLM
76
+
77
+ model_id = "OpenVINO/LFM2.5-8B-A1B-int4-ov"
78
+ tokenizer = AutoTokenizer.from_pretrained(model_id)
79
+ model = OVModelForCausalLM.from_pretrained(model_id)
80
+
81
+ inputs = tokenizer("What is a capital of France?", return_tensors="pt")
82
+
83
+ outputs = model.generate(**inputs, max_length=200)
84
+ text = tokenizer.batch_decode(outputs)[0]
85
+ print(text)
86
+ ```
87
+
88
+ For more examples and possible optimizations, refer to the [Inference with Optimum Intel](https://docs.openvino.ai/2026/openvino-workflow-generative/inference-with-optimum-intel.html).
89
+
90
+ ## Running Model Inference with [OpenVINO GenAI](https://github.com/openvinotoolkit/openvino.genai)
91
+
92
+ 1. Install packages required for using OpenVINO GenAI.
93
+
94
+ ```
95
+ pip install huggingface_hub
96
+ pip install --pre -U openvino openvino-tokenizers openvino-genai --extra-index-url https://storage.openvinotoolkit.org/simple/wheels/nightly
97
+ ```
98
+
99
+ 2. Download model from HuggingFace Hub
100
+
101
+ ```python
102
+ import huggingface_hub as hf_hub
103
+
104
+ model_id = "OpenVINO/LFM2.5-8B-A1B-int4-ov"
105
+ model_path = "LFM2.5-8B-A1B-int4-ov"
106
+
107
+ hf_hub.snapshot_download(model_id, local_dir=model_path)
108
+ ```
109
+
110
+ 3. Run model inference:
111
+
112
+ ```python
113
+ import openvino_genai as ov_genai
114
+
115
+ device = "CPU"
116
+ pipeline_config = {"ATTENTION_BACKEND": "SDPA"}
117
+ pipe = ov_genai.LLMPipeline(model_path, device, **pipeline_config)
118
+ pipe.get_tokenizer().set_chat_template(pipe.get_tokenizer().chat_template)
119
+ print(pipe.generate("What is a capital of France?", max_length=200))
120
+ ```
121
+
122
+ More GenAI usage examples can be found in OpenVINO GenAI library [docs](https://docs.openvino.ai/2026/openvino-workflow-generative/inference-with-genai.html) and [samples](https://github.com/openvinotoolkit/openvino.genai?tab=readme-ov-file#openvino-genai-samples)
123
+
124
+ You can find more detailed usage examples in OpenVINO Notebooks:
125
+
126
+ - [LLM](https://openvinotoolkit.github.io/openvino_notebooks/?search=LLM)
127
+ - [RAG text generation](https://openvinotoolkit.github.io/openvino_notebooks/?search=RAG+system&tasks=Text+Generation)
128
+
129
+ ## Limitations
130
+
131
+ Check the original [model card](https://huggingface.co/LiquidAI/LFM2.5-8B-A1B) for limitations.
132
+
133
+ ## Legal information
134
+
135
+ The original model is distributed under [lfm1.0](https://huggingface.co/LiquidAI/LFM2.5-8B-A1B/blob/main/LICENSE) license. More details can be found in [LFM2.5-8B-A1B](https://huggingface.co/LiquidAI/LFM2.5-8B-A1B).
136
+
137
+ ## Disclaimer
138
+
139
+ Intel is committed to respecting human rights and avoiding causing or
140
+ contributing to adverse impacts on human rights. See
141
+ [Intel's Global Human Rights Principles](https://www.intel.com/content/dam/www/central-libraries/us/en/documents/policy-human-rights.pdf).
142
+ Intel's products and software are intended only to be used in applications
143
+ that do not cause or contribute to adverse impacts on human rights.
144
+
twilson63/LFM2.5-8B-A1B-int4-ov/chat_template.jinja ADDED
@@ -0,0 +1,123 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {#-
2
+ Modifications:
3
+ * Adding support for arguments as string so that minja does not detect the need to apply polyfills. This is dead path for OVMS as it always converts arguments to dict anyway.
4
+ #}
5
+ {{- bos_token -}}
6
+ {%- set preserve_thinking = preserve_thinking | default(false) -%}
7
+
8
+ {%- macro format_arg_value(arg_value) -%}
9
+ {%- if arg_value is string -%}
10
+ {{- "'" + arg_value + "'" -}}
11
+ {%- elif arg_value is mapping -%}
12
+ {{- arg_value | tojson -}}
13
+ {%- else -%}
14
+ {{- arg_value | string -}}
15
+ {%- endif -%}
16
+ {%- endmacro -%}
17
+
18
+ {%- macro parse_content(content) -%}
19
+ {%- if content is string -%}
20
+ {{- content -}}
21
+ {%- else -%}
22
+ {%- set _ns = namespace(result="") -%}
23
+ {%- for item in content -%}
24
+ {%- if item["type"] == "image" -%}
25
+ {%- set _ns.result = _ns.result + "<image>" -%}
26
+ {%- elif item["type"] == "text" -%}
27
+ {%- set _ns.result = _ns.result + item["text"] -%}
28
+ {%- else -%}
29
+ {%- set _ns.result = _ns.result + item | tojson -%}
30
+ {%- endif -%}
31
+ {%- endfor -%}
32
+ {{- _ns.result -}}
33
+ {%- endif -%}
34
+ {%- endmacro -%}
35
+
36
+ {%- macro render_tool_calls(tool_calls) -%}
37
+ {%- set tool_calls_ns = namespace(tool_calls=[]) -%}
38
+ {%- for tool_call in tool_calls -%}
39
+ {%- set func_name = tool_call["function"]["name"] -%}
40
+ {%- set func_args = tool_call["function"]["arguments"] -%}
41
+ {%- if func_args is string -%}
42
+ {%- set tool_calls_ns.tool_calls = tool_calls_ns.tool_calls + [func_name + "(" + func_args + ")"] -%}
43
+ {%- else -%}
44
+ {%- set args_ns = namespace(arg_strings=[]) -%}
45
+ {%- for arg_name, arg_value in func_args.items() -%}
46
+ {%- set args_ns.arg_strings = args_ns.arg_strings + [arg_name + "=" + format_arg_value(arg_value)] -%}
47
+ {%- endfor -%}
48
+ {%- set tool_calls_ns.tool_calls = tool_calls_ns.tool_calls + [func_name + "(" + (args_ns.arg_strings | join(", ")) + ")"] -%}
49
+ {%- endif -%}
50
+ {%- endfor -%}
51
+ {{- "<|tool_call_start|>[" + (tool_calls_ns.tool_calls | join(", ")) + "]<|tool_call_end|>" -}}
52
+ {%- endmacro -%}
53
+
54
+ {%- set ns = namespace(system_prompt="", last_user_index=-1) -%}
55
+ {%- if messages[0]["role"] == "system" -%}
56
+ {%- if messages[0].get("content") -%}
57
+ {%- set ns.system_prompt = parse_content(messages[0]["content"]) -%}
58
+ {%- endif -%}
59
+ {%- set messages = messages[1:] -%}
60
+ {%- endif -%}
61
+ {%- if tools -%}
62
+ {%- set ns.system_prompt = ns.system_prompt + ("\n" if ns.system_prompt else "") + "List of tools: [" -%}
63
+ {%- for tool in tools -%}
64
+ {%- if tool is not string -%}
65
+ {%- set tool = tool | tojson -%}
66
+ {%- endif -%}
67
+ {%- set ns.system_prompt = ns.system_prompt + tool -%}
68
+ {%- if not loop.last -%}
69
+ {%- set ns.system_prompt = ns.system_prompt + ", " -%}
70
+ {%- endif -%}
71
+ {%- endfor -%}
72
+ {%- set ns.system_prompt = ns.system_prompt + "]" -%}
73
+ {%- endif -%}
74
+ {%- if ns.system_prompt -%}
75
+ {{- "<|im_start|>system\n" + ns.system_prompt + "<|im_end|>\n" -}}
76
+ {%- endif -%}
77
+ {%- for message in messages -%}
78
+ {%- if message["role"] == "user" -%}
79
+ {%- set ns.last_user_index = loop.index0 -%}
80
+ {%- endif -%}
81
+ {%- endfor -%}
82
+ {%- for message in messages -%}
83
+ {{- "<|im_start|>" + message.role + "\n" -}}
84
+ {%- if message.role == "assistant" -%}
85
+ {%- generation -%}
86
+ {%- if message.thinking is defined and (preserve_thinking or loop.index0 > ns.last_user_index) -%}
87
+ {{- "<think>" + message.thinking + "</think>" -}}
88
+ {%- endif -%}
89
+ {%- set _cfm_tag = "CONTINUE_FINAL_MESSAGE_TAG " -%}
90
+ {%- set _has_cfm = false -%}
91
+ {%- if message.content is defined -%}
92
+ {%- set content = parse_content(message.content) -%}
93
+ {%- if not (preserve_thinking or loop.index0 > ns.last_user_index) -%}
94
+ {%- if "</think>" in content -%}
95
+ {%- set content = content.split("</think>")[-1] | trim -%}
96
+ {%- endif -%}
97
+ {%- endif -%}
98
+ {%- if message.tool_calls is defined and content.endswith(_cfm_tag) -%}
99
+ {%- set _has_cfm = true -%}
100
+ {%- set _trunc_len = (content | length) - (_cfm_tag | length) -%}
101
+ {{- content[:_trunc_len] -}}
102
+ {%- else -%}
103
+ {{- content -}}
104
+ {%- endif -%}
105
+ {%- endif -%}
106
+ {%- if message.tool_calls is defined and message.tool_calls is iterable and message.tool_calls | length > 0 -%}
107
+ {{- render_tool_calls(message.tool_calls) -}}
108
+ {%- endif -%}
109
+ {%- if _has_cfm -%}
110
+ {{- _cfm_tag -}}
111
+ {%- endif -%}
112
+ {{- "<|im_end|>\n" -}}
113
+ {%- endgeneration -%}
114
+ {%- else %}
115
+ {%- if message.get("content") -%}
116
+ {{- parse_content(message["content"]) -}}
117
+ {%- endif -%}
118
+ {{- "<|im_end|>\n" -}}
119
+ {%- endif %}
120
+ {%- endfor -%}
121
+ {%- if add_generation_prompt -%}
122
+ {{- "<|im_start|>assistant\n" -}}
123
+ {%- endif -%}
twilson63/LFM2.5-8B-A1B-int4-ov/config.json ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "Lfm2MoeForCausalLM"
4
+ ],
5
+ "bos_token_id": 124894,
6
+ "conv_L_cache": 3,
7
+ "conv_bias": false,
8
+ "dtype": "bfloat16",
9
+ "eos_token_id": 124900,
10
+ "hidden_size": 2048,
11
+ "initializer_range": 0.02,
12
+ "intermediate_size": 7168,
13
+ "layer_types": [
14
+ "conv",
15
+ "conv",
16
+ "full_attention",
17
+ "conv",
18
+ "conv",
19
+ "conv",
20
+ "full_attention",
21
+ "conv",
22
+ "conv",
23
+ "conv",
24
+ "full_attention",
25
+ "conv",
26
+ "conv",
27
+ "conv",
28
+ "full_attention",
29
+ "conv",
30
+ "conv",
31
+ "conv",
32
+ "full_attention",
33
+ "conv",
34
+ "conv",
35
+ "full_attention",
36
+ "conv",
37
+ "conv"
38
+ ],
39
+ "max_position_embeddings": 128000,
40
+ "model_type": "lfm2_moe",
41
+ "moe_intermediate_size": 1792,
42
+ "norm_eps": 1e-05,
43
+ "norm_topk_prob": true,
44
+ "num_attention_heads": 32,
45
+ "num_dense_layers": 2,
46
+ "num_experts": 32,
47
+ "num_experts_per_tok": 4,
48
+ "num_hidden_layers": 24,
49
+ "num_key_value_heads": 8,
50
+ "pad_token_id": 124893,
51
+ "rope_parameters": {
52
+ "rope_theta": 5000000,
53
+ "rope_type": "default"
54
+ },
55
+ "routed_scaling_factor": 1.0,
56
+ "tie_word_embeddings": true,
57
+ "transformers_version": "5.0.0",
58
+ "use_cache": true,
59
+ "use_expert_bias": true,
60
+ "vocab_size": 128000
61
+ }
twilson63/LFM2.5-8B-A1B-int4-ov/generation_config.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_from_model_config": true,
3
+ "bos_token_id": 124894,
4
+ "do_sample": true,
5
+ "eos_token_id": 124900,
6
+ "output_attentions": false,
7
+ "output_hidden_states": false,
8
+ "pad_token_id": 124893,
9
+ "repetition_penalty": 1.05,
10
+ "temperature": 0.2,
11
+ "top_k": 80,
12
+ "transformers_version": "5.0.0",
13
+ "use_cache": true
14
+ }
twilson63/LFM2.5-8B-A1B-int4-ov/openvino_config.json ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "dtype": "",
3
+ "input_info": null,
4
+ "optimum_version": "2.2.0",
5
+ "output_attentions": false,
6
+ "quantization_config": {
7
+ "_dataset_kwargs": {},
8
+ "dataset": null,
9
+ "default_config": {
10
+ "quant_method": "default"
11
+ },
12
+ "ignored_scope": null,
13
+ "num_samples": null,
14
+ "processor": null,
15
+ "quantization_configs": {},
16
+ "tokenizer": "LiquidAI/LFM2.5-8B-A1B"
17
+ },
18
+ "save_onnx_model": false,
19
+ "transformers_version": "5.0.0"
20
+ }
twilson63/LFM2.5-8B-A1B-int4-ov/openvino_detokenizer.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d659a36c4fa4fb8024e74c051d17be6848993579db3716ff8156ae31f43a1a25
3
+ size 1804415
twilson63/LFM2.5-8B-A1B-int4-ov/openvino_detokenizer.xml ADDED
@@ -0,0 +1,222 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <net name="detokenizer" version="11">
3
+ <layers>
4
+ <layer id="0" name="Parameter_165852" type="Parameter" version="opset1">
5
+ <data shape="?,?" element_type="i64" />
6
+ <output>
7
+ <port id="0" precision="I64" names="Parameter_165852">
8
+ <dim>-1</dim>
9
+ <dim>-1</dim>
10
+ </port>
11
+ </output>
12
+ </layer>
13
+ <layer id="1" name="Convert_165887" type="Convert" version="opset1">
14
+ <data destination_type="i32" />
15
+ <input>
16
+ <port id="0" precision="I64">
17
+ <dim>-1</dim>
18
+ <dim>-1</dim>
19
+ </port>
20
+ </input>
21
+ <output>
22
+ <port id="1" precision="I32">
23
+ <dim>-1</dim>
24
+ <dim>-1</dim>
25
+ </port>
26
+ </output>
27
+ </layer>
28
+ <layer id="2" name="Constant_165854" type="Const" version="opset1">
29
+ <data element_type="i32" shape="125017" offset="0" size="500068" />
30
+ <output>
31
+ <port id="0" precision="I32">
32
+ <dim>125017</dim>
33
+ </port>
34
+ </output>
35
+ </layer>
36
+ <layer id="3" name="Constant_165856" type="Const" version="opset1">
37
+ <data element_type="i32" shape="125017" offset="500068" size="500068" />
38
+ <output>
39
+ <port id="0" precision="I32">
40
+ <dim>125017</dim>
41
+ </port>
42
+ </output>
43
+ </layer>
44
+ <layer id="4" name="Constant_165858" type="Const" version="opset1">
45
+ <data element_type="u8" shape="803799" offset="1000136" size="803799" />
46
+ <output>
47
+ <port id="0" precision="U8">
48
+ <dim>803799</dim>
49
+ </port>
50
+ </output>
51
+ </layer>
52
+ <layer id="5" name="Slice_165863" type="Const" version="opset1">
53
+ <data element_type="i32" shape="120" offset="1803935" size="480" />
54
+ <output>
55
+ <port id="0" precision="I32">
56
+ <dim>120</dim>
57
+ </port>
58
+ </output>
59
+ </layer>
60
+ <layer id="6" name="VocabDecoder_165865" type="VocabDecoder" version="extension">
61
+ <data skip_tokens="" />
62
+ <input>
63
+ <port id="0" precision="I32">
64
+ <dim>-1</dim>
65
+ <dim>-1</dim>
66
+ </port>
67
+ <port id="1" precision="I32">
68
+ <dim>125017</dim>
69
+ </port>
70
+ <port id="2" precision="I32">
71
+ <dim>125017</dim>
72
+ </port>
73
+ <port id="3" precision="U8">
74
+ <dim>803799</dim>
75
+ </port>
76
+ <port id="4" precision="I32">
77
+ <dim>120</dim>
78
+ </port>
79
+ </input>
80
+ <output>
81
+ <port id="5" precision="I32">
82
+ <dim>-1</dim>
83
+ </port>
84
+ <port id="6" precision="I32">
85
+ <dim>-1</dim>
86
+ </port>
87
+ <port id="7" precision="I32">
88
+ <dim>-1</dim>
89
+ </port>
90
+ <port id="8" precision="I32">
91
+ <dim>-1</dim>
92
+ </port>
93
+ <port id="9" precision="U8">
94
+ <dim>-1</dim>
95
+ </port>
96
+ </output>
97
+ </layer>
98
+ <layer id="7" name="FuzeRagged_165866" type="FuzeRagged" version="extension">
99
+ <input>
100
+ <port id="0" precision="I32">
101
+ <dim>-1</dim>
102
+ </port>
103
+ <port id="1" precision="I32">
104
+ <dim>-1</dim>
105
+ </port>
106
+ <port id="2" precision="I32">
107
+ <dim>-1</dim>
108
+ </port>
109
+ <port id="3" precision="I32">
110
+ <dim>-1</dim>
111
+ </port>
112
+ </input>
113
+ <output>
114
+ <port id="4" precision="I32">
115
+ <dim>-1</dim>
116
+ </port>
117
+ <port id="5" precision="I32">
118
+ <dim>-1</dim>
119
+ </port>
120
+ </output>
121
+ </layer>
122
+ <layer id="8" name="UTF8Validate_165867" type="UTF8Validate" version="extension">
123
+ <data replace_mode="true" />
124
+ <input>
125
+ <port id="0" precision="I32">
126
+ <dim>-1</dim>
127
+ </port>
128
+ <port id="1" precision="I32">
129
+ <dim>-1</dim>
130
+ </port>
131
+ <port id="2" precision="U8">
132
+ <dim>-1</dim>
133
+ </port>
134
+ </input>
135
+ <output>
136
+ <port id="3" precision="I32">
137
+ <dim>-1</dim>
138
+ </port>
139
+ <port id="4" precision="I32">
140
+ <dim>-1</dim>
141
+ </port>
142
+ <port id="5" precision="U8">
143
+ <dim>-1</dim>
144
+ </port>
145
+ </output>
146
+ </layer>
147
+ <layer id="9" name="StringTensorPack_165868" type="StringTensorPack" version="opset15">
148
+ <input>
149
+ <port id="0" precision="I32">
150
+ <dim>-1</dim>
151
+ </port>
152
+ <port id="1" precision="I32">
153
+ <dim>-1</dim>
154
+ </port>
155
+ <port id="2" precision="U8">
156
+ <dim>-1</dim>
157
+ </port>
158
+ </input>
159
+ <output>
160
+ <port id="3" precision="STRING" names="Result_165869,string_output">
161
+ <dim>-1</dim>
162
+ </port>
163
+ </output>
164
+ </layer>
165
+ <layer id="10" name="Result_165869" type="Result" version="opset1" output_names="Result_165869,string_output">
166
+ <input>
167
+ <port id="0" precision="STRING">
168
+ <dim>-1</dim>
169
+ </port>
170
+ </input>
171
+ </layer>
172
+ </layers>
173
+ <edges>
174
+ <edge from-layer="0" from-port="0" to-layer="1" to-port="0" />
175
+ <edge from-layer="1" from-port="1" to-layer="6" to-port="0" />
176
+ <edge from-layer="2" from-port="0" to-layer="6" to-port="1" />
177
+ <edge from-layer="3" from-port="0" to-layer="6" to-port="2" />
178
+ <edge from-layer="4" from-port="0" to-layer="6" to-port="3" />
179
+ <edge from-layer="5" from-port="0" to-layer="6" to-port="4" />
180
+ <edge from-layer="6" from-port="7" to-layer="7" to-port="2" />
181
+ <edge from-layer="6" from-port="9" to-layer="8" to-port="2" />
182
+ <edge from-layer="6" from-port="8" to-layer="7" to-port="3" />
183
+ <edge from-layer="6" from-port="6" to-layer="7" to-port="1" />
184
+ <edge from-layer="6" from-port="5" to-layer="7" to-port="0" />
185
+ <edge from-layer="7" from-port="4" to-layer="8" to-port="0" />
186
+ <edge from-layer="7" from-port="5" to-layer="8" to-port="1" />
187
+ <edge from-layer="8" from-port="3" to-layer="9" to-port="0" />
188
+ <edge from-layer="8" from-port="4" to-layer="9" to-port="1" />
189
+ <edge from-layer="8" from-port="5" to-layer="9" to-port="2" />
190
+ <edge from-layer="9" from-port="3" to-layer="10" to-port="0" />
191
+ </edges>
192
+ <rt_info>
193
+ <info name="OpenVINO Runtime" value="2026.3.0-22165-7b32f06bcaa" />
194
+ <add_attention_mask value="True" />
195
+ <add_prefix_space />
196
+ <add_special_tokens value="True" />
197
+ <bos_token_id value="124894" />
198
+ <chat_template value="{{- bos_token -}}&#10;{%- set preserve_thinking = preserve_thinking | default(false) -%}&#10;&#10;{%- macro format_arg_value(arg_value) -%}&#10; {%- if arg_value is string -%}&#10; {{- &quot;'&quot; + arg_value + &quot;'&quot; -}}&#10; {%- elif arg_value is mapping -%}&#10; {{- arg_value | tojson -}}&#10; {%- else -%}&#10; {{- arg_value | string -}}&#10; {%- endif -%}&#10;{%- endmacro -%}&#10;&#10;{%- macro parse_content(content) -%}&#10; {%- if content is string -%}&#10; {{- content -}}&#10; {%- else -%}&#10; {%- set _ns = namespace(result=&quot;&quot;) -%}&#10; {%- for item in content -%}&#10; {%- if item[&quot;type&quot;] == &quot;image&quot; -%}&#10; {%- set _ns.result = _ns.result + &quot;&lt;image>&quot; -%}&#10; {%- elif item[&quot;type&quot;] == &quot;text&quot; -%}&#10; {%- set _ns.result = _ns.result + item[&quot;text&quot;] -%}&#10; {%- else -%}&#10; {%- set _ns.result = _ns.result + item | tojson -%}&#10; {%- endif -%}&#10; {%- endfor -%}&#10; {{- _ns.result -}}&#10; {%- endif -%}&#10;{%- endmacro -%}&#10;&#10;{%- macro render_tool_calls(tool_calls) -%}&#10; {%- set tool_calls_ns = namespace(tool_calls=[]) -%}&#10; {%- for tool_call in tool_calls -%}&#10; {%- set func_name = tool_call[&quot;function&quot;][&quot;name&quot;] -%}&#10; {%- set func_args = tool_call[&quot;function&quot;][&quot;arguments&quot;] -%}&#10; {%- set args_ns = namespace(arg_strings=[]) -%}&#10; {%- for arg_name, arg_value in func_args.items() -%}&#10; {%- set args_ns.arg_strings = args_ns.arg_strings + [arg_name + &quot;=&quot; + format_arg_value(arg_value)] -%}&#10; {%- endfor -%}&#10; {%- set tool_calls_ns.tool_calls = tool_calls_ns.tool_calls + [func_name + &quot;(&quot; + (args_ns.arg_strings | join(&quot;, &quot;)) + &quot;)&quot;] -%}&#10; {%- endfor -%}&#10; {{- &quot;&lt;|tool_call_start|>[&quot; + (tool_calls_ns.tool_calls | join(&quot;, &quot;)) + &quot;]&lt;|tool_call_end|>&quot; -}}&#10;{%- endmacro -%}&#10;&#10;{%- set ns = namespace(system_prompt=&quot;&quot;, last_user_index=-1) -%}&#10;{%- if messages[0][&quot;role&quot;] == &quot;system&quot; -%}&#10; {%- if messages[0].get(&quot;content&quot;) -%}&#10; {%- set ns.system_prompt = parse_content(messages[0][&quot;content&quot;]) -%}&#10; {%- endif -%}&#10; {%- set messages = messages[1:] -%}&#10;{%- endif -%}&#10;{%- if tools -%}&#10; {%- set ns.system_prompt = ns.system_prompt + (&quot;\n&quot; if ns.system_prompt else &quot;&quot;) + &quot;List of tools: [&quot; -%}&#10; {%- for tool in tools -%}&#10; {%- if tool is not string -%}&#10; {%- set tool = tool | tojson -%}&#10; {%- endif -%}&#10; {%- set ns.system_prompt = ns.system_prompt + tool -%}&#10; {%- if not loop.last -%}&#10; {%- set ns.system_prompt = ns.system_prompt + &quot;, &quot; -%}&#10; {%- endif -%}&#10; {%- endfor -%}&#10; {%- set ns.system_prompt = ns.system_prompt + &quot;]&quot; -%}&#10;{%- endif -%}&#10;{%- if ns.system_prompt -%}&#10; {{- &quot;&lt;|im_start|>system\n&quot; + ns.system_prompt + &quot;&lt;|im_end|>\n&quot; -}}&#10;{%- endif -%}&#10;{%- for message in messages -%}&#10; {%- if message[&quot;role&quot;] == &quot;user&quot; -%}&#10; {%- set ns.last_user_index = loop.index0 -%}&#10; {%- endif -%}&#10;{%- endfor -%}&#10;{%- for message in messages -%}&#10; {{- &quot;&lt;|im_start|>&quot; + message.role + &quot;\n&quot; -}}&#10; {%- if message.role == &quot;assistant&quot; -%}&#10; {%- generation -%}&#10; {%- if message.thinking is defined and (preserve_thinking or loop.index0 > ns.last_user_index) -%}&#10; {{- &quot;&lt;think>&quot; + message.thinking + &quot;&lt;/think>&quot; -}}&#10; {%- endif -%}&#10; {%- set _cfm_tag = &quot;CONTINUE_FINAL_MESSAGE_TAG &quot; -%}&#10; {%- set _has_cfm = false -%}&#10; {%- if message.content is defined -%}&#10; {%- set content = parse_content(message.content) -%}&#10; {%- if not (preserve_thinking or loop.index0 > ns.last_user_index) -%}&#10; {%- if &quot;&lt;/think>&quot; in content -%}&#10; {%- set content = content.split(&quot;&lt;/think>&quot;)[-1] | trim -%}&#10; {%- endif -%}&#10; {%- endif -%}&#10; {%- if message.tool_calls is defined and content.endswith(_cfm_tag) -%}&#10; {%- set _has_cfm = true -%}&#10; {%- set _trunc_len = (content | length) - (_cfm_tag | length) -%}&#10; {{- content[:_trunc_len] -}}&#10; {%- else -%}&#10; {{- content -}}&#10; {%- endif -%}&#10; {%- endif -%}&#10; {%- if message.tool_calls is defined -%}&#10; {{- render_tool_calls(message.tool_calls) -}}&#10; {%- endif -%}&#10; {%- if _has_cfm -%}&#10; {{- _cfm_tag -}}&#10; {%- endif -%}&#10; {{- &quot;&lt;|im_end|>\n&quot; -}}&#10; {%- endgeneration -%}&#10; {%- else %}&#10; {%- if message.get(&quot;content&quot;) -%}&#10; {{- parse_content(message[&quot;content&quot;]) -}}&#10; {%- endif -%}&#10; {{- &quot;&lt;|im_end|>\n&quot; -}}&#10; {%- endif %}&#10;{%- endfor -%}&#10;{%- if add_generation_prompt -%}&#10; {{- &quot;&lt;|im_start|>assistant\n&quot; -}}&#10;{%- endif -%}" />
199
+ <clean_up_tokenization_spaces />
200
+ <detokenizer_input_type value="i64" />
201
+ <eos_token_id value="124900" />
202
+ <handle_special_tokens_with_re />
203
+ <max_length />
204
+ <number_of_inputs value="1" />
205
+ <openvino_tokenizers_version value="2026.3.0.0-683-6d28e696dfa" />
206
+ <openvino_version value="2026.3.0-22165-7b32f06bcaa" />
207
+ <original_post_processor_template value="{&quot;type&quot;: &quot;ByteLevel&quot;, &quot;add_prefix_space&quot;: true, &quot;trim_offsets&quot;: false, &quot;use_regex&quot;: true}" />
208
+ <original_tokenizer_class value="&lt;class 'transformers.tokenization_utils_tokenizers.TokenizersBackend'>" />
209
+ <pad_token_id value="124893" />
210
+ <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]}}" />
211
+ <sentencepiece_version value="0.2.1" />
212
+ <skip_special_tokens value="True" />
213
+ <streaming_detokenizer value="False" />
214
+ <tokenizer_output_type value="i64" />
215
+ <tokenizers_version value="0.22.2" />
216
+ <transformers_version value="5.0.0" />
217
+ <use_max_padding value="False" />
218
+ <use_sentencepiece_backend value="False" />
219
+ <utf8_replace_mode value="replace" />
220
+ <with_detokenizer value="True" />
221
+ </rt_info>
222
+ </net>
twilson63/LFM2.5-8B-A1B-int4-ov/openvino_model.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4f882fe35deb890d0489e661990f880298af08694f32ad953b4fd9269cdfcfe8
3
+ size 4526171034
twilson63/LFM2.5-8B-A1B-int4-ov/openvino_model.xml ADDED
The diff for this file is too large to render. See raw diff
 
twilson63/LFM2.5-8B-A1B-int4-ov/openvino_tokenizer.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:dd2af3d5f5cb27636d7746ebb76a846e5abe83018bbf6e6da13827cd0829a5c5
3
+ size 8624522
twilson63/LFM2.5-8B-A1B-int4-ov/openvino_tokenizer.xml ADDED
@@ -0,0 +1,738 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <net name="tokenizer" version="11">
3
+ <layers>
4
+ <layer id="0" name="Parameter_165725" type="Parameter" version="opset1">
5
+ <data shape="?" element_type="string" />
6
+ <output>
7
+ <port id="0" precision="STRING" names="Parameter_165725">
8
+ <dim>-1</dim>
9
+ </port>
10
+ </output>
11
+ </layer>
12
+ <layer id="1" name="Constant_165731" type="Const" version="opset1">
13
+ <data element_type="i64" shape="" offset="0" size="8" />
14
+ <output>
15
+ <port id="0" precision="I64" />
16
+ </output>
17
+ </layer>
18
+ <layer id="2" name="StringTensorUnpack_165726" type="StringTensorUnpack" version="opset15">
19
+ <input>
20
+ <port id="0" precision="STRING">
21
+ <dim>-1</dim>
22
+ </port>
23
+ </input>
24
+ <output>
25
+ <port id="1" precision="I32">
26
+ <dim>-1</dim>
27
+ </port>
28
+ <port id="2" precision="I32">
29
+ <dim>-1</dim>
30
+ </port>
31
+ <port id="3" precision="U8">
32
+ <dim>-1</dim>
33
+ </port>
34
+ </output>
35
+ </layer>
36
+ <layer id="3" name="ShapeOf_165727" type="ShapeOf" version="opset3">
37
+ <data output_type="i64" />
38
+ <input>
39
+ <port id="0" precision="I32">
40
+ <dim>-1</dim>
41
+ </port>
42
+ </input>
43
+ <output>
44
+ <port id="1" precision="I64">
45
+ <dim>1</dim>
46
+ </port>
47
+ </output>
48
+ </layer>
49
+ <layer id="4" name="Constant_165728" type="Const" version="opset1">
50
+ <data element_type="i64" shape="" offset="0" size="8" />
51
+ <output>
52
+ <port id="0" precision="I64" />
53
+ </output>
54
+ </layer>
55
+ <layer id="5" name="Constant_165729" type="Const" version="opset1">
56
+ <data element_type="i64" shape="" offset="0" size="8" />
57
+ <output>
58
+ <port id="0" precision="I64" />
59
+ </output>
60
+ </layer>
61
+ <layer id="6" name="Gather_165730" type="Gather" version="opset8">
62
+ <data batch_dims="0" />
63
+ <input>
64
+ <port id="0" precision="I64">
65
+ <dim>1</dim>
66
+ </port>
67
+ <port id="1" precision="I64" />
68
+ <port id="2" precision="I64" />
69
+ </input>
70
+ <output>
71
+ <port id="3" precision="I64" />
72
+ </output>
73
+ </layer>
74
+ <layer id="7" name="Constant_165732" type="Const" version="opset1">
75
+ <data element_type="i64" shape="" offset="8" size="8" />
76
+ <output>
77
+ <port id="0" precision="I64" />
78
+ </output>
79
+ </layer>
80
+ <layer id="8" name="Range_165733" type="Range" version="opset4">
81
+ <data output_type="i32" />
82
+ <input>
83
+ <port id="0" precision="I64" />
84
+ <port id="1" precision="I64" />
85
+ <port id="2" precision="I64" />
86
+ </input>
87
+ <output>
88
+ <port id="3" precision="I32">
89
+ <dim>-1</dim>
90
+ </port>
91
+ </output>
92
+ </layer>
93
+ <layer id="9" name="Constant_165734" type="Const" version="opset1">
94
+ <data element_type="i64" shape="" offset="8" size="8" />
95
+ <output>
96
+ <port id="0" precision="I64" />
97
+ </output>
98
+ </layer>
99
+ <layer id="10" name="Constant_165735" type="Const" version="opset1">
100
+ <data element_type="i64" shape="" offset="8" size="8" />
101
+ <output>
102
+ <port id="0" precision="I64" />
103
+ </output>
104
+ </layer>
105
+ <layer id="11" name="Add_165736" type="Add" version="opset1">
106
+ <data auto_broadcast="numpy" />
107
+ <input>
108
+ <port id="0" precision="I64" />
109
+ <port id="1" precision="I64" />
110
+ </input>
111
+ <output>
112
+ <port id="2" precision="I64" />
113
+ </output>
114
+ </layer>
115
+ <layer id="12" name="Constant_165737" type="Const" version="opset1">
116
+ <data element_type="i64" shape="" offset="8" size="8" />
117
+ <output>
118
+ <port id="0" precision="I64" />
119
+ </output>
120
+ </layer>
121
+ <layer id="13" name="Range_165738" type="Range" version="opset4">
122
+ <data output_type="i32" />
123
+ <input>
124
+ <port id="0" precision="I64" />
125
+ <port id="1" precision="I64" />
126
+ <port id="2" precision="I64" />
127
+ </input>
128
+ <output>
129
+ <port id="3" precision="I32">
130
+ <dim>-1</dim>
131
+ </port>
132
+ </output>
133
+ </layer>
134
+ <layer id="14" name="Constant_165802" type="Const" version="opset1">
135
+ <data element_type="u8" shape="2849" offset="16" size="2849" />
136
+ <output>
137
+ <port id="0" precision="U8">
138
+ <dim>2849</dim>
139
+ </port>
140
+ </output>
141
+ </layer>
142
+ <layer id="15" name="SpecialTokensSplit_165803" type="SpecialTokensSplit" version="extension">
143
+ <input>
144
+ <port id="0" precision="I32">
145
+ <dim>-1</dim>
146
+ </port>
147
+ <port id="1" precision="I32">
148
+ <dim>-1</dim>
149
+ </port>
150
+ <port id="2" precision="I32">
151
+ <dim>-1</dim>
152
+ </port>
153
+ <port id="3" precision="I32">
154
+ <dim>-1</dim>
155
+ </port>
156
+ <port id="4" precision="U8">
157
+ <dim>-1</dim>
158
+ </port>
159
+ <port id="5" precision="U8">
160
+ <dim>2849</dim>
161
+ </port>
162
+ </input>
163
+ <output>
164
+ <port id="6" precision="I32">
165
+ <dim>-1</dim>
166
+ </port>
167
+ <port id="7" precision="I32">
168
+ <dim>-1</dim>
169
+ </port>
170
+ <port id="8" precision="I32">
171
+ <dim>-1</dim>
172
+ </port>
173
+ <port id="9" precision="I32">
174
+ <dim>-1</dim>
175
+ </port>
176
+ <port id="10" precision="U8">
177
+ <dim>-1</dim>
178
+ </port>
179
+ <port id="11" precision="BOOL">
180
+ <dim>-1</dim>
181
+ </port>
182
+ </output>
183
+ </layer>
184
+ <layer id="16" name="Constant_165805" type="Const" version="opset1">
185
+ <data element_type="u8" shape="115" offset="2865" size="115" />
186
+ <output>
187
+ <port id="0" precision="U8">
188
+ <dim>115</dim>
189
+ </port>
190
+ </output>
191
+ </layer>
192
+ <layer id="17" name="RegexSplit_165806" type="RegexSplit" version="extension">
193
+ <data behaviour="isolate" invert="false" max_splits="-1" />
194
+ <input>
195
+ <port id="0" precision="I32">
196
+ <dim>-1</dim>
197
+ </port>
198
+ <port id="1" precision="I32">
199
+ <dim>-1</dim>
200
+ </port>
201
+ <port id="2" precision="I32">
202
+ <dim>-1</dim>
203
+ </port>
204
+ <port id="3" precision="I32">
205
+ <dim>-1</dim>
206
+ </port>
207
+ <port id="4" precision="U8">
208
+ <dim>-1</dim>
209
+ </port>
210
+ <port id="5" precision="BOOL">
211
+ <dim>-1</dim>
212
+ </port>
213
+ <port id="6" precision="U8">
214
+ <dim>115</dim>
215
+ </port>
216
+ </input>
217
+ <output>
218
+ <port id="7" precision="I32">
219
+ <dim>-1</dim>
220
+ </port>
221
+ <port id="8" precision="I32">
222
+ <dim>-1</dim>
223
+ </port>
224
+ <port id="9" precision="I32">
225
+ <dim>-1</dim>
226
+ </port>
227
+ <port id="10" precision="I32">
228
+ <dim>-1</dim>
229
+ </port>
230
+ <port id="11" precision="U8">
231
+ <dim>-1</dim>
232
+ </port>
233
+ <port id="12" precision="BOOL">
234
+ <dim>-1</dim>
235
+ </port>
236
+ </output>
237
+ </layer>
238
+ <layer id="18" name="Constant_165808" type="Const" version="opset1">
239
+ <data element_type="i32" shape="125017" offset="2980" size="500068" />
240
+ <output>
241
+ <port id="0" precision="I32">
242
+ <dim>125017</dim>
243
+ </port>
244
+ </output>
245
+ </layer>
246
+ <layer id="19" name="Constant_165810" type="Const" version="opset1">
247
+ <data element_type="i32" shape="125017" offset="503048" size="500068" />
248
+ <output>
249
+ <port id="0" precision="I32">
250
+ <dim>125017</dim>
251
+ </port>
252
+ </output>
253
+ </layer>
254
+ <layer id="20" name="Constant_165812" type="Const" version="opset1">
255
+ <data element_type="u8" shape="803799" offset="1003116" size="803799" />
256
+ <output>
257
+ <port id="0" precision="U8">
258
+ <dim>803799</dim>
259
+ </port>
260
+ </output>
261
+ </layer>
262
+ <layer id="21" name="Constant_165820" type="Const" version="opset1">
263
+ <data element_type="i32" shape="293320" offset="1806915" size="1173280" />
264
+ <output>
265
+ <port id="0" precision="I32">
266
+ <dim>293320</dim>
267
+ </port>
268
+ </output>
269
+ </layer>
270
+ <layer id="22" name="Constant_165822" type="Const" version="opset1">
271
+ <data element_type="i32" shape="293320" offset="2980195" size="1173280" />
272
+ <output>
273
+ <port id="0" precision="I32">
274
+ <dim>293320</dim>
275
+ </port>
276
+ </output>
277
+ </layer>
278
+ <layer id="23" name="Constant_165824" type="Const" version="opset1">
279
+ <data element_type="u8" shape="1105292" offset="4153475" size="1105292" />
280
+ <output>
281
+ <port id="0" precision="U8">
282
+ <dim>1105292</dim>
283
+ </port>
284
+ </output>
285
+ </layer>
286
+ <layer id="24" name="Constant_165826" type="Const" version="opset1">
287
+ <data element_type="i32" shape="293320" offset="5258767" size="1173280" />
288
+ <output>
289
+ <port id="0" precision="I32">
290
+ <dim>293320</dim>
291
+ </port>
292
+ </output>
293
+ </layer>
294
+ <layer id="25" name="Constant_165828" type="Const" version="opset1">
295
+ <data element_type="i32" shape="293320" offset="6432047" size="1173280" />
296
+ <output>
297
+ <port id="0" precision="I32">
298
+ <dim>293320</dim>
299
+ </port>
300
+ </output>
301
+ </layer>
302
+ <layer id="26" name="Constant_165830" type="Const" version="opset1">
303
+ <data element_type="u8" shape="1015445" offset="7605327" size="1015445" />
304
+ <output>
305
+ <port id="0" precision="U8">
306
+ <dim>1015445</dim>
307
+ </port>
308
+ </output>
309
+ </layer>
310
+ <layer id="27" name="Constant_165814" type="Const" version="opset1">
311
+ <data element_type="i32" shape="124" offset="8620772" size="496" />
312
+ <output>
313
+ <port id="0" precision="I32">
314
+ <dim>124</dim>
315
+ </port>
316
+ </output>
317
+ </layer>
318
+ <layer id="28" name="Constant_165816" type="Const" version="opset1">
319
+ <data element_type="i32" shape="124" offset="8621268" size="496" />
320
+ <output>
321
+ <port id="0" precision="I32">
322
+ <dim>124</dim>
323
+ </port>
324
+ </output>
325
+ </layer>
326
+ <layer id="29" name="Constant_165818" type="Const" version="opset1">
327
+ <data element_type="u8" shape="2233" offset="8621764" size="2233" />
328
+ <output>
329
+ <port id="0" precision="U8">
330
+ <dim>2233</dim>
331
+ </port>
332
+ </output>
333
+ </layer>
334
+ <layer id="30" name="Constant_165831" type="Const" version="opset1">
335
+ <data element_type="i32" shape="124" offset="8623997" size="496" />
336
+ <output>
337
+ <port id="0" precision="I32">
338
+ <dim>124</dim>
339
+ </port>
340
+ </output>
341
+ </layer>
342
+ <layer id="31" name="BPETokenizer_165832" type="BPETokenizer" version="extension">
343
+ <data unk_token="" fuse_unk="false" suffix_indicator="" end_suffix="" byte_fallback="false" cache_capacity="24978" />
344
+ <input>
345
+ <port id="0" precision="I32">
346
+ <dim>-1</dim>
347
+ </port>
348
+ <port id="1" precision="I32">
349
+ <dim>-1</dim>
350
+ </port>
351
+ <port id="2" precision="I32">
352
+ <dim>-1</dim>
353
+ </port>
354
+ <port id="3" precision="I32">
355
+ <dim>-1</dim>
356
+ </port>
357
+ <port id="4" precision="U8">
358
+ <dim>-1</dim>
359
+ </port>
360
+ <port id="5" precision="I32">
361
+ <dim>125017</dim>
362
+ </port>
363
+ <port id="6" precision="I32">
364
+ <dim>125017</dim>
365
+ </port>
366
+ <port id="7" precision="U8">
367
+ <dim>803799</dim>
368
+ </port>
369
+ <port id="8" precision="I32">
370
+ <dim>293320</dim>
371
+ </port>
372
+ <port id="9" precision="I32">
373
+ <dim>293320</dim>
374
+ </port>
375
+ <port id="10" precision="U8">
376
+ <dim>1105292</dim>
377
+ </port>
378
+ <port id="11" precision="I32">
379
+ <dim>293320</dim>
380
+ </port>
381
+ <port id="12" precision="I32">
382
+ <dim>293320</dim>
383
+ </port>
384
+ <port id="13" precision="U8">
385
+ <dim>1015445</dim>
386
+ </port>
387
+ <port id="14" precision="I32">
388
+ <dim>124</dim>
389
+ </port>
390
+ <port id="15" precision="I32">
391
+ <dim>124</dim>
392
+ </port>
393
+ <port id="16" precision="U8">
394
+ <dim>2233</dim>
395
+ </port>
396
+ <port id="17" precision="I32">
397
+ <dim>124</dim>
398
+ </port>
399
+ </input>
400
+ <output>
401
+ <port id="18" precision="I32">
402
+ <dim>-1</dim>
403
+ </port>
404
+ <port id="19" precision="I32">
405
+ <dim>-1</dim>
406
+ </port>
407
+ <port id="20" precision="I32">
408
+ <dim>-1</dim>
409
+ </port>
410
+ </output>
411
+ </layer>
412
+ <layer id="32" name="Constant_165833" type="Const" version="opset1">
413
+ <data element_type="i32" shape="" offset="8624493" size="4" />
414
+ <output>
415
+ <port id="0" precision="I32" />
416
+ </output>
417
+ </layer>
418
+ <layer id="33" name="Constant_165835" type="Const" version="opset1">
419
+ <data element_type="u8" shape="4" offset="8624497" size="4" />
420
+ <output>
421
+ <port id="0" precision="U8">
422
+ <dim>4</dim>
423
+ </port>
424
+ </output>
425
+ </layer>
426
+ <layer id="34" name="Constant_165837" type="Const" version="opset1">
427
+ <data element_type="u8" shape="13" offset="8624501" size="13" />
428
+ <output>
429
+ <port id="0" precision="U8">
430
+ <dim>13</dim>
431
+ </port>
432
+ </output>
433
+ </layer>
434
+ <layer id="35" name="Truncate_165838" type="Truncate" version="extension">
435
+ <data m_num_inputs="1" />
436
+ <input>
437
+ <port id="0" precision="I32">
438
+ <dim>-1</dim>
439
+ </port>
440
+ <port id="1" precision="I32">
441
+ <dim>-1</dim>
442
+ </port>
443
+ <port id="2" precision="I32">
444
+ <dim>-1</dim>
445
+ </port>
446
+ <port id="3" precision="I32" />
447
+ <port id="4" precision="U8">
448
+ <dim>4</dim>
449
+ </port>
450
+ <port id="5" precision="U8">
451
+ <dim>13</dim>
452
+ </port>
453
+ </input>
454
+ <output>
455
+ <port id="6" precision="I32">
456
+ <dim>-1</dim>
457
+ </port>
458
+ <port id="7" precision="I32">
459
+ <dim>-1</dim>
460
+ </port>
461
+ <port id="8" precision="I32">
462
+ <dim>-1</dim>
463
+ </port>
464
+ </output>
465
+ </layer>
466
+ <layer id="36" name="Constant_165839" type="Const" version="opset1">
467
+ <data element_type="i32" shape="1" offset="8624514" size="4" />
468
+ <output>
469
+ <port id="0" precision="I32">
470
+ <dim>1</dim>
471
+ </port>
472
+ </output>
473
+ </layer>
474
+ <layer id="37" name="CombineSegments_165840" type="CombineSegments" version="extension">
475
+ <input>
476
+ <port id="0" precision="I32">
477
+ <dim>-1</dim>
478
+ </port>
479
+ <port id="1" precision="I32">
480
+ <dim>-1</dim>
481
+ </port>
482
+ <port id="2" precision="I32">
483
+ <dim>-1</dim>
484
+ </port>
485
+ <port id="3" precision="I32">
486
+ <dim>1</dim>
487
+ </port>
488
+ </input>
489
+ <output>
490
+ <port id="4" precision="I32">
491
+ <dim>-1</dim>
492
+ </port>
493
+ <port id="5" precision="I32">
494
+ <dim>-1</dim>
495
+ </port>
496
+ <port id="6" precision="I32">
497
+ <dim>-1</dim>
498
+ </port>
499
+ <port id="7" precision="I32">
500
+ <dim>-1</dim>
501
+ </port>
502
+ <port id="8" precision="I32">
503
+ <dim>-1</dim>
504
+ </port>
505
+ <port id="9" precision="I32">
506
+ <dim>-1</dim>
507
+ </port>
508
+ </output>
509
+ </layer>
510
+ <layer id="38" name="Subtract_165841" type="Subtract" version="opset1">
511
+ <data auto_broadcast="numpy" />
512
+ <input>
513
+ <port id="0" precision="I32">
514
+ <dim>-1</dim>
515
+ </port>
516
+ <port id="1" precision="I32">
517
+ <dim>-1</dim>
518
+ </port>
519
+ </input>
520
+ <output>
521
+ <port id="2" precision="I32">
522
+ <dim>-1</dim>
523
+ </port>
524
+ </output>
525
+ </layer>
526
+ <layer id="39" name="Constant_165842" type="Const" version="opset1">
527
+ <data element_type="i32" shape="" offset="8624514" size="4" />
528
+ <output>
529
+ <port id="0" precision="I32" />
530
+ </output>
531
+ </layer>
532
+ <layer id="40" name="ReduceMax_165843" type="ReduceMax" version="opset1">
533
+ <data keep_dims="false" />
534
+ <input>
535
+ <port id="0" precision="I32">
536
+ <dim>-1</dim>
537
+ </port>
538
+ <port id="1" precision="I32" />
539
+ </input>
540
+ <output>
541
+ <port id="2" precision="I32" />
542
+ </output>
543
+ </layer>
544
+ <layer id="41" name="Constant_165844" type="Const" version="opset1">
545
+ <data element_type="i32" shape="" offset="8624518" size="4" />
546
+ <output>
547
+ <port id="0" precision="I32" />
548
+ </output>
549
+ </layer>
550
+ <layer id="42" name="RaggedToDense_165845" type="RaggedToDense" version="extension">
551
+ <data pad_right="false" m_pad_max_length="false" />
552
+ <input>
553
+ <port id="0" precision="I32">
554
+ <dim>-1</dim>
555
+ </port>
556
+ <port id="1" precision="I32">
557
+ <dim>-1</dim>
558
+ </port>
559
+ <port id="2" precision="I32">
560
+ <dim>-1</dim>
561
+ </port>
562
+ <port id="3" precision="I32" />
563
+ <port id="4" precision="I32" />
564
+ </input>
565
+ <output>
566
+ <port id="5" precision="I32">
567
+ <dim>-1</dim>
568
+ <dim>-1</dim>
569
+ </port>
570
+ <port id="6" precision="BOOL">
571
+ <dim>-1</dim>
572
+ <dim>-1</dim>
573
+ </port>
574
+ </output>
575
+ </layer>
576
+ <layer id="43" name="Convert_165846" type="Convert" version="opset1">
577
+ <data destination_type="i32" />
578
+ <input>
579
+ <port id="0" precision="BOOL">
580
+ <dim>-1</dim>
581
+ <dim>-1</dim>
582
+ </port>
583
+ </input>
584
+ <output>
585
+ <port id="1" precision="I32">
586
+ <dim>-1</dim>
587
+ <dim>-1</dim>
588
+ </port>
589
+ </output>
590
+ </layer>
591
+ <layer id="44" name="Convert_165846.0" type="Convert" version="opset1">
592
+ <data destination_type="i64" />
593
+ <input>
594
+ <port id="0" precision="I32">
595
+ <dim>-1</dim>
596
+ <dim>-1</dim>
597
+ </port>
598
+ </input>
599
+ <output>
600
+ <port id="1" precision="I64" names="attention_mask">
601
+ <dim>-1</dim>
602
+ <dim>-1</dim>
603
+ </port>
604
+ </output>
605
+ </layer>
606
+ <layer id="45" name="RaggedToDense_165845.0" type="Convert" version="opset1">
607
+ <data destination_type="i64" />
608
+ <input>
609
+ <port id="0" precision="I32">
610
+ <dim>-1</dim>
611
+ <dim>-1</dim>
612
+ </port>
613
+ </input>
614
+ <output>
615
+ <port id="1" precision="I64" names="input_ids">
616
+ <dim>-1</dim>
617
+ <dim>-1</dim>
618
+ </port>
619
+ </output>
620
+ </layer>
621
+ <layer id="46" name="Result_165849" type="Result" version="opset1" output_names="input_ids">
622
+ <input>
623
+ <port id="0" precision="I64">
624
+ <dim>-1</dim>
625
+ <dim>-1</dim>
626
+ </port>
627
+ </input>
628
+ </layer>
629
+ <layer id="47" name="Result_165851" type="Result" version="opset1" output_names="attention_mask">
630
+ <input>
631
+ <port id="0" precision="I64">
632
+ <dim>-1</dim>
633
+ <dim>-1</dim>
634
+ </port>
635
+ </input>
636
+ </layer>
637
+ </layers>
638
+ <edges>
639
+ <edge from-layer="0" from-port="0" to-layer="2" to-port="0" />
640
+ <edge from-layer="1" from-port="0" to-layer="8" to-port="0" />
641
+ <edge from-layer="2" from-port="3" to-layer="15" to-port="4" />
642
+ <edge from-layer="2" from-port="2" to-layer="15" to-port="3" />
643
+ <edge from-layer="2" from-port="1" to-layer="15" to-port="2" />
644
+ <edge from-layer="2" from-port="1" to-layer="3" to-port="0" />
645
+ <edge from-layer="3" from-port="1" to-layer="6" to-port="0" />
646
+ <edge from-layer="4" from-port="0" to-layer="6" to-port="1" />
647
+ <edge from-layer="5" from-port="0" to-layer="6" to-port="2" />
648
+ <edge from-layer="6" from-port="3" to-layer="8" to-port="1" />
649
+ <edge from-layer="6" from-port="3" to-layer="11" to-port="0" />
650
+ <edge from-layer="7" from-port="0" to-layer="8" to-port="2" />
651
+ <edge from-layer="8" from-port="3" to-layer="15" to-port="0" />
652
+ <edge from-layer="9" from-port="0" to-layer="13" to-port="0" />
653
+ <edge from-layer="10" from-port="0" to-layer="11" to-port="1" />
654
+ <edge from-layer="11" from-port="2" to-layer="13" to-port="1" />
655
+ <edge from-layer="12" from-port="0" to-layer="13" to-port="2" />
656
+ <edge from-layer="13" from-port="3" to-layer="15" to-port="1" />
657
+ <edge from-layer="14" from-port="0" to-layer="15" to-port="5" />
658
+ <edge from-layer="15" from-port="6" to-layer="17" to-port="0" />
659
+ <edge from-layer="15" from-port="7" to-layer="17" to-port="1" />
660
+ <edge from-layer="15" from-port="8" to-layer="17" to-port="2" />
661
+ <edge from-layer="15" from-port="9" to-layer="17" to-port="3" />
662
+ <edge from-layer="15" from-port="10" to-layer="17" to-port="4" />
663
+ <edge from-layer="15" from-port="11" to-layer="17" to-port="5" />
664
+ <edge from-layer="16" from-port="0" to-layer="17" to-port="6" />
665
+ <edge from-layer="17" from-port="7" to-layer="31" to-port="0" />
666
+ <edge from-layer="17" from-port="8" to-layer="31" to-port="1" />
667
+ <edge from-layer="17" from-port="9" to-layer="31" to-port="2" />
668
+ <edge from-layer="17" from-port="10" to-layer="31" to-port="3" />
669
+ <edge from-layer="17" from-port="11" to-layer="31" to-port="4" />
670
+ <edge from-layer="18" from-port="0" to-layer="31" to-port="5" />
671
+ <edge from-layer="19" from-port="0" to-layer="31" to-port="6" />
672
+ <edge from-layer="20" from-port="0" to-layer="31" to-port="7" />
673
+ <edge from-layer="21" from-port="0" to-layer="31" to-port="8" />
674
+ <edge from-layer="22" from-port="0" to-layer="31" to-port="9" />
675
+ <edge from-layer="23" from-port="0" to-layer="31" to-port="10" />
676
+ <edge from-layer="24" from-port="0" to-layer="31" to-port="11" />
677
+ <edge from-layer="25" from-port="0" to-layer="31" to-port="12" />
678
+ <edge from-layer="26" from-port="0" to-layer="31" to-port="13" />
679
+ <edge from-layer="27" from-port="0" to-layer="31" to-port="14" />
680
+ <edge from-layer="28" from-port="0" to-layer="31" to-port="15" />
681
+ <edge from-layer="29" from-port="0" to-layer="31" to-port="16" />
682
+ <edge from-layer="30" from-port="0" to-layer="31" to-port="17" />
683
+ <edge from-layer="31" from-port="18" to-layer="35" to-port="0" />
684
+ <edge from-layer="31" from-port="19" to-layer="35" to-port="1" />
685
+ <edge from-layer="31" from-port="20" to-layer="35" to-port="2" />
686
+ <edge from-layer="32" from-port="0" to-layer="35" to-port="3" />
687
+ <edge from-layer="33" from-port="0" to-layer="35" to-port="4" />
688
+ <edge from-layer="34" from-port="0" to-layer="35" to-port="5" />
689
+ <edge from-layer="35" from-port="8" to-layer="37" to-port="2" />
690
+ <edge from-layer="35" from-port="7" to-layer="37" to-port="1" />
691
+ <edge from-layer="35" from-port="6" to-layer="37" to-port="0" />
692
+ <edge from-layer="36" from-port="0" to-layer="37" to-port="3" />
693
+ <edge from-layer="37" from-port="5" to-layer="38" to-port="0" />
694
+ <edge from-layer="37" from-port="4" to-layer="38" to-port="1" />
695
+ <edge from-layer="37" from-port="4" to-layer="42" to-port="0" />
696
+ <edge from-layer="37" from-port="5" to-layer="42" to-port="1" />
697
+ <edge from-layer="37" from-port="6" to-layer="42" to-port="2" />
698
+ <edge from-layer="38" from-port="2" to-layer="40" to-port="0" />
699
+ <edge from-layer="39" from-port="0" to-layer="40" to-port="1" />
700
+ <edge from-layer="40" from-port="2" to-layer="42" to-port="3" />
701
+ <edge from-layer="41" from-port="0" to-layer="42" to-port="4" />
702
+ <edge from-layer="42" from-port="6" to-layer="43" to-port="0" />
703
+ <edge from-layer="42" from-port="5" to-layer="45" to-port="0" />
704
+ <edge from-layer="43" from-port="1" to-layer="44" to-port="0" />
705
+ <edge from-layer="44" from-port="1" to-layer="47" to-port="0" />
706
+ <edge from-layer="45" from-port="1" to-layer="46" to-port="0" />
707
+ </edges>
708
+ <rt_info>
709
+ <info name="OpenVINO Runtime" value="2026.3.0-22165-7b32f06bcaa" />
710
+ <add_attention_mask value="True" />
711
+ <add_prefix_space />
712
+ <add_special_tokens value="True" />
713
+ <bos_token_id value="124894" />
714
+ <chat_template value="{{- bos_token -}}&#10;{%- set preserve_thinking = preserve_thinking | default(false) -%}&#10;&#10;{%- macro format_arg_value(arg_value) -%}&#10; {%- if arg_value is string -%}&#10; {{- &quot;'&quot; + arg_value + &quot;'&quot; -}}&#10; {%- elif arg_value is mapping -%}&#10; {{- arg_value | tojson -}}&#10; {%- else -%}&#10; {{- arg_value | string -}}&#10; {%- endif -%}&#10;{%- endmacro -%}&#10;&#10;{%- macro parse_content(content) -%}&#10; {%- if content is string -%}&#10; {{- content -}}&#10; {%- else -%}&#10; {%- set _ns = namespace(result=&quot;&quot;) -%}&#10; {%- for item in content -%}&#10; {%- if item[&quot;type&quot;] == &quot;image&quot; -%}&#10; {%- set _ns.result = _ns.result + &quot;&lt;image>&quot; -%}&#10; {%- elif item[&quot;type&quot;] == &quot;text&quot; -%}&#10; {%- set _ns.result = _ns.result + item[&quot;text&quot;] -%}&#10; {%- else -%}&#10; {%- set _ns.result = _ns.result + item | tojson -%}&#10; {%- endif -%}&#10; {%- endfor -%}&#10; {{- _ns.result -}}&#10; {%- endif -%}&#10;{%- endmacro -%}&#10;&#10;{%- macro render_tool_calls(tool_calls) -%}&#10; {%- set tool_calls_ns = namespace(tool_calls=[]) -%}&#10; {%- for tool_call in tool_calls -%}&#10; {%- set func_name = tool_call[&quot;function&quot;][&quot;name&quot;] -%}&#10; {%- set func_args = tool_call[&quot;function&quot;][&quot;arguments&quot;] -%}&#10; {%- set args_ns = namespace(arg_strings=[]) -%}&#10; {%- for arg_name, arg_value in func_args.items() -%}&#10; {%- set args_ns.arg_strings = args_ns.arg_strings + [arg_name + &quot;=&quot; + format_arg_value(arg_value)] -%}&#10; {%- endfor -%}&#10; {%- set tool_calls_ns.tool_calls = tool_calls_ns.tool_calls + [func_name + &quot;(&quot; + (args_ns.arg_strings | join(&quot;, &quot;)) + &quot;)&quot;] -%}&#10; {%- endfor -%}&#10; {{- &quot;&lt;|tool_call_start|>[&quot; + (tool_calls_ns.tool_calls | join(&quot;, &quot;)) + &quot;]&lt;|tool_call_end|>&quot; -}}&#10;{%- endmacro -%}&#10;&#10;{%- set ns = namespace(system_prompt=&quot;&quot;, last_user_index=-1) -%}&#10;{%- if messages[0][&quot;role&quot;] == &quot;system&quot; -%}&#10; {%- if messages[0].get(&quot;content&quot;) -%}&#10; {%- set ns.system_prompt = parse_content(messages[0][&quot;content&quot;]) -%}&#10; {%- endif -%}&#10; {%- set messages = messages[1:] -%}&#10;{%- endif -%}&#10;{%- if tools -%}&#10; {%- set ns.system_prompt = ns.system_prompt + (&quot;\n&quot; if ns.system_prompt else &quot;&quot;) + &quot;List of tools: [&quot; -%}&#10; {%- for tool in tools -%}&#10; {%- if tool is not string -%}&#10; {%- set tool = tool | tojson -%}&#10; {%- endif -%}&#10; {%- set ns.system_prompt = ns.system_prompt + tool -%}&#10; {%- if not loop.last -%}&#10; {%- set ns.system_prompt = ns.system_prompt + &quot;, &quot; -%}&#10; {%- endif -%}&#10; {%- endfor -%}&#10; {%- set ns.system_prompt = ns.system_prompt + &quot;]&quot; -%}&#10;{%- endif -%}&#10;{%- if ns.system_prompt -%}&#10; {{- &quot;&lt;|im_start|>system\n&quot; + ns.system_prompt + &quot;&lt;|im_end|>\n&quot; -}}&#10;{%- endif -%}&#10;{%- for message in messages -%}&#10; {%- if message[&quot;role&quot;] == &quot;user&quot; -%}&#10; {%- set ns.last_user_index = loop.index0 -%}&#10; {%- endif -%}&#10;{%- endfor -%}&#10;{%- for message in messages -%}&#10; {{- &quot;&lt;|im_start|>&quot; + message.role + &quot;\n&quot; -}}&#10; {%- if message.role == &quot;assistant&quot; -%}&#10; {%- generation -%}&#10; {%- if message.thinking is defined and (preserve_thinking or loop.index0 > ns.last_user_index) -%}&#10; {{- &quot;&lt;think>&quot; + message.thinking + &quot;&lt;/think>&quot; -}}&#10; {%- endif -%}&#10; {%- set _cfm_tag = &quot;CONTINUE_FINAL_MESSAGE_TAG &quot; -%}&#10; {%- set _has_cfm = false -%}&#10; {%- if message.content is defined -%}&#10; {%- set content = parse_content(message.content) -%}&#10; {%- if not (preserve_thinking or loop.index0 > ns.last_user_index) -%}&#10; {%- if &quot;&lt;/think>&quot; in content -%}&#10; {%- set content = content.split(&quot;&lt;/think>&quot;)[-1] | trim -%}&#10; {%- endif -%}&#10; {%- endif -%}&#10; {%- if message.tool_calls is defined and content.endswith(_cfm_tag) -%}&#10; {%- set _has_cfm = true -%}&#10; {%- set _trunc_len = (content | length) - (_cfm_tag | length) -%}&#10; {{- content[:_trunc_len] -}}&#10; {%- else -%}&#10; {{- content -}}&#10; {%- endif -%}&#10; {%- endif -%}&#10; {%- if message.tool_calls is defined -%}&#10; {{- render_tool_calls(message.tool_calls) -}}&#10; {%- endif -%}&#10; {%- if _has_cfm -%}&#10; {{- _cfm_tag -}}&#10; {%- endif -%}&#10; {{- &quot;&lt;|im_end|>\n&quot; -}}&#10; {%- endgeneration -%}&#10; {%- else %}&#10; {%- if message.get(&quot;content&quot;) -%}&#10; {{- parse_content(message[&quot;content&quot;]) -}}&#10; {%- endif -%}&#10; {{- &quot;&lt;|im_end|>\n&quot; -}}&#10; {%- endif %}&#10;{%- endfor -%}&#10;{%- if add_generation_prompt -%}&#10; {{- &quot;&lt;|im_start|>assistant\n&quot; -}}&#10;{%- endif -%}" />
715
+ <clean_up_tokenization_spaces />
716
+ <detokenizer_input_type value="i64" />
717
+ <eos_token_id value="124900" />
718
+ <handle_special_tokens_with_re />
719
+ <max_length />
720
+ <number_of_inputs value="1" />
721
+ <openvino_tokenizers_version value="2026.3.0.0-683-6d28e696dfa" />
722
+ <openvino_version value="2026.3.0-22165-7b32f06bcaa" />
723
+ <original_post_processor_template value="{&quot;type&quot;: &quot;ByteLevel&quot;, &quot;add_prefix_space&quot;: true, &quot;trim_offsets&quot;: false, &quot;use_regex&quot;: true}" />
724
+ <original_tokenizer_class value="&lt;class 'transformers.tokenization_utils_tokenizers.TokenizersBackend'>" />
725
+ <pad_token_id value="124893" />
726
+ <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]}}" />
727
+ <sentencepiece_version value="0.2.1" />
728
+ <skip_special_tokens value="True" />
729
+ <streaming_detokenizer value="False" />
730
+ <tokenizer_output_type value="i64" />
731
+ <tokenizers_version value="0.22.2" />
732
+ <transformers_version value="5.0.0" />
733
+ <use_max_padding value="False" />
734
+ <use_sentencepiece_backend value="False" />
735
+ <utf8_replace_mode value="replace" />
736
+ <with_detokenizer value="True" />
737
+ </rt_info>
738
+ </net>
twilson63/LFM2.5-8B-A1B-int4-ov/tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:695be7802a0e4b8a81048f0ff5ebb7fc811a0ba5a6be63dbb24deb5a81096f41
3
+ size 17905598
twilson63/LFM2.5-8B-A1B-int4-ov/tokenizer_config.json ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "backend": "tokenizers",
3
+ "bos_token": "<|startoftext|>",
4
+ "clean_up_tokenization_spaces": false,
5
+ "eos_token": "<|im_end|>",
6
+ "is_local": false,
7
+ "model_max_length": 1000000000000000019884624838656,
8
+ "pad_token": "<|pad|>",
9
+ "tokenizer_class": "TokenizersBackend",
10
+ "use_default_system_prompt": false
11
+ }