ryugyosoft commited on
Commit
6f63f42
·
verified ·
1 Parent(s): 105772b

Add files using upload-large-folder tool

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +19 -0
  2. LICENSE +25 -0
  3. README.md +85 -0
  4. README_en.md +67 -0
  5. chat_template.jinja +150 -0
  6. config.json +112 -0
  7. engine.json +213 -0
  8. merges.txt +0 -0
  9. npu_cache/17615181318813558163.blob +3 -0
  10. npu_cache/onw_blobs/attn_R4_C1024_kv4_D256_Dv256-017f744c2fe1bf58.blob +3 -0
  11. npu_cache/onw_blobs/attn_R64_C1024_kv4_D256_Dv256-5b01e3afd99bc526.blob +3 -0
  12. npu_cache/onw_blobs/seg00_S1.p0-9d89f34f85064990.blob +3 -0
  13. npu_cache/onw_blobs/seg00_S1.p1-d8490cd290b45896.blob +3 -0
  14. npu_cache/onw_blobs/seg00_S1.p2-4a4fdf4c4da5ba5b.blob +3 -0
  15. npu_cache/onw_blobs/seg00_S16.p0-b5d33961bd9d703a.blob +3 -0
  16. npu_cache/onw_blobs/seg00_S16.p1-f42b40c55679b270.blob +3 -0
  17. npu_cache/onw_blobs/seg00_S16.p2-ecea0693cca6f664.blob +3 -0
  18. npu_cache/onw_blobs/seg01_S1.p2-7520a2c30bc351d8.blob +3 -0
  19. npu_cache/onw_blobs/seg01_S16.p2-c4f349fa0be3cdec.blob +3 -0
  20. npu_cache/onw_blobs/seg02_S16.p1-f29595734ffacae8.blob +3 -0
  21. npu_cache/onw_blobs/seg03_S1.p0-1a21072fa37f6e0c.blob +3 -0
  22. npu_cache/onw_blobs/seg03_S1.p1-8b9eec4ab326c3dc.blob +3 -0
  23. npu_cache/onw_blobs/seg03_S16.p0-ed1f3643bce32b47.blob +3 -0
  24. npu_cache/onw_blobs/seg03_S16.p1-e8f97a13bd0c3423.blob +3 -0
  25. npu_cache/onw_blobs/seg03_S16.p2-f8cd25573bcd95eb.blob +3 -0
  26. npu_cache/onw_blobs/vision-f09f86c4ef367a56.blob +3 -0
  27. npu_cache/onw_compile.json +30 -0
  28. preprocessor_config.json +21 -0
  29. processor_config.json +60 -0
  30. seg00.bin +3 -0
  31. seg00_S1.xml +0 -0
  32. seg00_S16.xml +0 -0
  33. seg01.bin +3 -0
  34. seg01_S1.xml +0 -0
  35. seg01_S16.xml +0 -0
  36. seg02.bin +3 -0
  37. seg02_S1.xml +0 -0
  38. seg02_S16.xml +0 -0
  39. seg03.bin +3 -0
  40. seg03_S1.xml +0 -0
  41. seg03_S16.xml +0 -0
  42. seg04.bin +3 -0
  43. seg04_S1.xml +381 -0
  44. seg04_S16.xml +381 -0
  45. shared.bin +3 -0
  46. shared.bin.json +1 -0
  47. tokenizer.json +3 -0
  48. tokenizer_config.json +305 -0
  49. vision.bin +3 -0
  50. vision.xml +0 -0
.gitattributes CHANGED
@@ -33,3 +33,22 @@ 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
+ npu_cache/onw_blobs/seg03_S16.p2-f8cd25573bcd95eb.blob filter=lfs diff=lfs merge=lfs -text
37
+ npu_cache/onw_blobs/vision-f09f86c4ef367a56.blob filter=lfs diff=lfs merge=lfs -text
38
+ npu_cache/onw_blobs/seg03_S1.p0-1a21072fa37f6e0c.blob filter=lfs diff=lfs merge=lfs -text
39
+ npu_cache/onw_blobs/seg03_S16.p0-ed1f3643bce32b47.blob filter=lfs diff=lfs merge=lfs -text
40
+ npu_cache/onw_blobs/seg03_S16.p1-e8f97a13bd0c3423.blob filter=lfs diff=lfs merge=lfs -text
41
+ npu_cache/onw_blobs/seg03_S1.p1-8b9eec4ab326c3dc.blob filter=lfs diff=lfs merge=lfs -text
42
+ npu_cache/onw_blobs/seg02_S16.p1-f29595734ffacae8.blob filter=lfs diff=lfs merge=lfs -text
43
+ tokenizer.json filter=lfs diff=lfs merge=lfs -text
44
+ npu_cache/onw_blobs/attn_R4_C1024_kv4_D256_Dv256-017f744c2fe1bf58.blob filter=lfs diff=lfs merge=lfs -text
45
+ npu_cache/17615181318813558163.blob filter=lfs diff=lfs merge=lfs -text
46
+ npu_cache/onw_blobs/attn_R64_C1024_kv4_D256_Dv256-5b01e3afd99bc526.blob filter=lfs diff=lfs merge=lfs -text
47
+ npu_cache/onw_blobs/seg00_S16.p0-b5d33961bd9d703a.blob filter=lfs diff=lfs merge=lfs -text
48
+ npu_cache/onw_blobs/seg00_S1.p0-9d89f34f85064990.blob filter=lfs diff=lfs merge=lfs -text
49
+ npu_cache/onw_blobs/seg00_S16.p2-ecea0693cca6f664.blob filter=lfs diff=lfs merge=lfs -text
50
+ npu_cache/onw_blobs/seg00_S1.p2-4a4fdf4c4da5ba5b.blob filter=lfs diff=lfs merge=lfs -text
51
+ npu_cache/onw_blobs/seg00_S1.p1-d8490cd290b45896.blob filter=lfs diff=lfs merge=lfs -text
52
+ npu_cache/onw_blobs/seg01_S1.p2-7520a2c30bc351d8.blob filter=lfs diff=lfs merge=lfs -text
53
+ npu_cache/onw_blobs/seg00_S16.p1-f42b40c55679b270.blob filter=lfs diff=lfs merge=lfs -text
54
+ npu_cache/onw_blobs/seg01_S16.p2-c4f349fa0be3cdec.blob filter=lfs diff=lfs merge=lfs -text
LICENSE ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ The weights in this repository are converted (re-quantized / restructured, no training) from
2
+ ornith-ai/Ornith-1.5-9B (https://huggingface.co/ornith-ai/Ornith-1.5-9B), which its model card releases under
3
+ the MIT License ("license: mit"; the original repository has no LICENSE file). The MIT License text follows.
4
+
5
+ MIT License
6
+
7
+ Copyright (c) ornith-ai
8
+
9
+ Permission is hereby granted, free of charge, to any person obtaining a copy
10
+ of this software and associated documentation files (the "Software"), to deal
11
+ in the Software without restriction, including without limitation the rights
12
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ copies of the Software, and to permit persons to whom the Software is
14
+ furnished to do so, subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be included in all
17
+ copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25
+ SOFTWARE.
README.md ADDED
@@ -0,0 +1,85 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: mit
3
+ base_model:
4
+ - ornith-ai/Ornith-1.5-9B
5
+ language:
6
+ - ja
7
+ - en
8
+ pipeline_tag: image-text-to-text
9
+ tags:
10
+ - openvino
11
+ - npu
12
+ - intel
13
+ - onw
14
+ - agent
15
+ - tool-use
16
+ library_name: onw
17
+ ---
18
+
19
+ # Ornith-1.5-9B for onw — Intel NPU だけで動く(テキスト+画像)
20
+
21
+ **日本語** | [English](README_en.md)
22
+
23
+ [ornith-ai/Ornith-1.5-9B](https://huggingface.co/ornith-ai/Ornith-1.5-9B) を **[onw](https://huggingface.co/ryugyosoft/onw)**(俺のNPUがこんなに動くわけない)用に変換したモデルです。onw は LLM を Intel NPU だけで動かすエンジンで、このリポジトリにはモデルだけが入っています(エンジンは別にダウンロードします)。
24
+
25
+ ornith-ai の [Ornith-1.5](https://huggingface.co/ornith-ai) は、Qwen3.5 系に継続事前学習・中間学習・事後学習を重ね、コーディングエージェント・ツール呼び出し・長い作業向けに自己改善ループで鍛えたモデルです(元のカードでは SWE-bench Verified、Terminal-Bench、MCP-Atlas などで元の Qwen を大きく上回っています)。構造は Qwen3.5/3.6 と同じなので、onw の Qwen 用の変換・実行がそのまま使えます。この 9B は dense で、テキストと画像に対応します。MoE の大きい版(35B-A3B)は準備中です。
26
+
27
+ **ツール呼び出し**:OpenAI 互換 API の `tools` に対応(並列呼び出しも可)。思考モードでは思考が `reasoning_content` で返り、次のターンでそれを履歴に含めて送るとモデルに渡ります(Ornith のテンプレートは過去のターンの思考も残す作りで、エージェント用途ではこれが効きます)。元のカードの推奨設定は、一般用途 temperature 1.0・top_p 0.95・top_k 20・presence_penalty 1.5、コーディング temperature 0.6 です(onw の既定は貪欲生成)。
28
+
29
+ | NPU 3720(Core Ultra 9 285HX) | |
30
+ |---|---|
31
+ | 入力 | テキスト+画像 |
32
+ | 生成速度 | **4.9 tok/s(先読み検証で 9〜15 tok/s)** |
33
+ | プロンプト処理 | 画像+質問 281 トークン:画像 0.5 秒+処理 8.0 秒 |
34
+ | ダウンロード | **5.3 GB** |
35
+ | 使用メモリ(読み込み後の作業セット) | 約 11 GB |
36
+ | 初回起動(NPU 向けコンパイル)/2 回目以降 | 約 10 分/約 20 秒 |
37
+
38
+ ## 使い方
39
+
40
+ 1. **onw(エンジン)を入れます。** まだの場合は、[onw の「インストール」](https://huggingface.co/ryugyosoft/onw) のとおり 1 行貼るだけです。Windows はスタートメニューで「PowerShell」を開き、次の 1 行を貼って Enter(Ubuntu は onw の README の `curl ... | bash`)。
41
+
42
+ ```powershell
43
+ irm https://huggingface.co/ryugyosoft/onw/resolve/main/install.ps1 | iex
44
+ ```
45
+
46
+ 2. タスクトレイの onw アイコンから開く **onw ウィンドウ** の「モデル」タブで **Ornith-1.5-9B** を選び、「ダウンロード」を押します(5.3 GB)。
47
+ 3. 「サーバー」タブでモデルを選んで「ロード」を押します。初回だけ NPU 向けの準備に約 10 分かかります。
48
+ 4. 「チャット」ですぐ試せます。他のアプリからは **OpenAI 互換 API** として使えます(base URL は `http://localhost:8000/v1`)。
49
+
50
+ <img src="https://huggingface.co/ryugyosoft/onw/resolve/main/images/onw-models.png" width="640" alt="onw ウィンドウの「モデル」タブ">
51
+
52
+ <img src="https://huggingface.co/ryugyosoft/onw/resolve/main/images/onw-server.png" width="49%" alt="「サーバー」タブ"> <img src="https://huggingface.co/ryugyosoft/onw/resolve/main/images/onw-settings.png" width="49%" alt="「設定」タブ">
53
+
54
+ ```python
55
+ from openai import OpenAI
56
+ c = OpenAI(base_url="http://localhost:8000/v1", api_key="none")
57
+ r = c.chat.completions.create(model="Ornith-1.5-9B-onw", messages=[{"role": "user", "content": "こんにちは"}])
58
+ print(r.choices[0].message.content)
59
+ ```
60
+
61
+ 上級者向け:`hf download ryugyosoft/Ornith-1.5-9B-onw` で取得したフォルダを `onw serve フォルダ` で起動することもできます。Git LFS なしの `git clone` では重みが入らないので使わないでください(onw が検出して止めます)。
62
+
63
+ ## 仕組み
64
+
65
+ - 32 層(Gated DeltaNet 24+ゲート付きアテンション 8)を 8 層ずつ 4 区間にし、グループ 128 の INT4。出力層は独立した区間で、ロジットが不要なプロンプト処理では飛ばします。
66
+ - DeltaNet は、生成時は 1 トークン用の行列形式、16 トークンのプロンプト処理はブロック倍々の厳密な逆行列によるチャンク並列形式。FP16 で小さくなりすぎる出力は 1024 倍し、直後のゲート付き RMSNorm は溢れないよう前処理しています。
67
+ - 画像エンコーダー(27 層の ViT)は 512×512 入力用の 1 枚の静的グラフ。画像トークンの MRoPE の位置はホストで計算します。
68
+ - 詳しくは [onw の技術解説](https://huggingface.co/ryugyosoft/onw/blob/main/TECHNICAL.md)。
69
+
70
+ ## ファイル
71
+
72
+ | ファイル | 内容 |
73
+ |---|---|
74
+ | `seg*_S1.xml`, `seg*_S16.xml` + `seg*.bin` | 4 区間+出力層(重みは区間ごとに 1 ファイル) |
75
+ | `vision.xml` | INT8 の画像エンコーダー(512×512 → 256 トークン) |
76
+ | `shared.bin` | INT8 の出力層、INT4 の埋め込み(ホストで参照) |
77
+ | `engine.json`、トークナイザー/設定ファイル | onw 用のメタデータ、元のリポジトリの設定 |
78
+
79
+ ## 品質
80
+
81
+ 区間の重みはグループ 128 の INT4、出力層 INT8、埋め込み INT4(ホストで参照)、画像エンコーダー INT8。元のモデル(bf16、CPU)と教師強制で比べると、回答の終わり(`<|im_end|>`)まで 10 トークンすべて一致しました。画像(図形の色と形)、2 つのツールの並列呼び出しと結果を使った回答、思考の分離を確認済みです。
82
+
83
+ ## ライセンス
84
+
85
+ MIT(元モデルと同じ)。重みは元モデルから再量子化・再構成したものです。学習はしていません。
README_en.md ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Ornith-1.5-9B for onw — entirely on the Intel NPU (text + image)
2
+
3
+ [日本語](README.md) | **English**
4
+
5
+ [ornith-ai/Ornith-1.5-9B](https://huggingface.co/ornith-ai/Ornith-1.5-9B) converted for **[onw](https://huggingface.co/ryugyosoft/onw)** (俺のNPUがこんなに動くわけない - "there's no way my NPU runs this well"), the engine that runs LLMs entirely on the Intel NPU. This repo holds only the model; the engine is a separate download.
6
+
7
+ ornith-ai's [Ornith-1.5](https://huggingface.co/ornith-ai) takes Qwen3.5-family models through continued pre-training, mid-training and post-training with a self-improvement loop aimed at coding agents, tool calls and long tasks (its card reports large gains over the base Qwen on SWE-bench Verified, Terminal-Bench, MCP-Atlas and more). The architecture is Qwen3.5 / 3.6's, so onw's Qwen conversion and runtime apply as they are. This 9B is dense, text + image. The larger MoE (35B-A3B) is in preparation.
8
+
9
+ **Tool calls**: OpenAI-style `tools` (parallel calls too). In thinking mode the thinking comes back as `reasoning_content`; send it back in the history and the model gets it (Ornith's template keeps earlier turns' thinking, which agents rely on). The original card recommends temperature 1.0, top_p 0.95, top_k 20, presence_penalty 1.5 for general use and temperature 0.6 for coding (onw defaults to greedy).
10
+
11
+ | NPU 3720 (Core Ultra 9 285HX) | |
12
+ |---|---|
13
+ | input | text + image |
14
+ | decode | **4.9 tok/s (9-15 tok/s with prompt lookup)** |
15
+ | prompt processing | image + question, 281 tokens: vision 0.5 s + prefill 8.0 s |
16
+ | download | **5.3 GB** |
17
+ | memory in use (working set after loading) | ~11 GB |
18
+ | first start (NPU compile) / later | ~10 min / ~20 s |
19
+
20
+ ## Use
21
+
22
+ 1. **Install onw (the engine)** if you have not yet - one line, see [Install in onw](https://huggingface.co/ryugyosoft/onw). On Windows open "PowerShell" from the Start menu, paste this and press Enter (Ubuntu: the `curl ... | bash` line in the onw README).
23
+
24
+ ```powershell
25
+ irm https://huggingface.co/ryugyosoft/onw/resolve/main/install.ps1 | iex
26
+ ```
27
+
28
+ 2. In the **onw window** (from the onw icon in the task tray), Models tab: pick **Ornith-1.5-9B** and press Download (5.3 GB).
29
+ 3. Server tab: pick it and press Load. The first load prepares it for the NPU (~10 min).
30
+ 4. "Chat" to try it. Other apps can use it as an **OpenAI-compatible API** (base URL `http://localhost:8000/v1`).
31
+
32
+ <img src="https://huggingface.co/ryugyosoft/onw/resolve/main/images/onw-models.png" width="640" alt="The Models tab of the onw window">
33
+
34
+ <img src="https://huggingface.co/ryugyosoft/onw/resolve/main/images/onw-server.png" width="49%" alt="Server tab"> <img src="https://huggingface.co/ryugyosoft/onw/resolve/main/images/onw-settings.png" width="49%" alt="Settings tab">
35
+
36
+ ```python
37
+ from openai import OpenAI
38
+ c = OpenAI(base_url="http://localhost:8000/v1", api_key="none")
39
+ r = c.chat.completions.create(model="Ornith-1.5-9B-onw", messages=[{"role": "user", "content": "Hello"}])
40
+ print(r.choices[0].message.content)
41
+ ```
42
+
43
+ Advanced: `hf download ryugyosoft/Ornith-1.5-9B-onw` and `onw serve <folder>` works too. Do not `git clone` without Git LFS (you would get pointer files instead of the weights; onw detects that and stops).
44
+
45
+ ## How it runs
46
+
47
+ - 32 layers (24 Gated DeltaNet + 8 gated attention) in 4 segments of 8 layers, group-128 INT4, plus an LM-head segment skipped for prompt blocks that need no logits.
48
+ - DeltaNet: 1-token matrix form for decoding; 16-token prompt blocks in chunkwise-parallel form with an exact block-doubling inverse. The DeltaNet output is scaled by 1024 (fp16 subnormals) and the gated RMSNorm prescaled so it cannot overflow fp16.
49
+ - Vision: the 27-layer ViT as one static graph for 512x512 input; MRoPE positions for image tokens are computed on the host.
50
+ - Details: [onw technical notes](https://huggingface.co/ryugyosoft/onw/blob/main/TECHNICAL_en.md).
51
+
52
+ ## Files
53
+
54
+ | file | what |
55
+ |---|---|
56
+ | `seg*_S1.xml`, `seg*_S16.xml` + `seg*.bin` | 4 segments + LM head (one weights file per segment) |
57
+ | `vision.xml` | INT8 vision tower (512x512 -> 256 tokens) |
58
+ | `shared.bin` | INT8 LM head, INT4 token embedding (host lookup) |
59
+ | `engine.json`, tokenizer / config files | onw metadata, the original repo's configs |
60
+
61
+ ## Quality
62
+
63
+ Group-128 INT4 segments, INT8 LM head, INT4 token embedding (host lookup), INT8 vision tower. Teacher-forced against the bf16 model on the CPU, all 10 tokens up to the end of the answer (`<|im_end|>`) match. Checked: an image (shapes and colours), two parallel tool calls and an answer built from their results, the thinking split.
64
+
65
+ ## License
66
+
67
+ MIT, same as the base model. The weights are re-quantized / restructured from it; no training.
chat_template.jinja ADDED
@@ -0,0 +1,150 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {%- set image_count = namespace(value=0) %}
2
+ {%- set video_count = namespace(value=0) %}
3
+ {%- macro render_content(content, do_vision_count, is_system_content=false) %}
4
+ {%- if content is string %}
5
+ {{- content }}
6
+ {%- elif content is iterable and content is not mapping %}
7
+ {%- for item in content %}
8
+ {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
9
+ {%- if is_system_content %}
10
+ {{- raise_exception('System message cannot contain images.') }}
11
+ {%- endif %}
12
+ {%- if do_vision_count %}
13
+ {%- set image_count.value = image_count.value + 1 %}
14
+ {%- endif %}
15
+ {%- if add_vision_id %}
16
+ {{- 'Picture ' ~ image_count.value ~ ': ' }}
17
+ {%- endif %}
18
+ {{- '<|vision_start|><|image_pad|><|vision_end|>' }}
19
+ {%- elif 'video' in item or item.type == 'video' %}
20
+ {%- if is_system_content %}
21
+ {{- raise_exception('System message cannot contain videos.') }}
22
+ {%- endif %}
23
+ {%- if do_vision_count %}
24
+ {%- set video_count.value = video_count.value + 1 %}
25
+ {%- endif %}
26
+ {%- if add_vision_id %}
27
+ {{- 'Video ' ~ video_count.value ~ ': ' }}
28
+ {%- endif %}
29
+ {{- '<|vision_start|><|video_pad|><|vision_end|>' }}
30
+ {%- elif 'text' in item %}
31
+ {{- item.text }}
32
+ {%- else %}
33
+ {{- raise_exception('Unexpected item type in content.') }}
34
+ {%- endif %}
35
+ {%- endfor %}
36
+ {%- elif content is none or content is undefined %}
37
+ {{- '' }}
38
+ {%- else %}
39
+ {{- raise_exception('Unexpected content type.') }}
40
+ {%- endif %}
41
+ {%- endmacro %}
42
+ {%- if not messages %}
43
+ {{- raise_exception('No messages provided.') }}
44
+ {%- endif %}
45
+ {%- if tools and tools is iterable and tools is not mapping %}
46
+ {{- '<|im_start|>system\n' }}
47
+ {{- "# Tools\n\nYou have access to the following functions:\n\n<tools>" }}
48
+ {%- for tool in tools %}
49
+ {{- "\n" }}
50
+ {{- tool | tojson }}
51
+ {%- endfor %}
52
+ {{- "\n</tools>" }}
53
+ {{- '\n\nIf you choose to call a function ONLY reply in the following format with NO suffix:\n\n<tool_call>\n<function=example_function_name>\n<parameter=example_parameter_1>\nvalue_1\n</parameter>\n<parameter=example_parameter_2>\nThis is the value for the second parameter\nthat can span\nmultiple lines\n</parameter>\n</function>\n</tool_call>\n\n<IMPORTANT>\nReminder:\n- Function calls MUST follow the specified format: an inner <function=...></function> block must be nested within <tool_call></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</IMPORTANT>' }}
54
+ {%- if messages[0].role == 'system' %}
55
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
56
+ {%- if content %}
57
+ {{- '\n\n' + content }}
58
+ {%- endif %}
59
+ {%- endif %}
60
+ {{- '<|im_end|>\n' }}
61
+ {%- else %}
62
+ {%- if messages[0].role == 'system' %}
63
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
64
+ {{- '<|im_start|>system\n' + content + '<|im_end|>\n' }}
65
+ {%- endif %}
66
+ {%- endif %}
67
+ {%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
68
+ {%- for message in messages[::-1] %}
69
+ {%- set index = (messages|length - 1) - loop.index0 %}
70
+ {%- if ns.multi_step_tool and message.role == "user" %}
71
+ {%- set content = render_content(message.content, false)|trim %}
72
+ {%- if not(content.startswith('<tool_response>') and content.endswith('</tool_response>')) %}
73
+ {%- set ns.multi_step_tool = false %}
74
+ {%- set ns.last_query_index = index %}
75
+ {%- endif %}
76
+ {%- endif %}
77
+ {%- endfor %}
78
+ {%- if ns.multi_step_tool %}
79
+ {{- raise_exception('No user query found in messages.') }}
80
+ {%- endif %}
81
+ {%- for message in messages %}
82
+ {%- set content = render_content(message.content, true)|trim %}
83
+ {%- if message.role == "system" %}
84
+ {%- if not loop.first %}
85
+ {{- raise_exception('System message must be at the beginning.') }}
86
+ {%- endif %}
87
+ {%- elif message.role == "user" %}
88
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
89
+ {%- elif message.role == "assistant" %}
90
+ {%- set reasoning_content = '' %}
91
+ {%- if message.reasoning_content is string %}
92
+ {%- set reasoning_content = message.reasoning_content %}
93
+ {%- else %}
94
+ {%- if '</think>' in content %}
95
+ {%- set reasoning_content = content.split('</think>')[0].rstrip('\n').split('<think>')[-1].lstrip('\n') %}
96
+ {%- set content = content.split('</think>')[-1].lstrip('\n') %}
97
+ {%- endif %}
98
+ {%- endif %}
99
+ {%- set reasoning_content = reasoning_content|trim %}
100
+ {{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content + '\n</think>\n\n' + content }}
101
+ {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
102
+ {%- for tool_call in message.tool_calls %}
103
+ {%- if tool_call.function is defined %}
104
+ {%- set tool_call = tool_call.function %}
105
+ {%- endif %}
106
+ {%- if loop.first %}
107
+ {%- if content|trim %}
108
+ {{- '\n\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
109
+ {%- else %}
110
+ {{- '<tool_call>\n<function=' + tool_call.name + '>\n' }}
111
+ {%- endif %}
112
+ {%- else %}
113
+ {{- '\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
114
+ {%- endif %}
115
+ {%- if tool_call.arguments is defined %}
116
+ {%- for args_name, args_value in tool_call.arguments|items %}
117
+ {{- '<parameter=' + args_name + '>\n' }}
118
+ {%- 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 %}
119
+ {{- args_value }}
120
+ {{- '\n</parameter>\n' }}
121
+ {%- endfor %}
122
+ {%- endif %}
123
+ {{- '</function>\n</tool_call>' }}
124
+ {%- endfor %}
125
+ {%- endif %}
126
+ {{- '<|im_end|>\n' }}
127
+ {%- elif message.role == "tool" %}
128
+ {%- if loop.previtem and loop.previtem.role != "tool" %}
129
+ {{- '<|im_start|>user' }}
130
+ {%- endif %}
131
+ {{- '\n<tool_response>\n' }}
132
+ {{- content }}
133
+ {{- '\n</tool_response>' }}
134
+ {%- if not loop.last and loop.nextitem.role != "tool" %}
135
+ {{- '<|im_end|>\n' }}
136
+ {%- elif loop.last %}
137
+ {{- '<|im_end|>\n' }}
138
+ {%- endif %}
139
+ {%- else %}
140
+ {{- raise_exception('Unexpected message role.') }}
141
+ {%- endif %}
142
+ {%- endfor %}
143
+ {%- if add_generation_prompt %}
144
+ {{- '<|im_start|>assistant\n' }}
145
+ {%- if enable_thinking is defined and enable_thinking is false %}
146
+ {{- '<think>\n\n</think>\n\n' }}
147
+ {%- else %}
148
+ {{- '<think>\n' }}
149
+ {%- endif %}
150
+ {%- endif %}
config.json ADDED
@@ -0,0 +1,112 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "Qwen3_5ForConditionalGeneration"
4
+ ],
5
+ "dtype": "bfloat16",
6
+ "eos_token_id": 248046,
7
+ "hidden_size": 4096,
8
+ "image_token_id": 248056,
9
+ "model_type": "qwen3_5",
10
+ "pad_token_id": 248044,
11
+ "text_config": {
12
+ "attention_bias": false,
13
+ "attention_dropout": 0.0,
14
+ "attn_output_gate": true,
15
+ "bos_token_id": null,
16
+ "dtype": "bfloat16",
17
+ "eos_token_id": 248044,
18
+ "full_attention_interval": 4,
19
+ "head_dim": 256,
20
+ "hidden_act": "silu",
21
+ "hidden_size": 4096,
22
+ "initializer_range": 0.02,
23
+ "intermediate_size": 12288,
24
+ "layer_types": [
25
+ "linear_attention",
26
+ "linear_attention",
27
+ "linear_attention",
28
+ "full_attention",
29
+ "linear_attention",
30
+ "linear_attention",
31
+ "linear_attention",
32
+ "full_attention",
33
+ "linear_attention",
34
+ "linear_attention",
35
+ "linear_attention",
36
+ "full_attention",
37
+ "linear_attention",
38
+ "linear_attention",
39
+ "linear_attention",
40
+ "full_attention",
41
+ "linear_attention",
42
+ "linear_attention",
43
+ "linear_attention",
44
+ "full_attention",
45
+ "linear_attention",
46
+ "linear_attention",
47
+ "linear_attention",
48
+ "full_attention",
49
+ "linear_attention",
50
+ "linear_attention",
51
+ "linear_attention",
52
+ "full_attention",
53
+ "linear_attention",
54
+ "linear_attention",
55
+ "linear_attention",
56
+ "full_attention"
57
+ ],
58
+ "linear_conv_kernel_dim": 4,
59
+ "linear_key_head_dim": 128,
60
+ "linear_num_key_heads": 16,
61
+ "linear_num_value_heads": 32,
62
+ "linear_value_head_dim": 128,
63
+ "mamba_ssm_dtype": "float32",
64
+ "max_position_embeddings": 262144,
65
+ "mlp_only_layers": [],
66
+ "model_type": "qwen3_5_text",
67
+ "mtp_num_hidden_layers": 1,
68
+ "mtp_use_dedicated_embeddings": false,
69
+ "num_attention_heads": 16,
70
+ "num_hidden_layers": 32,
71
+ "num_key_value_heads": 4,
72
+ "pad_token_id": 248044,
73
+ "partial_rotary_factor": 0.25,
74
+ "rms_norm_eps": 1e-06,
75
+ "rope_parameters": {
76
+ "mrope_interleaved": true,
77
+ "mrope_section": [
78
+ 11,
79
+ 11,
80
+ 10
81
+ ],
82
+ "partial_rotary_factor": 0.25,
83
+ "rope_theta": 10000000,
84
+ "rope_type": "default"
85
+ },
86
+ "tie_word_embeddings": false,
87
+ "use_cache": false,
88
+ "vocab_size": 248320
89
+ },
90
+ "tie_word_embeddings": false,
91
+ "transformers_version": "5.12.1",
92
+ "video_token_id": 248057,
93
+ "vision_config": {
94
+ "deepstack_visual_indexes": [],
95
+ "depth": 27,
96
+ "dtype": "bfloat16",
97
+ "hidden_act": "gelu_pytorch_tanh",
98
+ "hidden_size": 1152,
99
+ "in_channels": 3,
100
+ "initializer_range": 0.02,
101
+ "intermediate_size": 4304,
102
+ "model_type": "qwen3_5_vision",
103
+ "num_heads": 16,
104
+ "num_position_embeddings": 2304,
105
+ "out_hidden_size": 4096,
106
+ "patch_size": 16,
107
+ "spatial_merge_size": 2,
108
+ "temporal_patch_size": 2
109
+ },
110
+ "vision_end_token_id": 248054,
111
+ "vision_start_token_id": 248053
112
+ }
engine.json ADDED
@@ -0,0 +1,213 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "arch": "qwen3_5",
3
+ "T": 1024,
4
+ "sizes": [
5
+ 1,
6
+ 16
7
+ ],
8
+ "config": {
9
+ "attention_bias": false,
10
+ "attention_dropout": 0.0,
11
+ "attn_output_gate": true,
12
+ "bos_token_id": null,
13
+ "dtype": "bfloat16",
14
+ "eos_token_id": 248044,
15
+ "full_attention_interval": 4,
16
+ "head_dim": 256,
17
+ "hidden_act": "silu",
18
+ "hidden_size": 4096,
19
+ "initializer_range": 0.02,
20
+ "intermediate_size": 12288,
21
+ "layer_types": [
22
+ "linear_attention",
23
+ "linear_attention",
24
+ "linear_attention",
25
+ "full_attention",
26
+ "linear_attention",
27
+ "linear_attention",
28
+ "linear_attention",
29
+ "full_attention",
30
+ "linear_attention",
31
+ "linear_attention",
32
+ "linear_attention",
33
+ "full_attention",
34
+ "linear_attention",
35
+ "linear_attention",
36
+ "linear_attention",
37
+ "full_attention",
38
+ "linear_attention",
39
+ "linear_attention",
40
+ "linear_attention",
41
+ "full_attention",
42
+ "linear_attention",
43
+ "linear_attention",
44
+ "linear_attention",
45
+ "full_attention",
46
+ "linear_attention",
47
+ "linear_attention",
48
+ "linear_attention",
49
+ "full_attention",
50
+ "linear_attention",
51
+ "linear_attention",
52
+ "linear_attention",
53
+ "full_attention"
54
+ ],
55
+ "linear_conv_kernel_dim": 4,
56
+ "linear_key_head_dim": 128,
57
+ "linear_num_key_heads": 16,
58
+ "linear_num_value_heads": 32,
59
+ "linear_value_head_dim": 128,
60
+ "mamba_ssm_dtype": "float32",
61
+ "max_position_embeddings": 262144,
62
+ "mlp_only_layers": [],
63
+ "model_type": "qwen3_5_text",
64
+ "mtp_num_hidden_layers": 1,
65
+ "mtp_use_dedicated_embeddings": false,
66
+ "num_attention_heads": 16,
67
+ "num_hidden_layers": 32,
68
+ "num_key_value_heads": 4,
69
+ "pad_token_id": 248044,
70
+ "partial_rotary_factor": 0.25,
71
+ "rms_norm_eps": 1e-06,
72
+ "rope_parameters": {
73
+ "mrope_interleaved": true,
74
+ "mrope_section": [
75
+ 11,
76
+ 11,
77
+ 10
78
+ ],
79
+ "partial_rotary_factor": 0.25,
80
+ "rope_theta": 10000000,
81
+ "rope_type": "default"
82
+ },
83
+ "tie_word_embeddings": false,
84
+ "use_cache": false,
85
+ "vocab_size": 248320
86
+ },
87
+ "segments": {
88
+ "seg00_S1.xml": {
89
+ "index": 0,
90
+ "consume_moe": null,
91
+ "router_layer": null,
92
+ "S": 1,
93
+ "slots": 0,
94
+ "bin": "seg00.bin"
95
+ },
96
+ "seg01_S1.xml": {
97
+ "index": 1,
98
+ "consume_moe": null,
99
+ "router_layer": null,
100
+ "S": 1,
101
+ "slots": 0,
102
+ "bin": "seg01.bin"
103
+ },
104
+ "seg02_S1.xml": {
105
+ "index": 2,
106
+ "consume_moe": null,
107
+ "router_layer": null,
108
+ "S": 1,
109
+ "slots": 0,
110
+ "bin": "seg02.bin"
111
+ },
112
+ "seg03_S1.xml": {
113
+ "index": 3,
114
+ "consume_moe": null,
115
+ "router_layer": null,
116
+ "S": 1,
117
+ "slots": 0,
118
+ "bin": "seg03.bin"
119
+ },
120
+ "seg04_S1.xml": {
121
+ "index": 4,
122
+ "consume_moe": null,
123
+ "router_layer": null,
124
+ "S": 1,
125
+ "slots": 0,
126
+ "head": true,
127
+ "bin": "seg04.bin"
128
+ },
129
+ "seg00_S16.xml": {
130
+ "index": 0,
131
+ "consume_moe": null,
132
+ "router_layer": null,
133
+ "S": 16,
134
+ "slots": 0,
135
+ "bin": "seg00.bin"
136
+ },
137
+ "seg01_S16.xml": {
138
+ "index": 1,
139
+ "consume_moe": null,
140
+ "router_layer": null,
141
+ "S": 16,
142
+ "slots": 0,
143
+ "bin": "seg01.bin"
144
+ },
145
+ "seg02_S16.xml": {
146
+ "index": 2,
147
+ "consume_moe": null,
148
+ "router_layer": null,
149
+ "S": 16,
150
+ "slots": 0,
151
+ "bin": "seg02.bin"
152
+ },
153
+ "seg03_S16.xml": {
154
+ "index": 3,
155
+ "consume_moe": null,
156
+ "router_layer": null,
157
+ "S": 16,
158
+ "slots": 0,
159
+ "bin": "seg03.bin"
160
+ },
161
+ "seg04_S16.xml": {
162
+ "index": 4,
163
+ "consume_moe": null,
164
+ "router_layer": null,
165
+ "S": 16,
166
+ "slots": 0,
167
+ "head": true,
168
+ "bin": "seg04.bin"
169
+ }
170
+ },
171
+ "rope": {
172
+ "dim": 64,
173
+ "theta": 10000000,
174
+ "mrope_section": [
175
+ 11,
176
+ 11,
177
+ 10
178
+ ],
179
+ "mrope_interleaved": true
180
+ },
181
+ "vision": {
182
+ "type": "qwen",
183
+ "grid": [
184
+ 32,
185
+ 32
186
+ ],
187
+ "tokens": 256,
188
+ "merge": 2,
189
+ "patch": 16,
190
+ "temporal": 2,
191
+ "mean": [
192
+ 0.5,
193
+ 0.5,
194
+ 0.5
195
+ ],
196
+ "std": [
197
+ 0.5,
198
+ 0.5,
199
+ 0.5
200
+ ],
201
+ "image_token_id": 248056,
202
+ "image_px": [
203
+ 512,
204
+ 512
205
+ ]
206
+ },
207
+ "tables": {
208
+ "embed": {
209
+ "bits": 4,
210
+ "group": 32
211
+ }
212
+ }
213
+ }
merges.txt ADDED
The diff for this file is too large to render. See raw diff
 
npu_cache/17615181318813558163.blob ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:19c41bc29e7f3f06643fcaf63092a7343b1706a5466988b730a8b62d29988a60
3
+ size 579600511
npu_cache/onw_blobs/attn_R4_C1024_kv4_D256_Dv256-017f744c2fe1bf58.blob ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:febdf4f7d97d7e75178abe39f98cd4cde131a78a49d518005bd304433b81a691
3
+ size 483504
npu_cache/onw_blobs/attn_R64_C1024_kv4_D256_Dv256-5b01e3afd99bc526.blob ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c98ee7047aee95548cffb75276aa8a30b2ac90c42603ed4243debda7e65c984f
3
+ size 540848
npu_cache/onw_blobs/seg00_S1.p0-9d89f34f85064990.blob ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f0349de41d3656633e4410b9b5c4bd76d821b75cabbc83ee01d9690cb1a75de6
3
+ size 445632779
npu_cache/onw_blobs/seg00_S1.p1-d8490cd290b45896.blob ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1d12f52674679f882b046aa23cfde4bc4861619960ea1c8510c517f32d7b6b6e
3
+ size 551366923
npu_cache/onw_blobs/seg00_S1.p2-4a4fdf4c4da5ba5b.blob ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7a6e43939e7e22c20f3c6759e5234280ba3b7da3539eb9722ac592b3f7025e8a
3
+ size 105771149
npu_cache/onw_blobs/seg00_S16.p0-b5d33961bd9d703a.blob ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:276669d0ae6945dc694cc13ffb2276d05a42e9c10a2ee6a0015d3eba15c04113
3
+ size 452284697
npu_cache/onw_blobs/seg00_S16.p1-f42b40c55679b270.blob ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e3c0fe003b402cb51283aa68f5182f806d3d25158d1cdf43f0a976794fbab862
3
+ size 558395666
npu_cache/onw_blobs/seg00_S16.p2-ecea0693cca6f664.blob ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fde656c97d56dea493aa208ed3392abbdeca861930396bc071bd7f63d23a861e
3
+ size 106291341
npu_cache/onw_blobs/seg01_S1.p2-7520a2c30bc351d8.blob ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3802729a59a05d55cacfcb32bd8fdff8a15c830db9b82bbff7abd548118b9db3
3
+ size 105771149
npu_cache/onw_blobs/seg01_S16.p2-c4f349fa0be3cdec.blob ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:83913244d63bc5b12d91ecc5a3097c5195f10ed3f1242f56bcca264ed49203ec
3
+ size 106291341
npu_cache/onw_blobs/seg02_S16.p1-f29595734ffacae8.blob ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8ac017ab9f253f5d3d58d257579066f6ea017669066bed522667ad929d8bcc37
3
+ size 558395666
npu_cache/onw_blobs/seg03_S1.p0-1a21072fa37f6e0c.blob ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c2e304eab367404b5d7338d688c5eff206759599b8deb3aaf5a0dbacbcc19654
3
+ size 445632779
npu_cache/onw_blobs/seg03_S1.p1-8b9eec4ab326c3dc.blob ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:272dd03ac78adc56c0628e2f88ef3be3b7f50291fbaf06f63b3b4b7c87ff6938
3
+ size 551366923
npu_cache/onw_blobs/seg03_S16.p0-ed1f3643bce32b47.blob ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5fafbe35a8d23418a712326266254e3f59c229ae42bbe8fa78d4c316eff284ff
3
+ size 452284697
npu_cache/onw_blobs/seg03_S16.p1-e8f97a13bd0c3423.blob ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8fca344719e9dc7443a3ea4fdd400d78d28cccdd4c4586388e8394f996fb4796
3
+ size 558395666
npu_cache/onw_blobs/seg03_S16.p2-f8cd25573bcd95eb.blob ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b6a2526fa4b7fefedd5c99dfe66ca4915941151364a613943788e408ab56149d
3
+ size 106291341
npu_cache/onw_blobs/vision-f09f86c4ef367a56.blob ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0acaca8b6b7a74db0d4ddb571e374c4920690cda0e6f31591d39293836698e98
3
+ size 579596415
npu_cache/onw_compile.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "3720|1005540|2026.5.0-23160-6db412d0a27|npuw=False": {
3
+ "seg00_S1.p0.xml": "plain",
4
+ "seg00_S1.p1.xml": "plain",
5
+ "seg00_S1.p2.xml": "plain",
6
+ "seg00_S16.p0.xml": "plain",
7
+ "seg00_S16.p1.xml": "plain",
8
+ "seg00_S16.p2.xml": "plain",
9
+ "seg01_S1.p0.xml": "plain",
10
+ "seg01_S1.p1.xml": "plain",
11
+ "seg01_S1.p2.xml": "plain",
12
+ "seg01_S16.p0.xml": "plain",
13
+ "seg01_S16.p1.xml": "plain",
14
+ "seg01_S16.p2.xml": "plain",
15
+ "seg02_S1.p0.xml": "plain",
16
+ "seg02_S1.p1.xml": "plain",
17
+ "seg02_S1.p2.xml": "plain",
18
+ "seg02_S16.p0.xml": "plain",
19
+ "seg02_S16.p1.xml": "plain",
20
+ "seg02_S16.p2.xml": "plain",
21
+ "seg03_S1.p0.xml": "plain",
22
+ "seg03_S1.p1.xml": "plain",
23
+ "seg03_S1.p2.xml": "plain",
24
+ "seg03_S16.p0.xml": "plain",
25
+ "seg03_S16.p1.xml": "plain",
26
+ "seg03_S16.p2.xml": "plain",
27
+ "seg04_S1.xml": "plain",
28
+ "seg04_S16.xml": "plain"
29
+ }
30
+ }
preprocessor_config.json ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "size": {
3
+ "longest_edge": 16777216,
4
+ "shortest_edge": 65536
5
+ },
6
+ "patch_size": 16,
7
+ "temporal_patch_size": 2,
8
+ "merge_size": 2,
9
+ "image_mean": [
10
+ 0.5,
11
+ 0.5,
12
+ 0.5
13
+ ],
14
+ "image_std": [
15
+ 0.5,
16
+ 0.5,
17
+ 0.5
18
+ ],
19
+ "processor_class": "Qwen3VLProcessor",
20
+ "image_processor_type": "Qwen2VLImageProcessorFast"
21
+ }
processor_config.json ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "image_processor": {
3
+ "do_convert_rgb": true,
4
+ "do_normalize": true,
5
+ "do_rescale": true,
6
+ "do_resize": true,
7
+ "image_mean": [
8
+ 0.5,
9
+ 0.5,
10
+ 0.5
11
+ ],
12
+ "image_processor_type": "Qwen2VLImageProcessor",
13
+ "image_std": [
14
+ 0.5,
15
+ 0.5,
16
+ 0.5
17
+ ],
18
+ "merge_size": 2,
19
+ "patch_size": 16,
20
+ "resample": 3,
21
+ "rescale_factor": 0.00392156862745098,
22
+ "size": {
23
+ "longest_edge": 16777216,
24
+ "shortest_edge": 65536
25
+ },
26
+ "temporal_patch_size": 2
27
+ },
28
+ "processor_class": "Qwen3VLProcessor",
29
+ "video_processor": {
30
+ "do_convert_rgb": true,
31
+ "do_normalize": true,
32
+ "do_rescale": true,
33
+ "do_resize": true,
34
+ "do_sample_frames": true,
35
+ "fps": 2,
36
+ "image_mean": [
37
+ 0.5,
38
+ 0.5,
39
+ 0.5
40
+ ],
41
+ "image_std": [
42
+ 0.5,
43
+ 0.5,
44
+ 0.5
45
+ ],
46
+ "max_frames": 768,
47
+ "merge_size": 2,
48
+ "min_frames": 4,
49
+ "patch_size": 16,
50
+ "resample": 3,
51
+ "rescale_factor": 0.00392156862745098,
52
+ "return_metadata": false,
53
+ "size": {
54
+ "longest_edge": 25165824,
55
+ "shortest_edge": 4096
56
+ },
57
+ "temporal_patch_size": 2,
58
+ "video_processor_type": "Qwen3VLVideoProcessor"
59
+ }
60
+ }
seg00.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b0d22b824377c0945e588f6819e05c7cd937046eee518f08a4e278c6ffab8aea
3
+ size 895238848
seg00_S1.xml ADDED
The diff for this file is too large to render. See raw diff
 
seg00_S16.xml ADDED
The diff for this file is too large to render. See raw diff
 
seg01.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:340600ea2dd753da13d9cb06fe96cfebece700820eab376f2b2120753a76e02d
3
+ size 895238848
seg01_S1.xml ADDED
The diff for this file is too large to render. See raw diff
 
seg01_S16.xml ADDED
The diff for this file is too large to render. See raw diff
 
seg02.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:02b45631cae896c6cd4120c111dc57467471d2a6aea531a299863be529717b2d
3
+ size 895238848
seg02_S1.xml ADDED
The diff for this file is too large to render. See raw diff
 
seg02_S16.xml ADDED
The diff for this file is too large to render. See raw diff
 
seg03.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ed16ee68f95625eee686c5186c96a33cc5ec2fd552b972cff1323d6ff6a11b11
3
+ size 895238848
seg03_S1.xml ADDED
The diff for this file is too large to render. See raw diff
 
seg03_S16.xml ADDED
The diff for this file is too large to render. See raw diff
 
seg04.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:719a1be3e5ee3d92f43920452c4e10831be8fb1ed682a2a4f3d88f096e2569a3
3
+ size 8206
seg04_S1.xml ADDED
@@ -0,0 +1,381 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <net name="q35_head_S1" version="11">
3
+ <layers>
4
+ <layer id="0" name="carry.h" type="Parameter" version="opset1">
5
+ <data shape="1,1,4096" element_type="f16" />
6
+ <output>
7
+ <port id="0" precision="FP16" names="carry.h">
8
+ <dim>1</dim>
9
+ <dim>1</dim>
10
+ <dim>4096</dim>
11
+ </port>
12
+ </output>
13
+ </layer>
14
+ <layer id="1" name="shared.head_q" type="Parameter" version="opset1">
15
+ <data shape="248320,4096" element_type="i8" />
16
+ <output>
17
+ <port id="0" precision="I8" names="shared.head_q">
18
+ <dim>248320</dim>
19
+ <dim>4096</dim>
20
+ </port>
21
+ </output>
22
+ </layer>
23
+ <layer id="2" name="shared.head_s" type="Parameter" version="opset1">
24
+ <data shape="248320" element_type="f16" />
25
+ <output>
26
+ <port id="0" precision="FP16" names="shared.head_s">
27
+ <dim>248320</dim>
28
+ </port>
29
+ </output>
30
+ </layer>
31
+ <layer id="3" name="Convert_28597" type="Convert" version="opset1">
32
+ <data destination_type="f32" />
33
+ <input>
34
+ <port id="0" precision="FP16">
35
+ <dim>1</dim>
36
+ <dim>1</dim>
37
+ <dim>4096</dim>
38
+ </port>
39
+ </input>
40
+ <output>
41
+ <port id="1" precision="FP32">
42
+ <dim>1</dim>
43
+ <dim>1</dim>
44
+ <dim>4096</dim>
45
+ </port>
46
+ </output>
47
+ </layer>
48
+ <layer id="4" name="Constant_28578_compressed" type="Const" version="opset1">
49
+ <data element_type="f16" shape="" offset="0" size="2" />
50
+ <output>
51
+ <port id="0" precision="FP16" />
52
+ </output>
53
+ </layer>
54
+ <layer id="5" name="Constant_28578" type="Convert" version="opset1">
55
+ <data destination_type="f32" />
56
+ <rt_info>
57
+ <attribute name="decompression" version="0" />
58
+ </rt_info>
59
+ <input>
60
+ <port id="0" precision="FP16" />
61
+ </input>
62
+ <output>
63
+ <port id="1" precision="FP32" />
64
+ </output>
65
+ </layer>
66
+ <layer id="6" name="Multiply_28573" type="Multiply" version="opset1">
67
+ <data auto_broadcast="numpy" />
68
+ <input>
69
+ <port id="0" precision="FP32">
70
+ <dim>1</dim>
71
+ <dim>1</dim>
72
+ <dim>4096</dim>
73
+ </port>
74
+ <port id="1" precision="FP32">
75
+ <dim>1</dim>
76
+ <dim>1</dim>
77
+ <dim>4096</dim>
78
+ </port>
79
+ </input>
80
+ <output>
81
+ <port id="2" precision="FP32">
82
+ <dim>1</dim>
83
+ <dim>1</dim>
84
+ <dim>4096</dim>
85
+ </port>
86
+ </output>
87
+ </layer>
88
+ <layer id="7" name="Constant_28575" type="Const" version="opset1">
89
+ <data element_type="i64" shape="1" offset="2" size="8" />
90
+ <output>
91
+ <port id="0" precision="I64">
92
+ <dim>1</dim>
93
+ </port>
94
+ </output>
95
+ </layer>
96
+ <layer id="8" name="ReduceMean_28576" type="ReduceMean" version="opset1">
97
+ <data keep_dims="true" />
98
+ <input>
99
+ <port id="0" precision="FP32">
100
+ <dim>1</dim>
101
+ <dim>1</dim>
102
+ <dim>4096</dim>
103
+ </port>
104
+ <port id="1" precision="I64">
105
+ <dim>1</dim>
106
+ </port>
107
+ </input>
108
+ <output>
109
+ <port id="2" precision="FP32">
110
+ <dim>1</dim>
111
+ <dim>1</dim>
112
+ <dim>1</dim>
113
+ </port>
114
+ </output>
115
+ </layer>
116
+ <layer id="9" name="Constant_28580" type="Const" version="opset1">
117
+ <data element_type="f32" shape="" offset="10" size="4" />
118
+ <output>
119
+ <port id="0" precision="FP32" />
120
+ </output>
121
+ </layer>
122
+ <layer id="10" name="Add_28581" type="Add" version="opset1">
123
+ <data auto_broadcast="numpy" />
124
+ <input>
125
+ <port id="0" precision="FP32">
126
+ <dim>1</dim>
127
+ <dim>1</dim>
128
+ <dim>1</dim>
129
+ </port>
130
+ <port id="1" precision="FP32" />
131
+ </input>
132
+ <output>
133
+ <port id="2" precision="FP32">
134
+ <dim>1</dim>
135
+ <dim>1</dim>
136
+ <dim>1</dim>
137
+ </port>
138
+ </output>
139
+ </layer>
140
+ <layer id="11" name="Divide_28582" type="Divide" version="opset1">
141
+ <data auto_broadcast="numpy" m_pythondiv="true" />
142
+ <input>
143
+ <port id="0" precision="FP32" />
144
+ <port id="1" precision="FP32">
145
+ <dim>1</dim>
146
+ <dim>1</dim>
147
+ <dim>1</dim>
148
+ </port>
149
+ </input>
150
+ <output>
151
+ <port id="2" precision="FP32">
152
+ <dim>1</dim>
153
+ <dim>1</dim>
154
+ <dim>1</dim>
155
+ </port>
156
+ </output>
157
+ </layer>
158
+ <layer id="12" name="Sqrt_28583" type="Sqrt" version="opset1">
159
+ <input>
160
+ <port id="0" precision="FP32">
161
+ <dim>1</dim>
162
+ <dim>1</dim>
163
+ <dim>1</dim>
164
+ </port>
165
+ </input>
166
+ <output>
167
+ <port id="1" precision="FP32">
168
+ <dim>1</dim>
169
+ <dim>1</dim>
170
+ <dim>1</dim>
171
+ </port>
172
+ </output>
173
+ </layer>
174
+ <layer id="13" name="Multiply_28584" type="Multiply" version="opset1">
175
+ <data auto_broadcast="numpy" />
176
+ <input>
177
+ <port id="0" precision="FP32">
178
+ <dim>1</dim>
179
+ <dim>1</dim>
180
+ <dim>4096</dim>
181
+ </port>
182
+ <port id="1" precision="FP32">
183
+ <dim>1</dim>
184
+ <dim>1</dim>
185
+ <dim>1</dim>
186
+ </port>
187
+ </input>
188
+ <output>
189
+ <port id="2" precision="FP32">
190
+ <dim>1</dim>
191
+ <dim>1</dim>
192
+ <dim>4096</dim>
193
+ </port>
194
+ </output>
195
+ </layer>
196
+ <layer id="14" name="Constant_28586_compressed" type="Const" version="opset1">
197
+ <data element_type="f16" shape="4096" offset="14" size="8192" />
198
+ <output>
199
+ <port id="0" precision="FP16">
200
+ <dim>4096</dim>
201
+ </port>
202
+ </output>
203
+ </layer>
204
+ <layer id="15" name="Constant_28586" type="Convert" version="opset1">
205
+ <data destination_type="f32" />
206
+ <rt_info>
207
+ <attribute name="decompression" version="0" />
208
+ </rt_info>
209
+ <input>
210
+ <port id="0" precision="FP16">
211
+ <dim>4096</dim>
212
+ </port>
213
+ </input>
214
+ <output>
215
+ <port id="1" precision="FP32">
216
+ <dim>4096</dim>
217
+ </port>
218
+ </output>
219
+ </layer>
220
+ <layer id="16" name="Multiply_28587" type="Multiply" version="opset1">
221
+ <data auto_broadcast="numpy" />
222
+ <input>
223
+ <port id="0" precision="FP32">
224
+ <dim>1</dim>
225
+ <dim>1</dim>
226
+ <dim>4096</dim>
227
+ </port>
228
+ <port id="1" precision="FP32">
229
+ <dim>4096</dim>
230
+ </port>
231
+ </input>
232
+ <output>
233
+ <port id="2" precision="FP32">
234
+ <dim>1</dim>
235
+ <dim>1</dim>
236
+ <dim>4096</dim>
237
+ </port>
238
+ </output>
239
+ </layer>
240
+ <layer id="17" name="Convert_28590" type="Convert" version="opset1">
241
+ <data destination_type="f16" />
242
+ <input>
243
+ <port id="0" precision="I8">
244
+ <dim>248320</dim>
245
+ <dim>4096</dim>
246
+ </port>
247
+ </input>
248
+ <output>
249
+ <port id="1" precision="FP16">
250
+ <dim>248320</dim>
251
+ <dim>4096</dim>
252
+ </port>
253
+ </output>
254
+ </layer>
255
+ <layer id="18" name="Convert_28591" type="Convert" version="opset1">
256
+ <data destination_type="f32" />
257
+ <input>
258
+ <port id="0" precision="FP16">
259
+ <dim>248320</dim>
260
+ <dim>4096</dim>
261
+ </port>
262
+ </input>
263
+ <output>
264
+ <port id="1" precision="FP32">
265
+ <dim>248320</dim>
266
+ <dim>4096</dim>
267
+ </port>
268
+ </output>
269
+ </layer>
270
+ <layer id="19" name="MatMul_28592" type="MatMul" version="opset1">
271
+ <data transpose_a="false" transpose_b="true" />
272
+ <input>
273
+ <port id="0" precision="FP32">
274
+ <dim>1</dim>
275
+ <dim>1</dim>
276
+ <dim>4096</dim>
277
+ </port>
278
+ <port id="1" precision="FP32">
279
+ <dim>248320</dim>
280
+ <dim>4096</dim>
281
+ </port>
282
+ </input>
283
+ <output>
284
+ <port id="2" precision="FP32">
285
+ <dim>1</dim>
286
+ <dim>1</dim>
287
+ <dim>248320</dim>
288
+ </port>
289
+ </output>
290
+ </layer>
291
+ <layer id="20" name="Convert_28593" type="Convert" version="opset1">
292
+ <data destination_type="f32" />
293
+ <input>
294
+ <port id="0" precision="FP16">
295
+ <dim>248320</dim>
296
+ </port>
297
+ </input>
298
+ <output>
299
+ <port id="1" precision="FP32">
300
+ <dim>248320</dim>
301
+ </port>
302
+ </output>
303
+ </layer>
304
+ <layer id="21" name="Multiply_28594" type="Multiply" version="opset1">
305
+ <data auto_broadcast="numpy" />
306
+ <input>
307
+ <port id="0" precision="FP32">
308
+ <dim>1</dim>
309
+ <dim>1</dim>
310
+ <dim>248320</dim>
311
+ </port>
312
+ <port id="1" precision="FP32">
313
+ <dim>248320</dim>
314
+ </port>
315
+ </input>
316
+ <output>
317
+ <port id="2" precision="FP32">
318
+ <dim>1</dim>
319
+ <dim>1</dim>
320
+ <dim>248320</dim>
321
+ </port>
322
+ </output>
323
+ </layer>
324
+ <layer id="22" name="Multiply_28594.0" type="Convert" version="opset1">
325
+ <data destination_type="f16" />
326
+ <input>
327
+ <port id="0" precision="FP32">
328
+ <dim>1</dim>
329
+ <dim>1</dim>
330
+ <dim>248320</dim>
331
+ </port>
332
+ </input>
333
+ <output>
334
+ <port id="1" precision="FP16" names="logits">
335
+ <dim>1</dim>
336
+ <dim>1</dim>
337
+ <dim>248320</dim>
338
+ </port>
339
+ </output>
340
+ </layer>
341
+ <layer id="23" name="Result_28595" type="Result" version="opset1" output_names="logits">
342
+ <input>
343
+ <port id="0" precision="FP16">
344
+ <dim>1</dim>
345
+ <dim>1</dim>
346
+ <dim>248320</dim>
347
+ </port>
348
+ </input>
349
+ </layer>
350
+ </layers>
351
+ <edges>
352
+ <edge from-layer="0" from-port="0" to-layer="3" to-port="0" />
353
+ <edge from-layer="1" from-port="0" to-layer="17" to-port="0" />
354
+ <edge from-layer="2" from-port="0" to-layer="20" to-port="0" />
355
+ <edge from-layer="3" from-port="1" to-layer="6" to-port="0" />
356
+ <edge from-layer="3" from-port="1" to-layer="6" to-port="1" />
357
+ <edge from-layer="3" from-port="1" to-layer="13" to-port="0" />
358
+ <edge from-layer="4" from-port="0" to-layer="5" to-port="0" />
359
+ <edge from-layer="5" from-port="1" to-layer="11" to-port="0" />
360
+ <edge from-layer="6" from-port="2" to-layer="8" to-port="0" />
361
+ <edge from-layer="7" from-port="0" to-layer="8" to-port="1" />
362
+ <edge from-layer="8" from-port="2" to-layer="10" to-port="0" />
363
+ <edge from-layer="9" from-port="0" to-layer="10" to-port="1" />
364
+ <edge from-layer="10" from-port="2" to-layer="11" to-port="1" />
365
+ <edge from-layer="11" from-port="2" to-layer="12" to-port="0" />
366
+ <edge from-layer="12" from-port="1" to-layer="13" to-port="1" />
367
+ <edge from-layer="13" from-port="2" to-layer="16" to-port="0" />
368
+ <edge from-layer="14" from-port="0" to-layer="15" to-port="0" />
369
+ <edge from-layer="15" from-port="1" to-layer="16" to-port="1" />
370
+ <edge from-layer="16" from-port="2" to-layer="19" to-port="0" />
371
+ <edge from-layer="17" from-port="1" to-layer="18" to-port="0" />
372
+ <edge from-layer="18" from-port="1" to-layer="19" to-port="1" />
373
+ <edge from-layer="19" from-port="2" to-layer="21" to-port="0" />
374
+ <edge from-layer="20" from-port="1" to-layer="21" to-port="1" />
375
+ <edge from-layer="21" from-port="2" to-layer="22" to-port="0" />
376
+ <edge from-layer="22" from-port="1" to-layer="23" to-port="0" />
377
+ </edges>
378
+ <rt_info>
379
+ <info name="OpenVINO Runtime" value="2026.5.0-23160-6db412d0a27" />
380
+ </rt_info>
381
+ </net>
seg04_S16.xml ADDED
@@ -0,0 +1,381 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <net name="q35_head_S16" version="11">
3
+ <layers>
4
+ <layer id="0" name="carry.h" type="Parameter" version="opset1">
5
+ <data shape="1,16,4096" element_type="f16" />
6
+ <output>
7
+ <port id="0" precision="FP16" names="carry.h">
8
+ <dim>1</dim>
9
+ <dim>16</dim>
10
+ <dim>4096</dim>
11
+ </port>
12
+ </output>
13
+ </layer>
14
+ <layer id="1" name="shared.head_q" type="Parameter" version="opset1">
15
+ <data shape="248320,4096" element_type="i8" />
16
+ <output>
17
+ <port id="0" precision="I8" names="shared.head_q">
18
+ <dim>248320</dim>
19
+ <dim>4096</dim>
20
+ </port>
21
+ </output>
22
+ </layer>
23
+ <layer id="2" name="shared.head_s" type="Parameter" version="opset1">
24
+ <data shape="248320" element_type="f16" />
25
+ <output>
26
+ <port id="0" precision="FP16" names="shared.head_s">
27
+ <dim>248320</dim>
28
+ </port>
29
+ </output>
30
+ </layer>
31
+ <layer id="3" name="Convert_69844" type="Convert" version="opset1">
32
+ <data destination_type="f32" />
33
+ <input>
34
+ <port id="0" precision="FP16">
35
+ <dim>1</dim>
36
+ <dim>16</dim>
37
+ <dim>4096</dim>
38
+ </port>
39
+ </input>
40
+ <output>
41
+ <port id="1" precision="FP32">
42
+ <dim>1</dim>
43
+ <dim>16</dim>
44
+ <dim>4096</dim>
45
+ </port>
46
+ </output>
47
+ </layer>
48
+ <layer id="4" name="Constant_69825_compressed" type="Const" version="opset1">
49
+ <data element_type="f16" shape="" offset="0" size="2" />
50
+ <output>
51
+ <port id="0" precision="FP16" />
52
+ </output>
53
+ </layer>
54
+ <layer id="5" name="Constant_69825" type="Convert" version="opset1">
55
+ <data destination_type="f32" />
56
+ <rt_info>
57
+ <attribute name="decompression" version="0" />
58
+ </rt_info>
59
+ <input>
60
+ <port id="0" precision="FP16" />
61
+ </input>
62
+ <output>
63
+ <port id="1" precision="FP32" />
64
+ </output>
65
+ </layer>
66
+ <layer id="6" name="Multiply_69820" type="Multiply" version="opset1">
67
+ <data auto_broadcast="numpy" />
68
+ <input>
69
+ <port id="0" precision="FP32">
70
+ <dim>1</dim>
71
+ <dim>16</dim>
72
+ <dim>4096</dim>
73
+ </port>
74
+ <port id="1" precision="FP32">
75
+ <dim>1</dim>
76
+ <dim>16</dim>
77
+ <dim>4096</dim>
78
+ </port>
79
+ </input>
80
+ <output>
81
+ <port id="2" precision="FP32">
82
+ <dim>1</dim>
83
+ <dim>16</dim>
84
+ <dim>4096</dim>
85
+ </port>
86
+ </output>
87
+ </layer>
88
+ <layer id="7" name="Constant_69822" type="Const" version="opset1">
89
+ <data element_type="i64" shape="1" offset="2" size="8" />
90
+ <output>
91
+ <port id="0" precision="I64">
92
+ <dim>1</dim>
93
+ </port>
94
+ </output>
95
+ </layer>
96
+ <layer id="8" name="ReduceMean_69823" type="ReduceMean" version="opset1">
97
+ <data keep_dims="true" />
98
+ <input>
99
+ <port id="0" precision="FP32">
100
+ <dim>1</dim>
101
+ <dim>16</dim>
102
+ <dim>4096</dim>
103
+ </port>
104
+ <port id="1" precision="I64">
105
+ <dim>1</dim>
106
+ </port>
107
+ </input>
108
+ <output>
109
+ <port id="2" precision="FP32">
110
+ <dim>1</dim>
111
+ <dim>16</dim>
112
+ <dim>1</dim>
113
+ </port>
114
+ </output>
115
+ </layer>
116
+ <layer id="9" name="Constant_69827" type="Const" version="opset1">
117
+ <data element_type="f32" shape="" offset="10" size="4" />
118
+ <output>
119
+ <port id="0" precision="FP32" />
120
+ </output>
121
+ </layer>
122
+ <layer id="10" name="Add_69828" type="Add" version="opset1">
123
+ <data auto_broadcast="numpy" />
124
+ <input>
125
+ <port id="0" precision="FP32">
126
+ <dim>1</dim>
127
+ <dim>16</dim>
128
+ <dim>1</dim>
129
+ </port>
130
+ <port id="1" precision="FP32" />
131
+ </input>
132
+ <output>
133
+ <port id="2" precision="FP32">
134
+ <dim>1</dim>
135
+ <dim>16</dim>
136
+ <dim>1</dim>
137
+ </port>
138
+ </output>
139
+ </layer>
140
+ <layer id="11" name="Divide_69829" type="Divide" version="opset1">
141
+ <data auto_broadcast="numpy" m_pythondiv="true" />
142
+ <input>
143
+ <port id="0" precision="FP32" />
144
+ <port id="1" precision="FP32">
145
+ <dim>1</dim>
146
+ <dim>16</dim>
147
+ <dim>1</dim>
148
+ </port>
149
+ </input>
150
+ <output>
151
+ <port id="2" precision="FP32">
152
+ <dim>1</dim>
153
+ <dim>16</dim>
154
+ <dim>1</dim>
155
+ </port>
156
+ </output>
157
+ </layer>
158
+ <layer id="12" name="Sqrt_69830" type="Sqrt" version="opset1">
159
+ <input>
160
+ <port id="0" precision="FP32">
161
+ <dim>1</dim>
162
+ <dim>16</dim>
163
+ <dim>1</dim>
164
+ </port>
165
+ </input>
166
+ <output>
167
+ <port id="1" precision="FP32">
168
+ <dim>1</dim>
169
+ <dim>16</dim>
170
+ <dim>1</dim>
171
+ </port>
172
+ </output>
173
+ </layer>
174
+ <layer id="13" name="Multiply_69831" type="Multiply" version="opset1">
175
+ <data auto_broadcast="numpy" />
176
+ <input>
177
+ <port id="0" precision="FP32">
178
+ <dim>1</dim>
179
+ <dim>16</dim>
180
+ <dim>4096</dim>
181
+ </port>
182
+ <port id="1" precision="FP32">
183
+ <dim>1</dim>
184
+ <dim>16</dim>
185
+ <dim>1</dim>
186
+ </port>
187
+ </input>
188
+ <output>
189
+ <port id="2" precision="FP32">
190
+ <dim>1</dim>
191
+ <dim>16</dim>
192
+ <dim>4096</dim>
193
+ </port>
194
+ </output>
195
+ </layer>
196
+ <layer id="14" name="Constant_69833_compressed" type="Const" version="opset1">
197
+ <data element_type="f16" shape="4096" offset="14" size="8192" />
198
+ <output>
199
+ <port id="0" precision="FP16">
200
+ <dim>4096</dim>
201
+ </port>
202
+ </output>
203
+ </layer>
204
+ <layer id="15" name="Constant_69833" type="Convert" version="opset1">
205
+ <data destination_type="f32" />
206
+ <rt_info>
207
+ <attribute name="decompression" version="0" />
208
+ </rt_info>
209
+ <input>
210
+ <port id="0" precision="FP16">
211
+ <dim>4096</dim>
212
+ </port>
213
+ </input>
214
+ <output>
215
+ <port id="1" precision="FP32">
216
+ <dim>4096</dim>
217
+ </port>
218
+ </output>
219
+ </layer>
220
+ <layer id="16" name="Multiply_69834" type="Multiply" version="opset1">
221
+ <data auto_broadcast="numpy" />
222
+ <input>
223
+ <port id="0" precision="FP32">
224
+ <dim>1</dim>
225
+ <dim>16</dim>
226
+ <dim>4096</dim>
227
+ </port>
228
+ <port id="1" precision="FP32">
229
+ <dim>4096</dim>
230
+ </port>
231
+ </input>
232
+ <output>
233
+ <port id="2" precision="FP32">
234
+ <dim>1</dim>
235
+ <dim>16</dim>
236
+ <dim>4096</dim>
237
+ </port>
238
+ </output>
239
+ </layer>
240
+ <layer id="17" name="Convert_69837" type="Convert" version="opset1">
241
+ <data destination_type="f16" />
242
+ <input>
243
+ <port id="0" precision="I8">
244
+ <dim>248320</dim>
245
+ <dim>4096</dim>
246
+ </port>
247
+ </input>
248
+ <output>
249
+ <port id="1" precision="FP16">
250
+ <dim>248320</dim>
251
+ <dim>4096</dim>
252
+ </port>
253
+ </output>
254
+ </layer>
255
+ <layer id="18" name="Convert_69838" type="Convert" version="opset1">
256
+ <data destination_type="f32" />
257
+ <input>
258
+ <port id="0" precision="FP16">
259
+ <dim>248320</dim>
260
+ <dim>4096</dim>
261
+ </port>
262
+ </input>
263
+ <output>
264
+ <port id="1" precision="FP32">
265
+ <dim>248320</dim>
266
+ <dim>4096</dim>
267
+ </port>
268
+ </output>
269
+ </layer>
270
+ <layer id="19" name="MatMul_69839" type="MatMul" version="opset1">
271
+ <data transpose_a="false" transpose_b="true" />
272
+ <input>
273
+ <port id="0" precision="FP32">
274
+ <dim>1</dim>
275
+ <dim>16</dim>
276
+ <dim>4096</dim>
277
+ </port>
278
+ <port id="1" precision="FP32">
279
+ <dim>248320</dim>
280
+ <dim>4096</dim>
281
+ </port>
282
+ </input>
283
+ <output>
284
+ <port id="2" precision="FP32">
285
+ <dim>1</dim>
286
+ <dim>16</dim>
287
+ <dim>248320</dim>
288
+ </port>
289
+ </output>
290
+ </layer>
291
+ <layer id="20" name="Convert_69840" type="Convert" version="opset1">
292
+ <data destination_type="f32" />
293
+ <input>
294
+ <port id="0" precision="FP16">
295
+ <dim>248320</dim>
296
+ </port>
297
+ </input>
298
+ <output>
299
+ <port id="1" precision="FP32">
300
+ <dim>248320</dim>
301
+ </port>
302
+ </output>
303
+ </layer>
304
+ <layer id="21" name="Multiply_69841" type="Multiply" version="opset1">
305
+ <data auto_broadcast="numpy" />
306
+ <input>
307
+ <port id="0" precision="FP32">
308
+ <dim>1</dim>
309
+ <dim>16</dim>
310
+ <dim>248320</dim>
311
+ </port>
312
+ <port id="1" precision="FP32">
313
+ <dim>248320</dim>
314
+ </port>
315
+ </input>
316
+ <output>
317
+ <port id="2" precision="FP32">
318
+ <dim>1</dim>
319
+ <dim>16</dim>
320
+ <dim>248320</dim>
321
+ </port>
322
+ </output>
323
+ </layer>
324
+ <layer id="22" name="Multiply_69841.0" type="Convert" version="opset1">
325
+ <data destination_type="f16" />
326
+ <input>
327
+ <port id="0" precision="FP32">
328
+ <dim>1</dim>
329
+ <dim>16</dim>
330
+ <dim>248320</dim>
331
+ </port>
332
+ </input>
333
+ <output>
334
+ <port id="1" precision="FP16" names="logits">
335
+ <dim>1</dim>
336
+ <dim>16</dim>
337
+ <dim>248320</dim>
338
+ </port>
339
+ </output>
340
+ </layer>
341
+ <layer id="23" name="Result_69842" type="Result" version="opset1" output_names="logits">
342
+ <input>
343
+ <port id="0" precision="FP16">
344
+ <dim>1</dim>
345
+ <dim>16</dim>
346
+ <dim>248320</dim>
347
+ </port>
348
+ </input>
349
+ </layer>
350
+ </layers>
351
+ <edges>
352
+ <edge from-layer="0" from-port="0" to-layer="3" to-port="0" />
353
+ <edge from-layer="1" from-port="0" to-layer="17" to-port="0" />
354
+ <edge from-layer="2" from-port="0" to-layer="20" to-port="0" />
355
+ <edge from-layer="3" from-port="1" to-layer="6" to-port="0" />
356
+ <edge from-layer="3" from-port="1" to-layer="6" to-port="1" />
357
+ <edge from-layer="3" from-port="1" to-layer="13" to-port="0" />
358
+ <edge from-layer="4" from-port="0" to-layer="5" to-port="0" />
359
+ <edge from-layer="5" from-port="1" to-layer="11" to-port="0" />
360
+ <edge from-layer="6" from-port="2" to-layer="8" to-port="0" />
361
+ <edge from-layer="7" from-port="0" to-layer="8" to-port="1" />
362
+ <edge from-layer="8" from-port="2" to-layer="10" to-port="0" />
363
+ <edge from-layer="9" from-port="0" to-layer="10" to-port="1" />
364
+ <edge from-layer="10" from-port="2" to-layer="11" to-port="1" />
365
+ <edge from-layer="11" from-port="2" to-layer="12" to-port="0" />
366
+ <edge from-layer="12" from-port="1" to-layer="13" to-port="1" />
367
+ <edge from-layer="13" from-port="2" to-layer="16" to-port="0" />
368
+ <edge from-layer="14" from-port="0" to-layer="15" to-port="0" />
369
+ <edge from-layer="15" from-port="1" to-layer="16" to-port="1" />
370
+ <edge from-layer="16" from-port="2" to-layer="19" to-port="0" />
371
+ <edge from-layer="17" from-port="1" to-layer="18" to-port="0" />
372
+ <edge from-layer="18" from-port="1" to-layer="19" to-port="1" />
373
+ <edge from-layer="19" from-port="2" to-layer="21" to-port="0" />
374
+ <edge from-layer="20" from-port="1" to-layer="21" to-port="1" />
375
+ <edge from-layer="21" from-port="2" to-layer="22" to-port="0" />
376
+ <edge from-layer="22" from-port="1" to-layer="23" to-port="0" />
377
+ </edges>
378
+ <rt_info>
379
+ <info name="OpenVINO Runtime" value="2026.5.0-23160-6db412d0a27" />
380
+ </rt_info>
381
+ </net>
shared.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:54b4c56650f0ed286cad5cd5b6d3faab79ec7dd58768d5196a212ecd7e6f049f
3
+ size 1589744640
shared.bin.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"tensors": {"embed_q4": {"at": [0, 508559360], "type": "u8", "shape": [248320, 2048]}, "embed_s4": {"at": [508559360, 63569920], "type": "f16", "shape": [248320, 128]}, "head_q": {"at": [572129280, 1017118720], "type": "i8", "shape": [248320, 4096]}, "head_s": {"at": [1589248000, 496640], "type": "f16", "shape": [248320]}}}
tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5f9e4d4901a92b997e463c1f46055088b6cca5ca61a6522d1b9f64c4bb81cb42
3
+ size 12807982
tokenizer_config.json ADDED
@@ -0,0 +1,305 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_prefix_space": false,
3
+ "added_tokens_decoder": {
4
+ "248044": {
5
+ "content": "<|endoftext|>",
6
+ "lstrip": false,
7
+ "normalized": false,
8
+ "rstrip": false,
9
+ "single_word": false,
10
+ "special": true
11
+ },
12
+ "248045": {
13
+ "content": "<|im_start|>",
14
+ "lstrip": false,
15
+ "normalized": false,
16
+ "rstrip": false,
17
+ "single_word": false,
18
+ "special": true
19
+ },
20
+ "248046": {
21
+ "content": "<|im_end|>",
22
+ "lstrip": false,
23
+ "normalized": false,
24
+ "rstrip": false,
25
+ "single_word": false,
26
+ "special": true
27
+ },
28
+ "248047": {
29
+ "content": "<|object_ref_start|>",
30
+ "lstrip": false,
31
+ "normalized": false,
32
+ "rstrip": false,
33
+ "single_word": false,
34
+ "special": true
35
+ },
36
+ "248048": {
37
+ "content": "<|object_ref_end|>",
38
+ "lstrip": false,
39
+ "normalized": false,
40
+ "rstrip": false,
41
+ "single_word": false,
42
+ "special": true
43
+ },
44
+ "248049": {
45
+ "content": "<|box_start|>",
46
+ "lstrip": false,
47
+ "normalized": false,
48
+ "rstrip": false,
49
+ "single_word": false,
50
+ "special": true
51
+ },
52
+ "248050": {
53
+ "content": "<|box_end|>",
54
+ "lstrip": false,
55
+ "normalized": false,
56
+ "rstrip": false,
57
+ "single_word": false,
58
+ "special": true
59
+ },
60
+ "248051": {
61
+ "content": "<|quad_start|>",
62
+ "lstrip": false,
63
+ "normalized": false,
64
+ "rstrip": false,
65
+ "single_word": false,
66
+ "special": true
67
+ },
68
+ "248052": {
69
+ "content": "<|quad_end|>",
70
+ "lstrip": false,
71
+ "normalized": false,
72
+ "rstrip": false,
73
+ "single_word": false,
74
+ "special": true
75
+ },
76
+ "248053": {
77
+ "content": "<|vision_start|>",
78
+ "lstrip": false,
79
+ "normalized": false,
80
+ "rstrip": false,
81
+ "single_word": false,
82
+ "special": true
83
+ },
84
+ "248054": {
85
+ "content": "<|vision_end|>",
86
+ "lstrip": false,
87
+ "normalized": false,
88
+ "rstrip": false,
89
+ "single_word": false,
90
+ "special": true
91
+ },
92
+ "248055": {
93
+ "content": "<|vision_pad|>",
94
+ "lstrip": false,
95
+ "normalized": false,
96
+ "rstrip": false,
97
+ "single_word": false,
98
+ "special": true
99
+ },
100
+ "248056": {
101
+ "content": "<|image_pad|>",
102
+ "lstrip": false,
103
+ "normalized": false,
104
+ "rstrip": false,
105
+ "single_word": false,
106
+ "special": true
107
+ },
108
+ "248057": {
109
+ "content": "<|video_pad|>",
110
+ "lstrip": false,
111
+ "normalized": false,
112
+ "rstrip": false,
113
+ "single_word": false,
114
+ "special": true
115
+ },
116
+ "248058": {
117
+ "content": "<tool_call>",
118
+ "lstrip": false,
119
+ "normalized": false,
120
+ "rstrip": false,
121
+ "single_word": false,
122
+ "special": false
123
+ },
124
+ "248059": {
125
+ "content": "</tool_call>",
126
+ "lstrip": false,
127
+ "normalized": false,
128
+ "rstrip": false,
129
+ "single_word": false,
130
+ "special": false
131
+ },
132
+ "248060": {
133
+ "content": "<|fim_prefix|>",
134
+ "lstrip": false,
135
+ "normalized": false,
136
+ "rstrip": false,
137
+ "single_word": false,
138
+ "special": false
139
+ },
140
+ "248061": {
141
+ "content": "<|fim_middle|>",
142
+ "lstrip": false,
143
+ "normalized": false,
144
+ "rstrip": false,
145
+ "single_word": false,
146
+ "special": false
147
+ },
148
+ "248062": {
149
+ "content": "<|fim_suffix|>",
150
+ "lstrip": false,
151
+ "normalized": false,
152
+ "rstrip": false,
153
+ "single_word": false,
154
+ "special": false
155
+ },
156
+ "248063": {
157
+ "content": "<|fim_pad|>",
158
+ "lstrip": false,
159
+ "normalized": false,
160
+ "rstrip": false,
161
+ "single_word": false,
162
+ "special": false
163
+ },
164
+ "248064": {
165
+ "content": "<|repo_name|>",
166
+ "lstrip": false,
167
+ "normalized": false,
168
+ "rstrip": false,
169
+ "single_word": false,
170
+ "special": false
171
+ },
172
+ "248065": {
173
+ "content": "<|file_sep|>",
174
+ "lstrip": false,
175
+ "normalized": false,
176
+ "rstrip": false,
177
+ "single_word": false,
178
+ "special": false
179
+ },
180
+ "248066": {
181
+ "content": "<tool_response>",
182
+ "lstrip": false,
183
+ "normalized": false,
184
+ "rstrip": false,
185
+ "single_word": false,
186
+ "special": false
187
+ },
188
+ "248067": {
189
+ "content": "</tool_response>",
190
+ "lstrip": false,
191
+ "normalized": false,
192
+ "rstrip": false,
193
+ "single_word": false,
194
+ "special": false
195
+ },
196
+ "248068": {
197
+ "content": "<think>",
198
+ "lstrip": false,
199
+ "normalized": false,
200
+ "rstrip": false,
201
+ "single_word": false,
202
+ "special": false
203
+ },
204
+ "248069": {
205
+ "content": "</think>",
206
+ "lstrip": false,
207
+ "normalized": false,
208
+ "rstrip": false,
209
+ "single_word": false,
210
+ "special": false
211
+ },
212
+ "248070": {
213
+ "content": "<|audio_start|>",
214
+ "lstrip": false,
215
+ "normalized": false,
216
+ "rstrip": false,
217
+ "single_word": false,
218
+ "special": true
219
+ },
220
+ "248071": {
221
+ "content": "<|audio_end|>",
222
+ "lstrip": false,
223
+ "normalized": false,
224
+ "rstrip": false,
225
+ "single_word": false,
226
+ "special": true
227
+ },
228
+ "248072": {
229
+ "content": "<tts_pad>",
230
+ "lstrip": false,
231
+ "normalized": false,
232
+ "rstrip": false,
233
+ "single_word": false,
234
+ "special": true
235
+ },
236
+ "248073": {
237
+ "content": "<tts_text_bos>",
238
+ "lstrip": false,
239
+ "normalized": false,
240
+ "rstrip": false,
241
+ "single_word": false,
242
+ "special": true
243
+ },
244
+ "248074": {
245
+ "content": "<tts_text_eod>",
246
+ "lstrip": false,
247
+ "normalized": false,
248
+ "rstrip": false,
249
+ "single_word": false,
250
+ "special": true
251
+ },
252
+ "248075": {
253
+ "content": "<tts_text_bos_single>",
254
+ "lstrip": false,
255
+ "normalized": false,
256
+ "rstrip": false,
257
+ "single_word": false,
258
+ "special": true
259
+ },
260
+ "248076": {
261
+ "content": "<|audio_pad|>",
262
+ "lstrip": false,
263
+ "normalized": false,
264
+ "rstrip": false,
265
+ "single_word": false,
266
+ "special": true
267
+ }
268
+ },
269
+ "additional_special_tokens": [
270
+ "<|im_start|>",
271
+ "<|im_end|>",
272
+ "<|object_ref_start|>",
273
+ "<|object_ref_end|>",
274
+ "<|box_start|>",
275
+ "<|box_end|>",
276
+ "<|quad_start|>",
277
+ "<|quad_end|>",
278
+ "<|vision_start|>",
279
+ "<|vision_end|>",
280
+ "<|vision_pad|>",
281
+ "<|image_pad|>",
282
+ "<|video_pad|>"
283
+ ],
284
+ "bos_token": null,
285
+ "chat_template": "{%- set image_count = namespace(value=0) %}\n{%- set video_count = namespace(value=0) %}\n{%- macro render_content(content, do_vision_count, is_system_content=false) %}\n {%- if content is string %}\n {{- content }}\n {%- elif content is iterable and content is not mapping %}\n {%- for item in content %}\n {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}\n {%- if is_system_content %}\n {{- raise_exception('System message cannot contain images.') }}\n {%- endif %}\n {%- if do_vision_count %}\n {%- set image_count.value = image_count.value + 1 %}\n {%- endif %}\n {%- if add_vision_id %}\n {{- 'Picture ' ~ image_count.value ~ ': ' }}\n {%- endif %}\n {{- '<|vision_start|><|image_pad|><|vision_end|>' }}\n {%- elif 'video' in item or item.type == 'video' %}\n {%- if is_system_content %}\n {{- raise_exception('System message cannot contain videos.') }}\n {%- endif %}\n {%- if do_vision_count %}\n {%- set video_count.value = video_count.value + 1 %}\n {%- endif %}\n {%- if add_vision_id %}\n {{- 'Video ' ~ video_count.value ~ ': ' }}\n {%- endif %}\n {{- '<|vision_start|><|video_pad|><|vision_end|>' }}\n {%- elif 'text' in item %}\n {{- item.text }}\n {%- else %}\n {{- raise_exception('Unexpected item type in content.') }}\n {%- endif %}\n {%- endfor %}\n {%- elif content is none or content is undefined %}\n {{- '' }}\n {%- else %}\n {{- raise_exception('Unexpected content type.') }}\n {%- endif %}\n{%- endmacro %}\n{%- if not messages %}\n {{- raise_exception('No messages provided.') }}\n{%- endif %}\n{%- if tools and tools is iterable and tools is not mapping %}\n {{- '<|im_start|>system\\n' }}\n {{- \"# Tools\\n\\nYou have access to the following functions:\\n\\n<tools>\" }}\n {%- for tool in tools %}\n {{- \"\\n\" }}\n {{- tool | tojson }}\n {%- endfor %}\n {{- \"\\n</tools>\" }}\n {{- '\\n\\nIf you choose to call a function ONLY reply in the following format with NO suffix:\\n\\n<tool_call>\\n<function=example_function_name>\\n<parameter=example_parameter_1>\\nvalue_1\\n</parameter>\\n<parameter=example_parameter_2>\\nThis is the value for the second parameter\\nthat can span\\nmultiple lines\\n</parameter>\\n</function>\\n</tool_call>\\n\\n<IMPORTANT>\\nReminder:\\n- Function calls MUST follow the specified format: an inner <function=...></function> block must be nested within <tool_call></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</IMPORTANT>' }}\n {%- if messages[0].role == 'system' %}\n {%- set content = render_content(messages[0].content, false, true)|trim %}\n {%- if content %}\n {{- '\\n\\n' + content }}\n {%- endif %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n{%- else %}\n {%- if messages[0].role == 'system' %}\n {%- set content = render_content(messages[0].content, false, true)|trim %}\n {{- '<|im_start|>system\\n' + content + '<|im_end|>\\n' }}\n {%- endif %}\n{%- endif %}\n{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}\n{%- for message in messages[::-1] %}\n {%- set index = (messages|length - 1) - loop.index0 %}\n {%- if ns.multi_step_tool and message.role == \"user\" %}\n {%- set content = render_content(message.content, false)|trim %}\n {%- if not(content.startswith('<tool_response>') and content.endswith('</tool_response>')) %}\n {%- set ns.multi_step_tool = false %}\n {%- set ns.last_query_index = index %}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n{%- if ns.multi_step_tool %}\n {{- raise_exception('No user query found in messages.') }}\n{%- endif %}\n{%- for message in messages %}\n {%- set content = render_content(message.content, true)|trim %}\n {%- if message.role == \"system\" %}\n {%- if not loop.first %}\n {{- raise_exception('System message must be at the beginning.') }}\n {%- endif %}\n {%- elif message.role == \"user\" %}\n {{- '<|im_start|>' + message.role + '\\n' + content + '<|im_end|>' + '\\n' }}\n {%- elif message.role == \"assistant\" %}\n {%- set reasoning_content = '' %}\n {%- if message.reasoning_content is string %}\n {%- set reasoning_content = message.reasoning_content %}\n {%- else %}\n {%- if '</think>' in content %}\n {%- set reasoning_content = content.split('</think>')[0].rstrip('\\n').split('<think>')[-1].lstrip('\\n') %}\n {%- set content = content.split('</think>')[-1].lstrip('\\n') %}\n {%- endif %}\n {%- endif %}\n {%- set reasoning_content = reasoning_content|trim %}\n {%- if loop.index0 > ns.last_query_index %}\n {{- '<|im_start|>' + message.role + '\\n<think>\\n' + reasoning_content + '\\n</think>\\n\\n' + content }}\n {%- else %}\n {{- '<|im_start|>' + message.role + '\\n' + content }}\n {%- endif %}\n {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}\n {%- for tool_call in message.tool_calls %}\n {%- if tool_call.function is defined %}\n {%- set tool_call = tool_call.function %}\n {%- endif %}\n {%- if loop.first %}\n {%- if content|trim %}\n {{- '\\n\\n<tool_call>\\n<function=' + tool_call.name + '>\\n' }}\n {%- else %}\n {{- '<tool_call>\\n<function=' + tool_call.name + '>\\n' }}\n {%- endif %}\n {%- else %}\n {{- '\\n<tool_call>\\n<function=' + tool_call.name + '>\\n' }}\n {%- endif %}\n {%- if tool_call.arguments is defined %}\n {%- for args_name, args_value in tool_call.arguments|items %}\n {{- '<parameter=' + args_name + '>\\n' }}\n {%- 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 %}\n {{- args_value }}\n {{- '\\n</parameter>\\n' }}\n {%- endfor %}\n {%- endif %}\n {{- '</function>\\n</tool_call>' }}\n {%- endfor %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n {%- elif message.role == \"tool\" %}\n {%- if loop.previtem and loop.previtem.role != \"tool\" %}\n {{- '<|im_start|>user' }}\n {%- endif %}\n {{- '\\n<tool_response>\\n' }}\n {{- content }}\n {{- '\\n</tool_response>' }}\n {%- if not loop.last and loop.nextitem.role != \"tool\" %}\n {{- '<|im_end|>\\n' }}\n {%- elif loop.last %}\n {{- '<|im_end|>\\n' }}\n {%- endif %}\n {%- else %}\n {{- raise_exception('Unexpected message role.') }}\n {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n {{- '<|im_start|>assistant\\n' }}\n {%- if enable_thinking is defined and enable_thinking is false %}\n {{- '<think>\\n\\n</think>\\n\\n' }}\n {%- else %}\n {{- '<think>\\n' }}\n {%- endif %}\n{%- endif %}",
286
+ "clean_up_tokenization_spaces": false,
287
+ "eos_token": "<|im_end|>",
288
+ "errors": "replace",
289
+ "model_max_length": 262144,
290
+ "pad_token": "<|endoftext|>",
291
+ "split_special_tokens": false,
292
+ "tokenizer_class": "Qwen2Tokenizer",
293
+ "unk_token": null,
294
+ "add_bos_token": false,
295
+ "pretokenize_regex": "(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\\r\\n\\p{L}\\p{N}]?[\\p{L}\\p{M}]+|\\p{N}| ?[^\\s\\p{L}\\p{M}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+",
296
+ "extra_special_tokens": {
297
+ "audio_bos_token": "<|audio_start|>",
298
+ "audio_eos_token": "<|audio_end|>",
299
+ "audio_token": "<|audio_pad|>",
300
+ "image_token": "<|image_pad|>",
301
+ "video_token": "<|video_pad|>",
302
+ "vision_bos_token": "<|vision_start|>",
303
+ "vision_eos_token": "<|vision_end|>"
304
+ }
305
+ }
vision.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b0f64d403163f02156195414ad7d34747483a4e4d7356823fdfc90867dcb967d
3
+ size 456979822
vision.xml ADDED
The diff for this file is too large to render. See raw diff