kenkaneki AlexM commited on
Commit
03ed451
·
0 Parent(s):

Add T-Search-FP8 model

Browse files

Co-authored-by: alexm <alexm@users.noreply.huggingface.co>

.gitattributes ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ assets/t-search-benchmarks.png filter=lfs diff=lfs merge=lfs -text
37
+ assets/t-search-latency-quality.png filter=lfs diff=lfs merge=lfs -text
38
+ assets/t-search-rl-training.png filter=lfs diff=lfs merge=lfs -text
39
+ tokenizer.json filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,183 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ language:
4
+ - en
5
+ - ru
6
+ pipeline_tag: text-generation
7
+ library_name: transformers
8
+ tags:
9
+ - fp8
10
+ - 35b-a3b
11
+ - mixture-of-experts
12
+ - moe
13
+ - agent
14
+ - search-agent
15
+ - agentic-search
16
+ - search
17
+ - information-retrieval
18
+ - retrieval
19
+ - tool-use
20
+ - function-calling
21
+ - rag
22
+ base_model:
23
+ - t-tech/T-Search
24
+ base_model_relation: quantized
25
+ ---
26
+
27
+ # T-Search-FP8
28
+
29
+ **🚨 T-Search-FP8 is designed for use with the [official T-Search harness](https://github.com/turbo-llm/t-search-harness). The source T-Search checkpoint did not show noticeable differences relative to the Qwen3.6-35B-A3B base model on general-purpose benchmarks.**
30
+
31
+ **🚨 Users are advised to exercise caution and are responsible for any additional training and oversight required to ensure the model's responses meet acceptable ethical and safety standards. The responsibility for incorporating this model into industrial or commercial solutions lies entirely with those who choose to deploy it.**
32
+
33
+ ## **Highlights**
34
+
35
+ We introduce **T-Search-FP8**, an agentic retriever built for difficult multi-step search in English and Russian. It plans and executes searches across multiple rounds with a configurable search budget.
36
+
37
+ - **FP8 checkpoint:** block-wise quantization for lower-precision deployment.
38
+ - **Agentic retrieval:** issues queries, inspects results, tracks coverage, carries compact evidence and search state across rounds, and returns a ranked chunk set.
39
+ - **Retrieval quality:** outperforms the base model and larger open models on average across the evaluated retrieval benchmarks.
40
+ - **Retriever robustness:** trained and evaluated with multiple retrievers, maintaining strong retrieval quality across configurations.
41
+
42
+ ![T-Search benchmark recall](https://huggingface.co/t-tech/T-Search/raw/main/assets/t-search-benchmarks.svg)
43
+
44
+ ## Description
45
+
46
+ T-Search-FP8 is built on **Qwen3.6-35B-A3B** and trained on fully synthetic search tasks generated for the same harness used at inference time.
47
+
48
+ The model is responsible for collecting evidence. Given a question and access to a corpus search backend, it formulates queries, reads retrieved snippets, decides which chunks are worth preserving, and returns a ranked evidence set. A downstream generator, reranker, or full-text fetcher can then consume that ranking.
49
+
50
+ ## ⛷️ T-Search Harness
51
+
52
+ The [official T-Search harness](https://github.com/turbo-llm/t-search-harness) implements the inference protocol used for training and evaluation. The retriever operates in rounds. Within each round, it follows a ReAct loop with an approximately 32K-token context budget and three tools:
53
+
54
+ - `search_corpus` searches the corpus and returns document chunks;
55
+ - `save_and_advance` preserves important chunks and starts a new round;
56
+ - `finalize_ranking` ends the search and returns a ranked evidence set.
57
+
58
+ The agent sees the original question, previously saved chunks, and the current coverage state: which parts of the question are supported by evidence and which remain open. It chooses search queries, inspects retrieved chunks, and decides whether to continue searching, preserve state for another round, or finalize.
59
+
60
+ At 75% context utilization, `search_corpus` is locked. The agent must either call `finalize_ranking` or use `save_and_advance` to build compact memory for the next round: preserved chunks with reasons, covered and open parts of the question, previous attempts, and a useful next step. Full tool history and intermediate noise do not cross the round boundary.
61
+
62
+ ## 🧠 Training
63
+
64
+ Training proceeds in two stages: supervised fine-tuning on fully synthetic search trajectories, followed by reinforcement learning with GSPO and recall-based rewards. At each stage, separate English and Russian experts are trained on language-specific data and then merged into a single checkpoint.
65
+
66
+ ### Quantization
67
+
68
+ Weights use the E4M3 format with `128 × 128` block-wise scaling, while activation scales are computed dynamically at inference time. Modules excluded from quantization remain in BF16 and are listed under `modules_to_not_convert` in `config.json`.
69
+
70
+ ### Synthetic task factory
71
+
72
+ Training tasks contain a question, a fixed index, annotated evidence chunks, and a full tool-use trajectory. Candidate tasks pass adversarial checks for trivial query leakage, answerability from model weights, single-document shortcuts, missing evidence, and weak distractors.
73
+
74
+ ### Supervised fine-tuning
75
+
76
+ Long teacher trajectories are split into self-contained rounds. Invalid tool actions are masked from the loss, while useful recovery behavior after a tool error is retained. Productive rounds are selected by evidence gain rather than by final recall alone, preserving useful behavior from difficult tasks.
77
+
78
+ Training uses **11K SFT examples from 8K unique questions per language**; one quarter targets robustness to different retrievers. An additional non-overlapping pool of **2K questions per language** is reserved for RL.
79
+
80
+ ### Reinforcement learning
81
+
82
+ The policy is optimized with GSPO. RL optimizes the complete search policy on full tool-use trajectories. The main reward is recall over gold `chunk_id` values; precision and F-score are tracked for diagnostics but are not used as the primary training signal. This discourages the agent from finalizing early with a small high-precision but incomplete evidence set.
83
+
84
+ **A detailed Russian-language training report will be available soon on Habr.**
85
+
86
+ ## 📊 Benchmarks
87
+
88
+ ### Evaluation datasets
89
+
90
+ The accompanying evaluation datasets are released as [**TRuST**](https://huggingface.co/datasets/t-tech/TRuST) and [**SynthComp**](https://huggingface.co/datasets/t-tech/SynthComp).
91
+
92
+ | Benchmark | Description |
93
+ |---|---|
94
+ | **TRuST** | 324 manually authored Russian multi-step search questions with fixed indices and annotated evidence. |
95
+ | **SynthComp-En / SynthComp-Ru** | English and Russian synthetic fixed-index benchmarks with 395 questions each, separated from the SFT and RL data by question and evidence overlap checks. |
96
+ | **ru-BrowseComp-Plus** | Adapted Russian-language version of BrowseComp-Plus. |
97
+ | **ru-SealQA** | Adapted Russian-language version of SealQA. |
98
+
99
+ We use **Recall@10** as the primary metric.
100
+
101
+ We report single-rollout results for all models and, for T-Search, an additional N=3 configuration that runs three independent rollouts in parallel and combines their rankings using reciprocal rank fusion (RRF).
102
+
103
+ | Model | BrowseComp-Plus | ru-BrowseComp-Plus | SealQA | ru-SealQA | SynthComp-En | SynthComp-Ru | TRuST | Avg |
104
+ |---|---:|---:|---:|---:|---:|---:|---:|---:|
105
+ | **T-Search (N=3)** | **72.65** | **62.93** | **66.08** | **61.98** | **58.52** | **58.00** | **49.12** | **61.33** |
106
+ | **T-Search (N=1)** | 65.35 | 55.95 | 61.16 | 57.72 | 54.52 | 53.13 | 43.92 | 55.96 |
107
+ | GLM-5.1 | 64.32 | 58.18 | 55.49 | 53.21 | 51.69 | 51.71 | 43.11 | 53.96 |
108
+ | GLM-5.2 | 63.01 | 52.54 | 55.30 | 54.69 | 52.29 | 49.37 | 37.07 | 52.04 |
109
+ | Kimi-K2.6 | 60.71 | 49.76 | 56.86 | 52.46 | 48.25 | 47.06 | 42.39 | 51.07 |
110
+ | DeepSeek-V4-Flash | 53.27 | 46.30 | 55.70 | 51.12 | 44.83 | 45.68 | 40.40 | 48.19 |
111
+ | Qwen3.6-27B | 56.69 | 46.81 | 54.01 | 48.95 | 46.82 | 46.99 | 38.12 | 48.34 |
112
+ | Qwen3.6-35B-A3B (baseline) | 43.66 | 38.58 | 46.07 | 43.26 | 41.82 | 43.88 | 33.53 | 41.54 |
113
+ | gemma-4-26B-A4B-it | 35.32 | 27.51 | 45.13 | 39.05 | 36.24 | 34.77 | 21.75 | 34.25 |
114
+ | Qwen3.5-397B-A17B | 53.48 | 44.06 | 51.68 | 48.33 | 47.38 | 46.91 | 38.57 | 47.20 |
115
+ | Qwen3.5-122B-A10B | 47.81 | 40.15 | 51.57 | 44.74 | 42.11 | 42.25 | 30.55 | 42.74 |
116
+
117
+ We also study the latency–quality trade-off by varying the maximum number of search rounds and the number of parallel agent runs. This separates the effect of deeper sequential search from broader parallel exploration.
118
+
119
+ ![Latency-quality trajectories](https://huggingface.co/t-tech/T-Search/raw/main/assets/t-search-latency-quality.svg)
120
+
121
+ To evaluate retrieval robustness, we varied the search backend while keeping the model and agent configuration fixed.
122
+
123
+ | Retriever | BrowseComp-Plus | ru-BrowseComp-Plus | SealQA | ru-SealQA | SynthComp-En | SynthComp-Ru | TRuST | Avg |
124
+ |---|---:|---:|---:|---:|---:|---:|---:|---:|
125
+ | Qwen3-Embedding-8B | 65.35 | 55.95 | 61.16 | 57.72 | 54.52 | 53.13 | 43.92 | 55.96 |
126
+ | **Qwen3-Embedding-8B + LLM reranking** | **75.04** | **66.24** | **64.82** | **59.95** | 62.71 | 62.39 | 48.93 | **62.87** |
127
+ | Qwen3-Embedding-0.6B | 51.70 | 43.71 | 56.80 | 49.53 | 54.72 | 52.27 | 36.95 | 49.38 |
128
+ | jina-embeddings-v5-text-small-retrieval | 60.52 | 51.41 | 62.46 | 55.60 | 56.37 | 54.56 | 39.31 | 54.32 |
129
+ | BM25 | 39.49 | 31.97 | 55.33 | 50.00 | **66.87** | **65.15** | **49.18** | 51.14 |
130
+
131
+ ## 👨‍💻 Usage
132
+
133
+ ### Recommended generation parameters
134
+
135
+ ```yaml
136
+ do_sample: true
137
+ temperature: 0.7
138
+ top_p: 1.0
139
+ ```
140
+
141
+ Serve `t-tech/T-Search-FP8` through an OpenAI-compatible endpoint. See the [harness README](https://github.com/turbo-llm/t-search-harness) for installation and search-backend integration.
142
+
143
+ ### Reference SGLang serving setup
144
+
145
+ The following configuration adapts the [official Qwen3.6 FP8 SGLang cookbook](https://lmsysorg.mintlify.app/cookbook/autoregressive/Qwen/Qwen3.6#qwen3-6) to the 65,536-token T-Search serving context:
146
+
147
+ ```bash
148
+ python3 -m sglang.launch_server \
149
+ --model-path "/path/to/model" \
150
+ --served-model-name "t-tech/T-Search-FP8" \
151
+ --trust-remote-code \
152
+ --host 0.0.0.0 \
153
+ --port 8000 \
154
+ --reasoning-parser qwen3 \
155
+ --tool-call-parser qwen3_coder \
156
+ --speculative-algorithm EAGLE \
157
+ --speculative-num-steps 3 \
158
+ --speculative-eagle-topk 1 \
159
+ --speculative-num-draft-tokens 4 \
160
+ --mem-fraction-static 0.8 \
161
+ --context-length 65536
162
+ ```
163
+
164
+ ### Example
165
+
166
+ ```python
167
+ from retriever_agent import (
168
+ AgentConfig,
169
+ HttpSearchClient,
170
+ OpenAILLMClient,
171
+ RetrieverAgent,
172
+ )
173
+
174
+ config = AgentConfig(model="t-tech/T-Search-FP8")
175
+ llm = OpenAILLMClient(["http://<sglang-host>:8000/v1"], config)
176
+ search = HttpSearchClient("http://<search-host>:8000")
177
+
178
+ agent = RetrieverAgent(config, llm, search)
179
+ result = agent.retrieve("your query")
180
+
181
+ for doc in result.documents:
182
+ print(doc.rank, doc.doc_id, doc.score, doc.text)
183
+ ```
assets/t-search-benchmarks.png ADDED

Git LFS Details

  • SHA256: 1f56255a1355e68eb65c07f068cc02254b8985096e5b66fdefc41ab65551f7d9
  • Pointer size: 131 Bytes
  • Size of remote file: 122 kB
assets/t-search-benchmarks.svg ADDED
assets/t-search-latency-quality.png ADDED

Git LFS Details

  • SHA256: 2cb69cbaf600cb09d950d3cbfbec01067787bd69a6fd271b5feb67a03a7b0193
  • Pointer size: 131 Bytes
  • Size of remote file: 180 kB
assets/t-search-latency-quality.svg ADDED
assets/t-search-rl-training.png ADDED

Git LFS Details

  • SHA256: a7dc9f078ecc047ab0f7e2d32cf9edc478cc250173ba7d99437278ddc0b997b4
  • Pointer size: 131 Bytes
  • Size of remote file: 184 kB
assets/t-search-rl-training.svg ADDED
chat_template.jinja ADDED
@@ -0,0 +1,154 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ {%- if loop.index0 > ns.last_query_index %}
101
+ {{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content + '\n</think>\n\n' + content }}
102
+ {%- else %}
103
+ {{- '<|im_start|>' + message.role + '\n' + content }}
104
+ {%- endif %}
105
+ {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
106
+ {%- for tool_call in message.tool_calls %}
107
+ {%- if tool_call.function is defined %}
108
+ {%- set tool_call = tool_call.function %}
109
+ {%- endif %}
110
+ {%- if loop.first %}
111
+ {%- if content|trim %}
112
+ {{- '\n\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
113
+ {%- else %}
114
+ {{- '<tool_call>\n<function=' + tool_call.name + '>\n' }}
115
+ {%- endif %}
116
+ {%- else %}
117
+ {{- '\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
118
+ {%- endif %}
119
+ {%- if tool_call.arguments is defined %}
120
+ {%- for args_name, args_value in tool_call.arguments|items %}
121
+ {{- '<parameter=' + args_name + '>\n' }}
122
+ {%- 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 %}
123
+ {{- args_value }}
124
+ {{- '\n</parameter>\n' }}
125
+ {%- endfor %}
126
+ {%- endif %}
127
+ {{- '</function>\n</tool_call>' }}
128
+ {%- endfor %}
129
+ {%- endif %}
130
+ {{- '<|im_end|>\n' }}
131
+ {%- elif message.role == "tool" %}
132
+ {%- if loop.previtem and loop.previtem.role != "tool" %}
133
+ {{- '<|im_start|>user' }}
134
+ {%- endif %}
135
+ {{- '\n<tool_response>\n' }}
136
+ {{- content }}
137
+ {{- '\n</tool_response>' }}
138
+ {%- if not loop.last and loop.nextitem.role != "tool" %}
139
+ {{- '<|im_end|>\n' }}
140
+ {%- elif loop.last %}
141
+ {{- '<|im_end|>\n' }}
142
+ {%- endif %}
143
+ {%- else %}
144
+ {{- raise_exception('Unexpected message role.') }}
145
+ {%- endif %}
146
+ {%- endfor %}
147
+ {%- if add_generation_prompt %}
148
+ {{- '<|im_start|>assistant\n' }}
149
+ {%- if enable_thinking is defined and enable_thinking is false %}
150
+ {{- '<think>\n\n</think>\n\n' }}
151
+ {%- else %}
152
+ {{- '<think>\n' }}
153
+ {%- endif %}
154
+ {%- endif %}
config.json ADDED
@@ -0,0 +1,418 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "Qwen3_5MoeForConditionalGeneration"
4
+ ],
5
+ "image_token_id": 248056,
6
+ "model_type": "qwen3_5_moe",
7
+ "text_config": {
8
+ "attention_bias": false,
9
+ "attention_dropout": 0.0,
10
+ "attn_output_gate": true,
11
+ "bos_token_id": null,
12
+ "dtype": "bfloat16",
13
+ "eos_token_id": 248044,
14
+ "full_attention_interval": 4,
15
+ "head_dim": 256,
16
+ "hidden_act": "silu",
17
+ "hidden_size": 2048,
18
+ "initializer_range": 0.02,
19
+ "layer_types": [
20
+ "linear_attention",
21
+ "linear_attention",
22
+ "linear_attention",
23
+ "full_attention",
24
+ "linear_attention",
25
+ "linear_attention",
26
+ "linear_attention",
27
+ "full_attention",
28
+ "linear_attention",
29
+ "linear_attention",
30
+ "linear_attention",
31
+ "full_attention",
32
+ "linear_attention",
33
+ "linear_attention",
34
+ "linear_attention",
35
+ "full_attention",
36
+ "linear_attention",
37
+ "linear_attention",
38
+ "linear_attention",
39
+ "full_attention",
40
+ "linear_attention",
41
+ "linear_attention",
42
+ "linear_attention",
43
+ "full_attention",
44
+ "linear_attention",
45
+ "linear_attention",
46
+ "linear_attention",
47
+ "full_attention",
48
+ "linear_attention",
49
+ "linear_attention",
50
+ "linear_attention",
51
+ "full_attention",
52
+ "linear_attention",
53
+ "linear_attention",
54
+ "linear_attention",
55
+ "full_attention",
56
+ "linear_attention",
57
+ "linear_attention",
58
+ "linear_attention",
59
+ "full_attention"
60
+ ],
61
+ "linear_conv_kernel_dim": 4,
62
+ "linear_key_head_dim": 128,
63
+ "linear_num_key_heads": 16,
64
+ "linear_num_value_heads": 32,
65
+ "linear_value_head_dim": 128,
66
+ "mamba_ssm_dtype": "float32",
67
+ "max_position_embeddings": 262144,
68
+ "mlp_only_layers": [],
69
+ "model_type": "qwen3_5_moe_text",
70
+ "moe_intermediate_size": 512,
71
+ "mtp_num_hidden_layers": 1,
72
+ "mtp_use_dedicated_embeddings": false,
73
+ "num_attention_heads": 16,
74
+ "num_experts": 256,
75
+ "num_experts_per_tok": 8,
76
+ "num_hidden_layers": 40,
77
+ "num_key_value_heads": 2,
78
+ "output_router_logits": false,
79
+ "pad_token_id": null,
80
+ "partial_rotary_factor": 0.25,
81
+ "rms_norm_eps": 1e-06,
82
+ "rope_parameters": {
83
+ "mrope_interleaved": true,
84
+ "mrope_section": [
85
+ 11,
86
+ 11,
87
+ 10
88
+ ],
89
+ "partial_rotary_factor": 0.25,
90
+ "rope_theta": 10000000,
91
+ "rope_type": "default"
92
+ },
93
+ "router_aux_loss_coef": 0.001,
94
+ "shared_expert_intermediate_size": 512,
95
+ "tie_word_embeddings": false,
96
+ "use_cache": true,
97
+ "vocab_size": 248320
98
+ },
99
+ "tie_word_embeddings": false,
100
+ "transformers_version": "5.9.0",
101
+ "video_token_id": 248057,
102
+ "vision_config": {
103
+ "deepstack_visual_indexes": [],
104
+ "depth": 27,
105
+ "dtype": "bfloat16",
106
+ "hidden_act": "gelu_pytorch_tanh",
107
+ "hidden_size": 1152,
108
+ "in_channels": 3,
109
+ "initializer_range": 0.02,
110
+ "intermediate_size": 4304,
111
+ "model_type": "qwen3_5_moe_vision",
112
+ "num_heads": 16,
113
+ "num_position_embeddings": 2304,
114
+ "out_hidden_size": 2048,
115
+ "patch_size": 16,
116
+ "spatial_merge_size": 2,
117
+ "temporal_patch_size": 2
118
+ },
119
+ "vision_end_token_id": 248054,
120
+ "vision_start_token_id": 248053,
121
+ "quantization_config": {
122
+ "quant_method": "fp8",
123
+ "fmt": "e4m3",
124
+ "activation_scheme": "dynamic",
125
+ "weight_block_size": [
126
+ 128,
127
+ 128
128
+ ],
129
+ "modules_to_not_convert": [
130
+ "lm_head",
131
+ "model.language_model.embed_tokens",
132
+ "model.language_model.layers.0.linear_attn.conv1d",
133
+ "model.language_model.layers.0.linear_attn.in_proj_a",
134
+ "model.language_model.layers.0.linear_attn.in_proj_b",
135
+ "model.language_model.layers.0.mlp.gate",
136
+ "model.language_model.layers.0.mlp.shared_expert_gate",
137
+ "model.language_model.layers.1.linear_attn.conv1d",
138
+ "model.language_model.layers.1.linear_attn.in_proj_a",
139
+ "model.language_model.layers.1.linear_attn.in_proj_b",
140
+ "model.language_model.layers.1.mlp.gate",
141
+ "model.language_model.layers.1.mlp.shared_expert_gate",
142
+ "model.language_model.layers.10.linear_attn.conv1d",
143
+ "model.language_model.layers.10.linear_attn.in_proj_a",
144
+ "model.language_model.layers.10.linear_attn.in_proj_b",
145
+ "model.language_model.layers.10.mlp.gate",
146
+ "model.language_model.layers.10.mlp.shared_expert_gate",
147
+ "model.language_model.layers.11.mlp.gate",
148
+ "model.language_model.layers.11.mlp.shared_expert_gate",
149
+ "model.language_model.layers.12.linear_attn.conv1d",
150
+ "model.language_model.layers.12.linear_attn.in_proj_a",
151
+ "model.language_model.layers.12.linear_attn.in_proj_b",
152
+ "model.language_model.layers.12.mlp.gate",
153
+ "model.language_model.layers.12.mlp.shared_expert_gate",
154
+ "model.language_model.layers.13.linear_attn.conv1d",
155
+ "model.language_model.layers.13.linear_attn.in_proj_a",
156
+ "model.language_model.layers.13.linear_attn.in_proj_b",
157
+ "model.language_model.layers.13.mlp.gate",
158
+ "model.language_model.layers.13.mlp.shared_expert_gate",
159
+ "model.language_model.layers.14.linear_attn.conv1d",
160
+ "model.language_model.layers.14.linear_attn.in_proj_a",
161
+ "model.language_model.layers.14.linear_attn.in_proj_b",
162
+ "model.language_model.layers.14.mlp.gate",
163
+ "model.language_model.layers.14.mlp.shared_expert_gate",
164
+ "model.language_model.layers.15.mlp.gate",
165
+ "model.language_model.layers.15.mlp.shared_expert_gate",
166
+ "model.language_model.layers.16.linear_attn.conv1d",
167
+ "model.language_model.layers.16.linear_attn.in_proj_a",
168
+ "model.language_model.layers.16.linear_attn.in_proj_b",
169
+ "model.language_model.layers.16.mlp.gate",
170
+ "model.language_model.layers.16.mlp.shared_expert_gate",
171
+ "model.language_model.layers.17.linear_attn.conv1d",
172
+ "model.language_model.layers.17.linear_attn.in_proj_a",
173
+ "model.language_model.layers.17.linear_attn.in_proj_b",
174
+ "model.language_model.layers.17.mlp.gate",
175
+ "model.language_model.layers.17.mlp.shared_expert_gate",
176
+ "model.language_model.layers.18.linear_attn.conv1d",
177
+ "model.language_model.layers.18.linear_attn.in_proj_a",
178
+ "model.language_model.layers.18.linear_attn.in_proj_b",
179
+ "model.language_model.layers.18.mlp.gate",
180
+ "model.language_model.layers.18.mlp.shared_expert_gate",
181
+ "model.language_model.layers.19.mlp.gate",
182
+ "model.language_model.layers.19.mlp.shared_expert_gate",
183
+ "model.language_model.layers.2.linear_attn.conv1d",
184
+ "model.language_model.layers.2.linear_attn.in_proj_a",
185
+ "model.language_model.layers.2.linear_attn.in_proj_b",
186
+ "model.language_model.layers.2.mlp.gate",
187
+ "model.language_model.layers.2.mlp.shared_expert_gate",
188
+ "model.language_model.layers.20.linear_attn.conv1d",
189
+ "model.language_model.layers.20.linear_attn.in_proj_a",
190
+ "model.language_model.layers.20.linear_attn.in_proj_b",
191
+ "model.language_model.layers.20.mlp.gate",
192
+ "model.language_model.layers.20.mlp.shared_expert_gate",
193
+ "model.language_model.layers.21.linear_attn.conv1d",
194
+ "model.language_model.layers.21.linear_attn.in_proj_a",
195
+ "model.language_model.layers.21.linear_attn.in_proj_b",
196
+ "model.language_model.layers.21.mlp.gate",
197
+ "model.language_model.layers.21.mlp.shared_expert_gate",
198
+ "model.language_model.layers.22.linear_attn.conv1d",
199
+ "model.language_model.layers.22.linear_attn.in_proj_a",
200
+ "model.language_model.layers.22.linear_attn.in_proj_b",
201
+ "model.language_model.layers.22.mlp.gate",
202
+ "model.language_model.layers.22.mlp.shared_expert_gate",
203
+ "model.language_model.layers.23.mlp.gate",
204
+ "model.language_model.layers.23.mlp.shared_expert_gate",
205
+ "model.language_model.layers.24.linear_attn.conv1d",
206
+ "model.language_model.layers.24.linear_attn.in_proj_a",
207
+ "model.language_model.layers.24.linear_attn.in_proj_b",
208
+ "model.language_model.layers.24.mlp.gate",
209
+ "model.language_model.layers.24.mlp.shared_expert_gate",
210
+ "model.language_model.layers.25.linear_attn.conv1d",
211
+ "model.language_model.layers.25.linear_attn.in_proj_a",
212
+ "model.language_model.layers.25.linear_attn.in_proj_b",
213
+ "model.language_model.layers.25.mlp.gate",
214
+ "model.language_model.layers.25.mlp.shared_expert_gate",
215
+ "model.language_model.layers.26.linear_attn.conv1d",
216
+ "model.language_model.layers.26.linear_attn.in_proj_a",
217
+ "model.language_model.layers.26.linear_attn.in_proj_b",
218
+ "model.language_model.layers.26.mlp.gate",
219
+ "model.language_model.layers.26.mlp.shared_expert_gate",
220
+ "model.language_model.layers.27.mlp.gate",
221
+ "model.language_model.layers.27.mlp.shared_expert_gate",
222
+ "model.language_model.layers.28.linear_attn.conv1d",
223
+ "model.language_model.layers.28.linear_attn.in_proj_a",
224
+ "model.language_model.layers.28.linear_attn.in_proj_b",
225
+ "model.language_model.layers.28.mlp.gate",
226
+ "model.language_model.layers.28.mlp.shared_expert_gate",
227
+ "model.language_model.layers.29.linear_attn.conv1d",
228
+ "model.language_model.layers.29.linear_attn.in_proj_a",
229
+ "model.language_model.layers.29.linear_attn.in_proj_b",
230
+ "model.language_model.layers.29.mlp.gate",
231
+ "model.language_model.layers.29.mlp.shared_expert_gate",
232
+ "model.language_model.layers.3.mlp.gate",
233
+ "model.language_model.layers.3.mlp.shared_expert_gate",
234
+ "model.language_model.layers.30.linear_attn.conv1d",
235
+ "model.language_model.layers.30.linear_attn.in_proj_a",
236
+ "model.language_model.layers.30.linear_attn.in_proj_b",
237
+ "model.language_model.layers.30.mlp.gate",
238
+ "model.language_model.layers.30.mlp.shared_expert_gate",
239
+ "model.language_model.layers.31.mlp.gate",
240
+ "model.language_model.layers.31.mlp.shared_expert_gate",
241
+ "model.language_model.layers.32.linear_attn.conv1d",
242
+ "model.language_model.layers.32.linear_attn.in_proj_a",
243
+ "model.language_model.layers.32.linear_attn.in_proj_b",
244
+ "model.language_model.layers.32.mlp.gate",
245
+ "model.language_model.layers.32.mlp.shared_expert_gate",
246
+ "model.language_model.layers.33.linear_attn.conv1d",
247
+ "model.language_model.layers.33.linear_attn.in_proj_a",
248
+ "model.language_model.layers.33.linear_attn.in_proj_b",
249
+ "model.language_model.layers.33.mlp.gate",
250
+ "model.language_model.layers.33.mlp.shared_expert_gate",
251
+ "model.language_model.layers.34.linear_attn.conv1d",
252
+ "model.language_model.layers.34.linear_attn.in_proj_a",
253
+ "model.language_model.layers.34.linear_attn.in_proj_b",
254
+ "model.language_model.layers.34.mlp.gate",
255
+ "model.language_model.layers.34.mlp.shared_expert_gate",
256
+ "model.language_model.layers.35.mlp.gate",
257
+ "model.language_model.layers.35.mlp.shared_expert_gate",
258
+ "model.language_model.layers.36.linear_attn.conv1d",
259
+ "model.language_model.layers.36.linear_attn.in_proj_a",
260
+ "model.language_model.layers.36.linear_attn.in_proj_b",
261
+ "model.language_model.layers.36.mlp.gate",
262
+ "model.language_model.layers.36.mlp.shared_expert_gate",
263
+ "model.language_model.layers.37.linear_attn.conv1d",
264
+ "model.language_model.layers.37.linear_attn.in_proj_a",
265
+ "model.language_model.layers.37.linear_attn.in_proj_b",
266
+ "model.language_model.layers.37.mlp.gate",
267
+ "model.language_model.layers.37.mlp.shared_expert_gate",
268
+ "model.language_model.layers.38.linear_attn.conv1d",
269
+ "model.language_model.layers.38.linear_attn.in_proj_a",
270
+ "model.language_model.layers.38.linear_attn.in_proj_b",
271
+ "model.language_model.layers.38.mlp.gate",
272
+ "model.language_model.layers.38.mlp.shared_expert_gate",
273
+ "model.language_model.layers.39.mlp.gate",
274
+ "model.language_model.layers.39.mlp.shared_expert_gate",
275
+ "model.language_model.layers.4.linear_attn.conv1d",
276
+ "model.language_model.layers.4.linear_attn.in_proj_a",
277
+ "model.language_model.layers.4.linear_attn.in_proj_b",
278
+ "model.language_model.layers.4.mlp.gate",
279
+ "model.language_model.layers.4.mlp.shared_expert_gate",
280
+ "model.language_model.layers.5.linear_attn.conv1d",
281
+ "model.language_model.layers.5.linear_attn.in_proj_a",
282
+ "model.language_model.layers.5.linear_attn.in_proj_b",
283
+ "model.language_model.layers.5.mlp.gate",
284
+ "model.language_model.layers.5.mlp.shared_expert_gate",
285
+ "model.language_model.layers.6.linear_attn.conv1d",
286
+ "model.language_model.layers.6.linear_attn.in_proj_a",
287
+ "model.language_model.layers.6.linear_attn.in_proj_b",
288
+ "model.language_model.layers.6.mlp.gate",
289
+ "model.language_model.layers.6.mlp.shared_expert_gate",
290
+ "model.language_model.layers.7.mlp.gate",
291
+ "model.language_model.layers.7.mlp.shared_expert_gate",
292
+ "model.language_model.layers.8.linear_attn.conv1d",
293
+ "model.language_model.layers.8.linear_attn.in_proj_a",
294
+ "model.language_model.layers.8.linear_attn.in_proj_b",
295
+ "model.language_model.layers.8.mlp.gate",
296
+ "model.language_model.layers.8.mlp.shared_expert_gate",
297
+ "model.language_model.layers.9.linear_attn.conv1d",
298
+ "model.language_model.layers.9.linear_attn.in_proj_a",
299
+ "model.language_model.layers.9.linear_attn.in_proj_b",
300
+ "model.language_model.layers.9.mlp.gate",
301
+ "model.language_model.layers.9.mlp.shared_expert_gate",
302
+ "model.visual.blocks.0.attn.proj",
303
+ "model.visual.blocks.0.attn.qkv",
304
+ "model.visual.blocks.0.mlp.linear_fc1",
305
+ "model.visual.blocks.0.mlp.linear_fc2",
306
+ "model.visual.blocks.1.attn.proj",
307
+ "model.visual.blocks.1.attn.qkv",
308
+ "model.visual.blocks.1.mlp.linear_fc1",
309
+ "model.visual.blocks.1.mlp.linear_fc2",
310
+ "model.visual.blocks.10.attn.proj",
311
+ "model.visual.blocks.10.attn.qkv",
312
+ "model.visual.blocks.10.mlp.linear_fc1",
313
+ "model.visual.blocks.10.mlp.linear_fc2",
314
+ "model.visual.blocks.11.attn.proj",
315
+ "model.visual.blocks.11.attn.qkv",
316
+ "model.visual.blocks.11.mlp.linear_fc1",
317
+ "model.visual.blocks.11.mlp.linear_fc2",
318
+ "model.visual.blocks.12.attn.proj",
319
+ "model.visual.blocks.12.attn.qkv",
320
+ "model.visual.blocks.12.mlp.linear_fc1",
321
+ "model.visual.blocks.12.mlp.linear_fc2",
322
+ "model.visual.blocks.13.attn.proj",
323
+ "model.visual.blocks.13.attn.qkv",
324
+ "model.visual.blocks.13.mlp.linear_fc1",
325
+ "model.visual.blocks.13.mlp.linear_fc2",
326
+ "model.visual.blocks.14.attn.proj",
327
+ "model.visual.blocks.14.attn.qkv",
328
+ "model.visual.blocks.14.mlp.linear_fc1",
329
+ "model.visual.blocks.14.mlp.linear_fc2",
330
+ "model.visual.blocks.15.attn.proj",
331
+ "model.visual.blocks.15.attn.qkv",
332
+ "model.visual.blocks.15.mlp.linear_fc1",
333
+ "model.visual.blocks.15.mlp.linear_fc2",
334
+ "model.visual.blocks.16.attn.proj",
335
+ "model.visual.blocks.16.attn.qkv",
336
+ "model.visual.blocks.16.mlp.linear_fc1",
337
+ "model.visual.blocks.16.mlp.linear_fc2",
338
+ "model.visual.blocks.17.attn.proj",
339
+ "model.visual.blocks.17.attn.qkv",
340
+ "model.visual.blocks.17.mlp.linear_fc1",
341
+ "model.visual.blocks.17.mlp.linear_fc2",
342
+ "model.visual.blocks.18.attn.proj",
343
+ "model.visual.blocks.18.attn.qkv",
344
+ "model.visual.blocks.18.mlp.linear_fc1",
345
+ "model.visual.blocks.18.mlp.linear_fc2",
346
+ "model.visual.blocks.19.attn.proj",
347
+ "model.visual.blocks.19.attn.qkv",
348
+ "model.visual.blocks.19.mlp.linear_fc1",
349
+ "model.visual.blocks.19.mlp.linear_fc2",
350
+ "model.visual.blocks.2.attn.proj",
351
+ "model.visual.blocks.2.attn.qkv",
352
+ "model.visual.blocks.2.mlp.linear_fc1",
353
+ "model.visual.blocks.2.mlp.linear_fc2",
354
+ "model.visual.blocks.20.attn.proj",
355
+ "model.visual.blocks.20.attn.qkv",
356
+ "model.visual.blocks.20.mlp.linear_fc1",
357
+ "model.visual.blocks.20.mlp.linear_fc2",
358
+ "model.visual.blocks.21.attn.proj",
359
+ "model.visual.blocks.21.attn.qkv",
360
+ "model.visual.blocks.21.mlp.linear_fc1",
361
+ "model.visual.blocks.21.mlp.linear_fc2",
362
+ "model.visual.blocks.22.attn.proj",
363
+ "model.visual.blocks.22.attn.qkv",
364
+ "model.visual.blocks.22.mlp.linear_fc1",
365
+ "model.visual.blocks.22.mlp.linear_fc2",
366
+ "model.visual.blocks.23.attn.proj",
367
+ "model.visual.blocks.23.attn.qkv",
368
+ "model.visual.blocks.23.mlp.linear_fc1",
369
+ "model.visual.blocks.23.mlp.linear_fc2",
370
+ "model.visual.blocks.24.attn.proj",
371
+ "model.visual.blocks.24.attn.qkv",
372
+ "model.visual.blocks.24.mlp.linear_fc1",
373
+ "model.visual.blocks.24.mlp.linear_fc2",
374
+ "model.visual.blocks.25.attn.proj",
375
+ "model.visual.blocks.25.attn.qkv",
376
+ "model.visual.blocks.25.mlp.linear_fc1",
377
+ "model.visual.blocks.25.mlp.linear_fc2",
378
+ "model.visual.blocks.26.attn.proj",
379
+ "model.visual.blocks.26.attn.qkv",
380
+ "model.visual.blocks.26.mlp.linear_fc1",
381
+ "model.visual.blocks.26.mlp.linear_fc2",
382
+ "model.visual.blocks.3.attn.proj",
383
+ "model.visual.blocks.3.attn.qkv",
384
+ "model.visual.blocks.3.mlp.linear_fc1",
385
+ "model.visual.blocks.3.mlp.linear_fc2",
386
+ "model.visual.blocks.4.attn.proj",
387
+ "model.visual.blocks.4.attn.qkv",
388
+ "model.visual.blocks.4.mlp.linear_fc1",
389
+ "model.visual.blocks.4.mlp.linear_fc2",
390
+ "model.visual.blocks.5.attn.proj",
391
+ "model.visual.blocks.5.attn.qkv",
392
+ "model.visual.blocks.5.mlp.linear_fc1",
393
+ "model.visual.blocks.5.mlp.linear_fc2",
394
+ "model.visual.blocks.6.attn.proj",
395
+ "model.visual.blocks.6.attn.qkv",
396
+ "model.visual.blocks.6.mlp.linear_fc1",
397
+ "model.visual.blocks.6.mlp.linear_fc2",
398
+ "model.visual.blocks.7.attn.proj",
399
+ "model.visual.blocks.7.attn.qkv",
400
+ "model.visual.blocks.7.mlp.linear_fc1",
401
+ "model.visual.blocks.7.mlp.linear_fc2",
402
+ "model.visual.blocks.8.attn.proj",
403
+ "model.visual.blocks.8.attn.qkv",
404
+ "model.visual.blocks.8.mlp.linear_fc1",
405
+ "model.visual.blocks.8.mlp.linear_fc2",
406
+ "model.visual.blocks.9.attn.proj",
407
+ "model.visual.blocks.9.attn.qkv",
408
+ "model.visual.blocks.9.mlp.linear_fc1",
409
+ "model.visual.blocks.9.mlp.linear_fc2",
410
+ "model.visual.merger.linear_fc1",
411
+ "model.visual.merger.linear_fc2",
412
+ "model.visual.pos_embed",
413
+ "mtp.fc",
414
+ "mtp.layers.0.mlp.gate",
415
+ "mtp.layers.0.mlp.shared_expert_gate"
416
+ ]
417
+ }
418
+ }
generation_config.json ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token_id": 248044,
3
+ "do_sample": true,
4
+ "eos_token_id": [
5
+ 248046,
6
+ 248044
7
+ ],
8
+ "pad_token_id": 248044,
9
+ "temperature": 0.7,
10
+ "top_p": 1.0,
11
+ "transformers_version": "5.9.0",
12
+ "trust_remote_code": false
13
+ }
model-mtp.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bd9ad079d32658984dba393fac0049804134f6a489a541bbbca189a712d2dac7
3
+ size 853957888
model.safetensors-00001-of-00014.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c01a8aabb2c9428167a6d23f94be155ef2b6087d458d3f6a458868fd5d2d7108
3
+ size 2685721584
model.safetensors-00002-of-00014.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cd66707b8f6903e19236ab6e76e617ed3f96269a199a9bf07d02865625dcef59
3
+ size 2685719536
model.safetensors-00003-of-00014.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5d4ad85ea0c99101200cf0e33012108a46eefd4298d3d0c43b1aa7729101db26
3
+ size 2685719536
model.safetensors-00004-of-00014.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f45e7ffe0cf1159b19d57f1e765f5a904b595dcd8c82d9efb1f79981fcc5f4f5
3
+ size 2685720560
model.safetensors-00005-of-00014.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:049599de30f6f496154a4472a268b5b71041824734642eb6e3fd20bf65afae4a
3
+ size 2685721584
model.safetensors-00006-of-00014.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:487a1b65d4fe86a98a903d7867c7ff2a3698bab496057650d2bc9da6f28ab161
3
+ size 2685720560
model.safetensors-00007-of-00014.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b37e657fc17ff4f9856d5d5874ee84f5cfd4ead3cfd3dc14f1490c9d2c1216b7
3
+ size 2685719536
model.safetensors-00008-of-00014.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ec45db7e97cdfc06a2cadc70a3f6781b7fe2af1f1d852ad476d4a5aa13660a5e
3
+ size 2685719536
model.safetensors-00009-of-00014.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:35e88db748bd8e9c9ca7b70d97e69512113e46a4d57465cb8224d79e4a74bb5d
3
+ size 3645674096
model.safetensors-00010-of-00014.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e41e820ca17ec0fb7d5e9999a9cfdb17cabc656203b7280c0f27ce2239535f7d
3
+ size 2685724656
model.safetensors-00011-of-00014.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d188fd7c7a902a6a5894c3d6b24832a1de44e4f526a5b607f0cc3422b497bbef
3
+ size 2685726704
model.safetensors-00012-of-00014.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5ee3bc0d7e15e834216e7892159bf0b06cfffff333222c692738d2f17f26bb7f
3
+ size 2685725168
model.safetensors-00013-of-00014.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ac2253e48d3032029e0521167c41a569828b208eca24dfb7b7a9eaa97a3a922f
3
+ size 2969566864
model.safetensors-00014-of-00014.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3fa69cdf2fb0cc23790c99b803c6660084e7eddb73fce538244dd6d8abb928ab
3
+ size 455742024
model.safetensors.index.json ADDED
The diff for this file is too large to render. See raw diff
 
preprocessor_config.json ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "do_convert_rgb": true,
3
+ "do_normalize": true,
4
+ "do_rescale": true,
5
+ "do_resize": true,
6
+ "image_mean": [
7
+ 0.5,
8
+ 0.5,
9
+ 0.5
10
+ ],
11
+ "image_processor_type": "Qwen2VLImageProcessor",
12
+ "image_std": [
13
+ 0.5,
14
+ 0.5,
15
+ 0.5
16
+ ],
17
+ "merge_size": 2,
18
+ "patch_size": 16,
19
+ "resample": 3,
20
+ "rescale_factor": 0.00392156862745098,
21
+ "size": {
22
+ "longest_edge": 16777216,
23
+ "shortest_edge": 65536
24
+ },
25
+ "temporal_patch_size": 2
26
+ }
tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:06b9509352d2af50381ab2247e083b80d32d5c0aba91c272ca9ff729b6a0e523
3
+ size 19989325
tokenizer_config.json ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_prefix_space": false,
3
+ "audio_bos_token": "<|audio_start|>",
4
+ "audio_eos_token": "<|audio_end|>",
5
+ "audio_token": "<|audio_pad|>",
6
+ "backend": "tokenizers",
7
+ "bos_token": null,
8
+ "clean_up_tokenization_spaces": false,
9
+ "eos_token": "<|im_end|>",
10
+ "errors": "replace",
11
+ "image_token": "<|image_pad|>",
12
+ "is_local": true,
13
+ "local_files_only": false,
14
+ "model_max_length": 262144,
15
+ "model_specific_special_tokens": {
16
+ "audio_bos_token": "<|audio_start|>",
17
+ "audio_eos_token": "<|audio_end|>",
18
+ "audio_token": "<|audio_pad|>",
19
+ "image_token": "<|image_pad|>",
20
+ "video_token": "<|video_pad|>",
21
+ "vision_bos_token": "<|vision_start|>",
22
+ "vision_eos_token": "<|vision_end|>"
23
+ },
24
+ "pad_token": "<|endoftext|>",
25
+ "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+",
26
+ "split_special_tokens": false,
27
+ "tokenizer_class": "Qwen2Tokenizer",
28
+ "unk_token": null,
29
+ "video_token": "<|video_pad|>",
30
+ "vision_bos_token": "<|vision_start|>",
31
+ "vision_eos_token": "<|vision_end|>",
32
+ "processor_class": "Qwen3VLProcessor"
33
+ }