greyAll commited on
Commit
31eb43c
·
verified ·
1 Parent(s): 7534e23

Upload folder using huggingface_hub

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 +30 -0
  2. README.md +57 -0
  3. checkpoint-1008/README.md +209 -0
  4. checkpoint-1008/adapter_config.json +54 -0
  5. checkpoint-1008/adapter_model.safetensors +3 -0
  6. checkpoint-1008/chat_template.jinja +192 -0
  7. checkpoint-1008/tokenizer.json +3 -0
  8. checkpoint-1008/tokenizer_config.json +33 -0
  9. checkpoint-1008/trainer_state.json +0 -0
  10. checkpoint-1008/training_args.bin +3 -0
  11. checkpoint-1050/README.md +209 -0
  12. checkpoint-1050/adapter_config.json +54 -0
  13. checkpoint-1050/adapter_model.safetensors +3 -0
  14. checkpoint-1050/chat_template.jinja +192 -0
  15. checkpoint-1050/tokenizer.json +3 -0
  16. checkpoint-1050/tokenizer_config.json +33 -0
  17. checkpoint-1050/trainer_state.json +0 -0
  18. checkpoint-1050/training_args.bin +3 -0
  19. checkpoint-1092/README.md +209 -0
  20. checkpoint-1092/adapter_config.json +54 -0
  21. checkpoint-1092/adapter_model.safetensors +3 -0
  22. checkpoint-1092/chat_template.jinja +192 -0
  23. checkpoint-1092/tokenizer.json +3 -0
  24. checkpoint-1092/tokenizer_config.json +33 -0
  25. checkpoint-1092/trainer_state.json +0 -0
  26. checkpoint-1092/training_args.bin +3 -0
  27. checkpoint-1134/README.md +209 -0
  28. checkpoint-1134/adapter_config.json +54 -0
  29. checkpoint-1134/adapter_model.safetensors +3 -0
  30. checkpoint-1134/chat_template.jinja +192 -0
  31. checkpoint-1134/tokenizer.json +3 -0
  32. checkpoint-1134/tokenizer_config.json +33 -0
  33. checkpoint-1134/trainer_state.json +0 -0
  34. checkpoint-1134/training_args.bin +3 -0
  35. checkpoint-1176/README.md +209 -0
  36. checkpoint-1176/adapter_config.json +54 -0
  37. checkpoint-1176/adapter_model.safetensors +3 -0
  38. checkpoint-1176/chat_template.jinja +192 -0
  39. checkpoint-1176/tokenizer.json +3 -0
  40. checkpoint-1176/tokenizer_config.json +33 -0
  41. checkpoint-1176/trainer_state.json +0 -0
  42. checkpoint-1176/training_args.bin +3 -0
  43. checkpoint-1218/README.md +209 -0
  44. checkpoint-1218/adapter_config.json +54 -0
  45. checkpoint-1218/adapter_model.safetensors +3 -0
  46. checkpoint-1218/chat_template.jinja +192 -0
  47. checkpoint-1218/tokenizer.json +3 -0
  48. checkpoint-1218/tokenizer_config.json +33 -0
  49. checkpoint-1218/trainer_state.json +0 -0
  50. checkpoint-1218/training_args.bin +3 -0
.gitattributes CHANGED
@@ -33,3 +33,33 @@ 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
+ checkpoint-1008/tokenizer.json filter=lfs diff=lfs merge=lfs -text
37
+ checkpoint-1050/tokenizer.json filter=lfs diff=lfs merge=lfs -text
38
+ checkpoint-1092/tokenizer.json filter=lfs diff=lfs merge=lfs -text
39
+ checkpoint-1134/tokenizer.json filter=lfs diff=lfs merge=lfs -text
40
+ checkpoint-1176/tokenizer.json filter=lfs diff=lfs merge=lfs -text
41
+ checkpoint-1218/tokenizer.json filter=lfs diff=lfs merge=lfs -text
42
+ checkpoint-126/tokenizer.json filter=lfs diff=lfs merge=lfs -text
43
+ checkpoint-1260/tokenizer.json filter=lfs diff=lfs merge=lfs -text
44
+ checkpoint-168/tokenizer.json filter=lfs diff=lfs merge=lfs -text
45
+ checkpoint-210/tokenizer.json filter=lfs diff=lfs merge=lfs -text
46
+ checkpoint-252/tokenizer.json filter=lfs diff=lfs merge=lfs -text
47
+ checkpoint-294/tokenizer.json filter=lfs diff=lfs merge=lfs -text
48
+ checkpoint-336/tokenizer.json filter=lfs diff=lfs merge=lfs -text
49
+ checkpoint-378/tokenizer.json filter=lfs diff=lfs merge=lfs -text
50
+ checkpoint-42/tokenizer.json filter=lfs diff=lfs merge=lfs -text
51
+ checkpoint-420/tokenizer.json filter=lfs diff=lfs merge=lfs -text
52
+ checkpoint-462/tokenizer.json filter=lfs diff=lfs merge=lfs -text
53
+ checkpoint-504/tokenizer.json filter=lfs diff=lfs merge=lfs -text
54
+ checkpoint-546/tokenizer.json filter=lfs diff=lfs merge=lfs -text
55
+ checkpoint-588/tokenizer.json filter=lfs diff=lfs merge=lfs -text
56
+ checkpoint-630/tokenizer.json filter=lfs diff=lfs merge=lfs -text
57
+ checkpoint-672/tokenizer.json filter=lfs diff=lfs merge=lfs -text
58
+ checkpoint-714/tokenizer.json filter=lfs diff=lfs merge=lfs -text
59
+ checkpoint-756/tokenizer.json filter=lfs diff=lfs merge=lfs -text
60
+ checkpoint-798/tokenizer.json filter=lfs diff=lfs merge=lfs -text
61
+ checkpoint-84/tokenizer.json filter=lfs diff=lfs merge=lfs -text
62
+ checkpoint-840/tokenizer.json filter=lfs diff=lfs merge=lfs -text
63
+ checkpoint-882/tokenizer.json filter=lfs diff=lfs merge=lfs -text
64
+ checkpoint-924/tokenizer.json filter=lfs diff=lfs merge=lfs -text
65
+ checkpoint-966/tokenizer.json filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ library_name: transformers
3
+ model_name: tuning_nav
4
+ tags:
5
+ - generated_from_trainer
6
+ - trl
7
+ - sft
8
+ licence: license
9
+ ---
10
+
11
+ # Model Card for tuning_nav
12
+
13
+ This model is a fine-tuned version of [None](https://huggingface.co/None).
14
+ It has been trained using [TRL](https://github.com/huggingface/trl).
15
+
16
+ ## Quick start
17
+
18
+ ```python
19
+ from transformers import pipeline
20
+
21
+ question = "If you had a time machine, but could only go to the past or the future once and never return, which would you choose and why?"
22
+ generator = pipeline("text-generation", model="None", device="cuda")
23
+ output = generator([{"role": "user", "content": question}], max_new_tokens=128, return_full_text=False)[0]
24
+ print(output["generated_text"])
25
+ ```
26
+
27
+ ## Training procedure
28
+
29
+
30
+
31
+
32
+
33
+ This model was trained with SFT.
34
+
35
+ ### Framework versions
36
+
37
+ - TRL: 1.7.0
38
+ - Transformers: 5.12.1
39
+ - Pytorch: 2.12.1+cu130
40
+ - Datasets: 5.0.0
41
+ - Tokenizers: 0.22.2
42
+
43
+ ## Citations
44
+
45
+
46
+
47
+ Cite TRL as:
48
+
49
+ ```bibtex
50
+ @software{vonwerra2020trl,
51
+ title = {{TRL: Transformers Reinforcement Learning}},
52
+ author = {von Werra, Leandro and Belkada, Younes and Tunstall, Lewis and Beeching, Edward and Thrush, Tristan and Lambert, Nathan and Huang, Shengyi and Rasul, Kashif and Gallouédec, Quentin},
53
+ license = {Apache-2.0},
54
+ url = {https://github.com/huggingface/trl},
55
+ year = {2020}
56
+ }
57
+ ```
checkpoint-1008/README.md ADDED
@@ -0,0 +1,209 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ base_model: ./model
3
+ library_name: peft
4
+ pipeline_tag: text-generation
5
+ tags:
6
+ - base_model:adapter:./model
7
+ - lora
8
+ - sft
9
+ - transformers
10
+ - trl
11
+ ---
12
+
13
+ # Model Card for Model ID
14
+
15
+ <!-- Provide a quick summary of what the model is/does. -->
16
+
17
+
18
+
19
+ ## Model Details
20
+
21
+ ### Model Description
22
+
23
+ <!-- Provide a longer summary of what this model is. -->
24
+
25
+
26
+
27
+ - **Developed by:** [More Information Needed]
28
+ - **Funded by [optional]:** [More Information Needed]
29
+ - **Shared by [optional]:** [More Information Needed]
30
+ - **Model type:** [More Information Needed]
31
+ - **Language(s) (NLP):** [More Information Needed]
32
+ - **License:** [More Information Needed]
33
+ - **Finetuned from model [optional]:** [More Information Needed]
34
+
35
+ ### Model Sources [optional]
36
+
37
+ <!-- Provide the basic links for the model. -->
38
+
39
+ - **Repository:** [More Information Needed]
40
+ - **Paper [optional]:** [More Information Needed]
41
+ - **Demo [optional]:** [More Information Needed]
42
+
43
+ ## Uses
44
+
45
+ <!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
46
+
47
+ ### Direct Use
48
+
49
+ <!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
50
+
51
+ [More Information Needed]
52
+
53
+ ### Downstream Use [optional]
54
+
55
+ <!-- This section is for the model use when fine-tuned for a task, or when plugged into a larger ecosystem/app -->
56
+
57
+ [More Information Needed]
58
+
59
+ ### Out-of-Scope Use
60
+
61
+ <!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->
62
+
63
+ [More Information Needed]
64
+
65
+ ## Bias, Risks, and Limitations
66
+
67
+ <!-- This section is meant to convey both technical and sociotechnical limitations. -->
68
+
69
+ [More Information Needed]
70
+
71
+ ### Recommendations
72
+
73
+ <!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. -->
74
+
75
+ Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.
76
+
77
+ ## How to Get Started with the Model
78
+
79
+ Use the code below to get started with the model.
80
+
81
+ [More Information Needed]
82
+
83
+ ## Training Details
84
+
85
+ ### Training Data
86
+
87
+ <!-- This should link to a Dataset Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
88
+
89
+ [More Information Needed]
90
+
91
+ ### Training Procedure
92
+
93
+ <!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->
94
+
95
+ #### Preprocessing [optional]
96
+
97
+ [More Information Needed]
98
+
99
+
100
+ #### Training Hyperparameters
101
+
102
+ - **Training regime:** [More Information Needed] <!--fp32, fp16 mixed precision, bf16 mixed precision, bf16 non-mixed precision, fp16 non-mixed precision, fp8 mixed precision -->
103
+
104
+ #### Speeds, Sizes, Times [optional]
105
+
106
+ <!-- This section provides information about throughput, start/end time, checkpoint size if relevant, etc. -->
107
+
108
+ [More Information Needed]
109
+
110
+ ## Evaluation
111
+
112
+ <!-- This section describes the evaluation protocols and provides the results. -->
113
+
114
+ ### Testing Data, Factors & Metrics
115
+
116
+ #### Testing Data
117
+
118
+ <!-- This should link to a Dataset Card if possible. -->
119
+
120
+ [More Information Needed]
121
+
122
+ #### Factors
123
+
124
+ <!-- These are the things the evaluation is disaggregating by, e.g., subpopulations or domains. -->
125
+
126
+ [More Information Needed]
127
+
128
+ #### Metrics
129
+
130
+ <!-- These are the evaluation metrics being used, ideally with a description of why. -->
131
+
132
+ [More Information Needed]
133
+
134
+ ### Results
135
+
136
+ [More Information Needed]
137
+
138
+ #### Summary
139
+
140
+
141
+
142
+ ## Model Examination [optional]
143
+
144
+ <!-- Relevant interpretability work for the model goes here -->
145
+
146
+ [More Information Needed]
147
+
148
+ ## Environmental Impact
149
+
150
+ <!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly -->
151
+
152
+ Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700).
153
+
154
+ - **Hardware Type:** [More Information Needed]
155
+ - **Hours used:** [More Information Needed]
156
+ - **Cloud Provider:** [More Information Needed]
157
+ - **Compute Region:** [More Information Needed]
158
+ - **Carbon Emitted:** [More Information Needed]
159
+
160
+ ## Technical Specifications [optional]
161
+
162
+ ### Model Architecture and Objective
163
+
164
+ [More Information Needed]
165
+
166
+ ### Compute Infrastructure
167
+
168
+ [More Information Needed]
169
+
170
+ #### Hardware
171
+
172
+ [More Information Needed]
173
+
174
+ #### Software
175
+
176
+ [More Information Needed]
177
+
178
+ ## Citation [optional]
179
+
180
+ <!-- If there is a paper or blog post introducing the model, the APA and Bibtex information for that should go in this section. -->
181
+
182
+ **BibTeX:**
183
+
184
+ [More Information Needed]
185
+
186
+ **APA:**
187
+
188
+ [More Information Needed]
189
+
190
+ ## Glossary [optional]
191
+
192
+ <!-- If relevant, include terms and calculations in this section that can help readers understand the model or model card. -->
193
+
194
+ [More Information Needed]
195
+
196
+ ## More Information [optional]
197
+
198
+ [More Information Needed]
199
+
200
+ ## Model Card Authors [optional]
201
+
202
+ [More Information Needed]
203
+
204
+ ## Model Card Contact
205
+
206
+ [More Information Needed]
207
+ ### Framework versions
208
+
209
+ - PEFT 0.19.1
checkpoint-1008/adapter_config.json ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "alora_invocation_tokens": null,
3
+ "alpha_pattern": {},
4
+ "arrow_config": null,
5
+ "auto_mapping": null,
6
+ "base_model_name_or_path": "./model",
7
+ "bias": "none",
8
+ "corda_config": null,
9
+ "ensure_weight_tying": false,
10
+ "eva_config": null,
11
+ "exclude_modules": null,
12
+ "fan_in_fan_out": false,
13
+ "inference_mode": true,
14
+ "init_lora_weights": "gaussian",
15
+ "layer_replication": null,
16
+ "layers_pattern": null,
17
+ "layers_to_transform": null,
18
+ "loftq_config": {},
19
+ "lora_alpha": 1280,
20
+ "lora_bias": false,
21
+ "lora_dropout": 0.1,
22
+ "lora_ga_config": null,
23
+ "megatron_config": null,
24
+ "megatron_core": "megatron.core",
25
+ "modules_to_save": null,
26
+ "peft_type": "LORA",
27
+ "peft_version": "0.19.1",
28
+ "qalora_group_size": 16,
29
+ "r": 128,
30
+ "rank_pattern": {},
31
+ "revision": null,
32
+ "target_modules": [
33
+ "up_proj",
34
+ "q_proj",
35
+ "in_proj_a",
36
+ "k_proj",
37
+ "shared_expert_gate",
38
+ "o_proj",
39
+ "in_proj_z",
40
+ "v_proj",
41
+ "in_proj_b",
42
+ "down_proj",
43
+ "out_proj",
44
+ "gate_proj",
45
+ "in_proj_qkv"
46
+ ],
47
+ "target_parameters": null,
48
+ "task_type": "CAUSAL_LM",
49
+ "trainable_token_indices": null,
50
+ "use_bdlora": null,
51
+ "use_dora": false,
52
+ "use_qalora": false,
53
+ "use_rslora": false
54
+ }
checkpoint-1008/adapter_model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0d5da2f25a82239a2d997186cff033fa3b7fd42f6ebc34a38b4d2a6d782d8040
3
+ size 719378472
checkpoint-1008/chat_template.jinja ADDED
@@ -0,0 +1,192 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {%- set image_count = namespace(value=0) %}
2
+ {%- set video_count = namespace(value=0) %}
3
+ {% set preserve_thinking = true %}
4
+ {%- macro render_content(content, do_vision_count, is_system_content=false) %}
5
+ {%- if content is string %}
6
+ {{- content }}
7
+ {%- elif content is iterable and content is not mapping %}
8
+ {%- for item in content %}
9
+ {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
10
+ {%- if is_system_content %}
11
+ {{- raise_exception('System message cannot contain images.') }}
12
+ {%- endif %}
13
+ {%- if do_vision_count %}
14
+ {%- set image_count.value = image_count.value + 1 %}
15
+ {%- endif %}
16
+ {%- if add_vision_id %}
17
+ {{- 'Picture ' ~ image_count.value ~ ': ' }}
18
+ {%- endif %}
19
+ {{- '<|vision_start|><|image_pad|><|vision_end|>' }}
20
+ {%- elif 'video' in item or item.type == 'video' %}
21
+ {%- if is_system_content %}
22
+ {{- raise_exception('System message cannot contain videos.') }}
23
+ {%- endif %}
24
+ {%- if do_vision_count %}
25
+ {%- set video_count.value = video_count.value + 1 %}
26
+ {%- endif %}
27
+ {%- if add_vision_id %}
28
+ {{- 'Video ' ~ video_count.value ~ ': ' }}
29
+ {%- endif %}
30
+ {{- '<|vision_start|><|video_pad|><|vision_end|>' }}
31
+ {%- elif 'text' in item %}
32
+ {{- item.text }}
33
+ {%- else %}
34
+ {{- raise_exception('Unexpected item type in content.') }}
35
+ {%- endif %}
36
+ {%- endfor %}
37
+ {%- elif content is none or content is undefined %}
38
+ {{- '' }}
39
+ {%- else %}
40
+ {{- raise_exception('Unexpected content type.') }}
41
+ {%- endif %}
42
+ {%- endmacro %}
43
+ {%- if not messages %}
44
+ {{- raise_exception('No messages provided.') }}
45
+ {%- endif %}
46
+ {%- if tools and tools is iterable and tools is not mapping %}
47
+ {{- '<|im_start|>system\n' }}
48
+ {{- "# Tools\n\nYou have access to the following functions:\n\n<tools>" }}
49
+ {%- for tool in tools %}
50
+ {{- "\n" }}
51
+ {{- tool | tojson }}
52
+ {%- endfor %}
53
+ {{- "\n</tools>" }}
54
+ {{- '\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>' }}
55
+ {%- if messages[0].role == 'system' %}
56
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
57
+ {%- if content %}
58
+ {{- '\n\n' + content }}
59
+ {%- endif %}
60
+ {%- endif %}
61
+ {{- '<|im_end|>\n' }}
62
+ {%- else %}
63
+ {%- if messages[0].role == 'system' %}
64
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
65
+ {{- '<|im_start|>system\n' + content + '<|im_end|>\n' }}
66
+ {%- endif %}
67
+ {%- endif %}
68
+ {%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1, buffered_tool_calls=none) %}
69
+ {%- for message in messages[::-1] %}
70
+ {%- set index = (messages|length - 1) - loop.index0 %}
71
+ {%- if ns.multi_step_tool and message.role == "user" %}
72
+ {%- set content = render_content(message.content, false)|trim %}
73
+ {%- if not(content.startswith('<tool_response>') and content.endswith('</tool_response>')) %}
74
+ {%- set ns.multi_step_tool = false %}
75
+ {%- set ns.last_query_index = index %}
76
+ {%- endif %}
77
+ {%- endif %}
78
+ {%- endfor %}
79
+ {%- if ns.multi_step_tool %}
80
+ {{- raise_exception('No user query found in messages.') }}
81
+ {%- endif %}
82
+ {%- for message in messages %}
83
+ {%- set content = render_content(message.content, true)|trim %}
84
+ {%- set prev_is_assistant = (loop.index0 > 0 and messages[loop.index0 - 1].role == "assistant") %}
85
+ {%- set next_is_assistant = (not loop.last and messages[loop.index0 + 1].role == "assistant") %}
86
+ {%- if message.role == "system" %}
87
+ {%- if not loop.first %}
88
+ {{- raise_exception('System message must be at the beginning.') }}
89
+ {%- endif %}
90
+ {%- elif message.role == "developer" %}
91
+ {# skip developer messages #}
92
+ {%- elif message.role == "user" %}
93
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
94
+ {%- elif message.role == "assistant" %}
95
+ {%- set reasoning_content = '' %}
96
+ {%- if message.reasoning_content is string %}
97
+ {%- set reasoning_content = message.reasoning_content %}
98
+ {%- else %}
99
+ {%- if '</think>' in content %}
100
+ {%- set reasoning_content = content.split('</think>')[0].rstrip('\n').split('<think>')[-1].lstrip('\n') %}
101
+ {%- set content = content.split('</think>')[-1].lstrip('\n') %}
102
+ {%- endif %}
103
+ {%- endif %}
104
+ {%- set reasoning_content = reasoning_content|trim %}
105
+ {%- generation -%}
106
+ {%- if not prev_is_assistant %}
107
+ {%- if (preserve_thinking is defined and preserve_thinking is true) or (loop.index0 > ns.last_query_index) %}
108
+ {{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content + '\n</think>\n\n' + content }}
109
+ {%- else %}
110
+ {{- '<|im_start|>' + message.role + '\n' + content }}
111
+ {%- endif %}
112
+ {%- else %}
113
+ {{- content }}
114
+ {%- if ns.buffered_tool_calls %}
115
+ {%- for tool_call in ns.buffered_tool_calls %}
116
+ {%- if tool_call.function is defined %}
117
+ {%- set tool_call = tool_call.function %}
118
+ {%- endif %}
119
+ {%- if loop.first %}
120
+ {%- if content|trim %}
121
+ {{- '\n\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
122
+ {%- else %}
123
+ {{- '<tool_call>\n<function=' + tool_call.name + '>\n' }}
124
+ {%- endif %}
125
+ {%- else %}
126
+ {{- '\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
127
+ {%- endif %}
128
+ {%- if tool_call.arguments is defined %}
129
+ {%- for args_name, args_value in tool_call.arguments|items %}
130
+ {{- '<parameter=' + args_name + '>\n' }}
131
+ {%- set args_value = args_value | string if args_value is string else args_value | tojson | safe %}
132
+ {{- args_value }}
133
+ {{- '\n</parameter>\n' }}
134
+ {%- endfor %}
135
+ {%- endif %}
136
+ {{- '</function>\n</tool_call>' }}
137
+ {%- endfor %}
138
+ {%- set ns.buffered_tool_calls = none %}
139
+ {%- endif %}
140
+ {%- endif %}
141
+ {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
142
+ {%- if next_is_assistant %}
143
+ {%- set ns.buffered_tool_calls = message.tool_calls %}
144
+ {%- else %}
145
+ {%- for tool_call in message.tool_calls %}
146
+ {%- if tool_call.function is defined %}
147
+ {%- set tool_call = tool_call.function %}
148
+ {%- endif %}
149
+ {%- if loop.first %}
150
+ {%- if content|trim %}
151
+ {{- '\n\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
152
+ {%- else %}
153
+ {{- '<tool_call>\n<function=' + tool_call.name + '>\n' }}
154
+ {%- endif %}
155
+ {%- else %}
156
+ {{- '\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
157
+ {%- endif %}
158
+ {%- if tool_call.arguments is defined %}
159
+ {%- for args_name, args_value in tool_call.arguments|items %}
160
+ {{- '<parameter=' + args_name + '>\n' }}
161
+ {%- set args_value = args_value | string if args_value is string else args_value | tojson | safe %}
162
+ {{- args_value }}
163
+ {{- '\n</parameter>\n' }}
164
+ {%- endfor %}
165
+ {%- endif %}
166
+ {{- '</function>\n</tool_call>' }}
167
+ {%- endfor %}
168
+ {%- endif %}
169
+ {%- endif %}
170
+ {%- if not next_is_assistant %}
171
+ {{- '<|im_end|>\n' }}
172
+ {%- endif %}
173
+ {%- endgeneration -%}
174
+ {%- elif message.role == "tool" %}
175
+ {%- if loop.previtem and loop.previtem.role != "tool" %}
176
+ {{- '<|im_start|>user' }}
177
+ {%- endif %}
178
+ {{- '\n<tool_response>\n' }}
179
+ {{- content }}
180
+ {{- '\n</tool_response>' }}
181
+ {%- if not loop.last and loop.nextitem.role != "tool" %}
182
+ {{- '<|im_end|>\n' }}
183
+ {%- elif loop.last %}
184
+ {{- '<|im_end|>\n' }}
185
+ {%- endif %}
186
+ {%- else %}
187
+ {{- raise_exception('Unexpected message role.') }}
188
+ {%- endif %}
189
+ {%- endfor %}
190
+ {%- if add_generation_prompt %}
191
+ {{- '<|im_start|>assistant\n' }}
192
+ {%- endif %}
checkpoint-1008/tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:06b9509352d2af50381ab2247e083b80d32d5c0aba91c272ca9ff729b6a0e523
3
+ size 19989325
checkpoint-1008/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": "<|im_end|>",
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
+ "processor_class": "Qwen3VLProcessor",
27
+ "split_special_tokens": false,
28
+ "tokenizer_class": "Qwen2Tokenizer",
29
+ "unk_token": null,
30
+ "video_token": "<|video_pad|>",
31
+ "vision_bos_token": "<|vision_start|>",
32
+ "vision_eos_token": "<|vision_end|>"
33
+ }
checkpoint-1008/trainer_state.json ADDED
The diff for this file is too large to render. See raw diff
 
checkpoint-1008/training_args.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:19e9fa16a12cf6555ed0406bac0817ac382c1770bbf1923b22e6707402b4e500
3
+ size 5777
checkpoint-1050/README.md ADDED
@@ -0,0 +1,209 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ base_model: ./model
3
+ library_name: peft
4
+ pipeline_tag: text-generation
5
+ tags:
6
+ - base_model:adapter:./model
7
+ - lora
8
+ - sft
9
+ - transformers
10
+ - trl
11
+ ---
12
+
13
+ # Model Card for Model ID
14
+
15
+ <!-- Provide a quick summary of what the model is/does. -->
16
+
17
+
18
+
19
+ ## Model Details
20
+
21
+ ### Model Description
22
+
23
+ <!-- Provide a longer summary of what this model is. -->
24
+
25
+
26
+
27
+ - **Developed by:** [More Information Needed]
28
+ - **Funded by [optional]:** [More Information Needed]
29
+ - **Shared by [optional]:** [More Information Needed]
30
+ - **Model type:** [More Information Needed]
31
+ - **Language(s) (NLP):** [More Information Needed]
32
+ - **License:** [More Information Needed]
33
+ - **Finetuned from model [optional]:** [More Information Needed]
34
+
35
+ ### Model Sources [optional]
36
+
37
+ <!-- Provide the basic links for the model. -->
38
+
39
+ - **Repository:** [More Information Needed]
40
+ - **Paper [optional]:** [More Information Needed]
41
+ - **Demo [optional]:** [More Information Needed]
42
+
43
+ ## Uses
44
+
45
+ <!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
46
+
47
+ ### Direct Use
48
+
49
+ <!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
50
+
51
+ [More Information Needed]
52
+
53
+ ### Downstream Use [optional]
54
+
55
+ <!-- This section is for the model use when fine-tuned for a task, or when plugged into a larger ecosystem/app -->
56
+
57
+ [More Information Needed]
58
+
59
+ ### Out-of-Scope Use
60
+
61
+ <!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->
62
+
63
+ [More Information Needed]
64
+
65
+ ## Bias, Risks, and Limitations
66
+
67
+ <!-- This section is meant to convey both technical and sociotechnical limitations. -->
68
+
69
+ [More Information Needed]
70
+
71
+ ### Recommendations
72
+
73
+ <!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. -->
74
+
75
+ Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.
76
+
77
+ ## How to Get Started with the Model
78
+
79
+ Use the code below to get started with the model.
80
+
81
+ [More Information Needed]
82
+
83
+ ## Training Details
84
+
85
+ ### Training Data
86
+
87
+ <!-- This should link to a Dataset Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
88
+
89
+ [More Information Needed]
90
+
91
+ ### Training Procedure
92
+
93
+ <!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->
94
+
95
+ #### Preprocessing [optional]
96
+
97
+ [More Information Needed]
98
+
99
+
100
+ #### Training Hyperparameters
101
+
102
+ - **Training regime:** [More Information Needed] <!--fp32, fp16 mixed precision, bf16 mixed precision, bf16 non-mixed precision, fp16 non-mixed precision, fp8 mixed precision -->
103
+
104
+ #### Speeds, Sizes, Times [optional]
105
+
106
+ <!-- This section provides information about throughput, start/end time, checkpoint size if relevant, etc. -->
107
+
108
+ [More Information Needed]
109
+
110
+ ## Evaluation
111
+
112
+ <!-- This section describes the evaluation protocols and provides the results. -->
113
+
114
+ ### Testing Data, Factors & Metrics
115
+
116
+ #### Testing Data
117
+
118
+ <!-- This should link to a Dataset Card if possible. -->
119
+
120
+ [More Information Needed]
121
+
122
+ #### Factors
123
+
124
+ <!-- These are the things the evaluation is disaggregating by, e.g., subpopulations or domains. -->
125
+
126
+ [More Information Needed]
127
+
128
+ #### Metrics
129
+
130
+ <!-- These are the evaluation metrics being used, ideally with a description of why. -->
131
+
132
+ [More Information Needed]
133
+
134
+ ### Results
135
+
136
+ [More Information Needed]
137
+
138
+ #### Summary
139
+
140
+
141
+
142
+ ## Model Examination [optional]
143
+
144
+ <!-- Relevant interpretability work for the model goes here -->
145
+
146
+ [More Information Needed]
147
+
148
+ ## Environmental Impact
149
+
150
+ <!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly -->
151
+
152
+ Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700).
153
+
154
+ - **Hardware Type:** [More Information Needed]
155
+ - **Hours used:** [More Information Needed]
156
+ - **Cloud Provider:** [More Information Needed]
157
+ - **Compute Region:** [More Information Needed]
158
+ - **Carbon Emitted:** [More Information Needed]
159
+
160
+ ## Technical Specifications [optional]
161
+
162
+ ### Model Architecture and Objective
163
+
164
+ [More Information Needed]
165
+
166
+ ### Compute Infrastructure
167
+
168
+ [More Information Needed]
169
+
170
+ #### Hardware
171
+
172
+ [More Information Needed]
173
+
174
+ #### Software
175
+
176
+ [More Information Needed]
177
+
178
+ ## Citation [optional]
179
+
180
+ <!-- If there is a paper or blog post introducing the model, the APA and Bibtex information for that should go in this section. -->
181
+
182
+ **BibTeX:**
183
+
184
+ [More Information Needed]
185
+
186
+ **APA:**
187
+
188
+ [More Information Needed]
189
+
190
+ ## Glossary [optional]
191
+
192
+ <!-- If relevant, include terms and calculations in this section that can help readers understand the model or model card. -->
193
+
194
+ [More Information Needed]
195
+
196
+ ## More Information [optional]
197
+
198
+ [More Information Needed]
199
+
200
+ ## Model Card Authors [optional]
201
+
202
+ [More Information Needed]
203
+
204
+ ## Model Card Contact
205
+
206
+ [More Information Needed]
207
+ ### Framework versions
208
+
209
+ - PEFT 0.19.1
checkpoint-1050/adapter_config.json ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "alora_invocation_tokens": null,
3
+ "alpha_pattern": {},
4
+ "arrow_config": null,
5
+ "auto_mapping": null,
6
+ "base_model_name_or_path": "./model",
7
+ "bias": "none",
8
+ "corda_config": null,
9
+ "ensure_weight_tying": false,
10
+ "eva_config": null,
11
+ "exclude_modules": null,
12
+ "fan_in_fan_out": false,
13
+ "inference_mode": true,
14
+ "init_lora_weights": "gaussian",
15
+ "layer_replication": null,
16
+ "layers_pattern": null,
17
+ "layers_to_transform": null,
18
+ "loftq_config": {},
19
+ "lora_alpha": 1280,
20
+ "lora_bias": false,
21
+ "lora_dropout": 0.1,
22
+ "lora_ga_config": null,
23
+ "megatron_config": null,
24
+ "megatron_core": "megatron.core",
25
+ "modules_to_save": null,
26
+ "peft_type": "LORA",
27
+ "peft_version": "0.19.1",
28
+ "qalora_group_size": 16,
29
+ "r": 128,
30
+ "rank_pattern": {},
31
+ "revision": null,
32
+ "target_modules": [
33
+ "up_proj",
34
+ "q_proj",
35
+ "in_proj_a",
36
+ "k_proj",
37
+ "shared_expert_gate",
38
+ "o_proj",
39
+ "in_proj_z",
40
+ "v_proj",
41
+ "in_proj_b",
42
+ "down_proj",
43
+ "out_proj",
44
+ "gate_proj",
45
+ "in_proj_qkv"
46
+ ],
47
+ "target_parameters": null,
48
+ "task_type": "CAUSAL_LM",
49
+ "trainable_token_indices": null,
50
+ "use_bdlora": null,
51
+ "use_dora": false,
52
+ "use_qalora": false,
53
+ "use_rslora": false
54
+ }
checkpoint-1050/adapter_model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:efb46baff75328fb92c92440837d3e381ac92a669202a5a1b338fb75e21ca0c8
3
+ size 719378472
checkpoint-1050/chat_template.jinja ADDED
@@ -0,0 +1,192 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {%- set image_count = namespace(value=0) %}
2
+ {%- set video_count = namespace(value=0) %}
3
+ {% set preserve_thinking = true %}
4
+ {%- macro render_content(content, do_vision_count, is_system_content=false) %}
5
+ {%- if content is string %}
6
+ {{- content }}
7
+ {%- elif content is iterable and content is not mapping %}
8
+ {%- for item in content %}
9
+ {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
10
+ {%- if is_system_content %}
11
+ {{- raise_exception('System message cannot contain images.') }}
12
+ {%- endif %}
13
+ {%- if do_vision_count %}
14
+ {%- set image_count.value = image_count.value + 1 %}
15
+ {%- endif %}
16
+ {%- if add_vision_id %}
17
+ {{- 'Picture ' ~ image_count.value ~ ': ' }}
18
+ {%- endif %}
19
+ {{- '<|vision_start|><|image_pad|><|vision_end|>' }}
20
+ {%- elif 'video' in item or item.type == 'video' %}
21
+ {%- if is_system_content %}
22
+ {{- raise_exception('System message cannot contain videos.') }}
23
+ {%- endif %}
24
+ {%- if do_vision_count %}
25
+ {%- set video_count.value = video_count.value + 1 %}
26
+ {%- endif %}
27
+ {%- if add_vision_id %}
28
+ {{- 'Video ' ~ video_count.value ~ ': ' }}
29
+ {%- endif %}
30
+ {{- '<|vision_start|><|video_pad|><|vision_end|>' }}
31
+ {%- elif 'text' in item %}
32
+ {{- item.text }}
33
+ {%- else %}
34
+ {{- raise_exception('Unexpected item type in content.') }}
35
+ {%- endif %}
36
+ {%- endfor %}
37
+ {%- elif content is none or content is undefined %}
38
+ {{- '' }}
39
+ {%- else %}
40
+ {{- raise_exception('Unexpected content type.') }}
41
+ {%- endif %}
42
+ {%- endmacro %}
43
+ {%- if not messages %}
44
+ {{- raise_exception('No messages provided.') }}
45
+ {%- endif %}
46
+ {%- if tools and tools is iterable and tools is not mapping %}
47
+ {{- '<|im_start|>system\n' }}
48
+ {{- "# Tools\n\nYou have access to the following functions:\n\n<tools>" }}
49
+ {%- for tool in tools %}
50
+ {{- "\n" }}
51
+ {{- tool | tojson }}
52
+ {%- endfor %}
53
+ {{- "\n</tools>" }}
54
+ {{- '\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>' }}
55
+ {%- if messages[0].role == 'system' %}
56
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
57
+ {%- if content %}
58
+ {{- '\n\n' + content }}
59
+ {%- endif %}
60
+ {%- endif %}
61
+ {{- '<|im_end|>\n' }}
62
+ {%- else %}
63
+ {%- if messages[0].role == 'system' %}
64
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
65
+ {{- '<|im_start|>system\n' + content + '<|im_end|>\n' }}
66
+ {%- endif %}
67
+ {%- endif %}
68
+ {%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1, buffered_tool_calls=none) %}
69
+ {%- for message in messages[::-1] %}
70
+ {%- set index = (messages|length - 1) - loop.index0 %}
71
+ {%- if ns.multi_step_tool and message.role == "user" %}
72
+ {%- set content = render_content(message.content, false)|trim %}
73
+ {%- if not(content.startswith('<tool_response>') and content.endswith('</tool_response>')) %}
74
+ {%- set ns.multi_step_tool = false %}
75
+ {%- set ns.last_query_index = index %}
76
+ {%- endif %}
77
+ {%- endif %}
78
+ {%- endfor %}
79
+ {%- if ns.multi_step_tool %}
80
+ {{- raise_exception('No user query found in messages.') }}
81
+ {%- endif %}
82
+ {%- for message in messages %}
83
+ {%- set content = render_content(message.content, true)|trim %}
84
+ {%- set prev_is_assistant = (loop.index0 > 0 and messages[loop.index0 - 1].role == "assistant") %}
85
+ {%- set next_is_assistant = (not loop.last and messages[loop.index0 + 1].role == "assistant") %}
86
+ {%- if message.role == "system" %}
87
+ {%- if not loop.first %}
88
+ {{- raise_exception('System message must be at the beginning.') }}
89
+ {%- endif %}
90
+ {%- elif message.role == "developer" %}
91
+ {# skip developer messages #}
92
+ {%- elif message.role == "user" %}
93
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
94
+ {%- elif message.role == "assistant" %}
95
+ {%- set reasoning_content = '' %}
96
+ {%- if message.reasoning_content is string %}
97
+ {%- set reasoning_content = message.reasoning_content %}
98
+ {%- else %}
99
+ {%- if '</think>' in content %}
100
+ {%- set reasoning_content = content.split('</think>')[0].rstrip('\n').split('<think>')[-1].lstrip('\n') %}
101
+ {%- set content = content.split('</think>')[-1].lstrip('\n') %}
102
+ {%- endif %}
103
+ {%- endif %}
104
+ {%- set reasoning_content = reasoning_content|trim %}
105
+ {%- generation -%}
106
+ {%- if not prev_is_assistant %}
107
+ {%- if (preserve_thinking is defined and preserve_thinking is true) or (loop.index0 > ns.last_query_index) %}
108
+ {{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content + '\n</think>\n\n' + content }}
109
+ {%- else %}
110
+ {{- '<|im_start|>' + message.role + '\n' + content }}
111
+ {%- endif %}
112
+ {%- else %}
113
+ {{- content }}
114
+ {%- if ns.buffered_tool_calls %}
115
+ {%- for tool_call in ns.buffered_tool_calls %}
116
+ {%- if tool_call.function is defined %}
117
+ {%- set tool_call = tool_call.function %}
118
+ {%- endif %}
119
+ {%- if loop.first %}
120
+ {%- if content|trim %}
121
+ {{- '\n\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
122
+ {%- else %}
123
+ {{- '<tool_call>\n<function=' + tool_call.name + '>\n' }}
124
+ {%- endif %}
125
+ {%- else %}
126
+ {{- '\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
127
+ {%- endif %}
128
+ {%- if tool_call.arguments is defined %}
129
+ {%- for args_name, args_value in tool_call.arguments|items %}
130
+ {{- '<parameter=' + args_name + '>\n' }}
131
+ {%- set args_value = args_value | string if args_value is string else args_value | tojson | safe %}
132
+ {{- args_value }}
133
+ {{- '\n</parameter>\n' }}
134
+ {%- endfor %}
135
+ {%- endif %}
136
+ {{- '</function>\n</tool_call>' }}
137
+ {%- endfor %}
138
+ {%- set ns.buffered_tool_calls = none %}
139
+ {%- endif %}
140
+ {%- endif %}
141
+ {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
142
+ {%- if next_is_assistant %}
143
+ {%- set ns.buffered_tool_calls = message.tool_calls %}
144
+ {%- else %}
145
+ {%- for tool_call in message.tool_calls %}
146
+ {%- if tool_call.function is defined %}
147
+ {%- set tool_call = tool_call.function %}
148
+ {%- endif %}
149
+ {%- if loop.first %}
150
+ {%- if content|trim %}
151
+ {{- '\n\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
152
+ {%- else %}
153
+ {{- '<tool_call>\n<function=' + tool_call.name + '>\n' }}
154
+ {%- endif %}
155
+ {%- else %}
156
+ {{- '\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
157
+ {%- endif %}
158
+ {%- if tool_call.arguments is defined %}
159
+ {%- for args_name, args_value in tool_call.arguments|items %}
160
+ {{- '<parameter=' + args_name + '>\n' }}
161
+ {%- set args_value = args_value | string if args_value is string else args_value | tojson | safe %}
162
+ {{- args_value }}
163
+ {{- '\n</parameter>\n' }}
164
+ {%- endfor %}
165
+ {%- endif %}
166
+ {{- '</function>\n</tool_call>' }}
167
+ {%- endfor %}
168
+ {%- endif %}
169
+ {%- endif %}
170
+ {%- if not next_is_assistant %}
171
+ {{- '<|im_end|>\n' }}
172
+ {%- endif %}
173
+ {%- endgeneration -%}
174
+ {%- elif message.role == "tool" %}
175
+ {%- if loop.previtem and loop.previtem.role != "tool" %}
176
+ {{- '<|im_start|>user' }}
177
+ {%- endif %}
178
+ {{- '\n<tool_response>\n' }}
179
+ {{- content }}
180
+ {{- '\n</tool_response>' }}
181
+ {%- if not loop.last and loop.nextitem.role != "tool" %}
182
+ {{- '<|im_end|>\n' }}
183
+ {%- elif loop.last %}
184
+ {{- '<|im_end|>\n' }}
185
+ {%- endif %}
186
+ {%- else %}
187
+ {{- raise_exception('Unexpected message role.') }}
188
+ {%- endif %}
189
+ {%- endfor %}
190
+ {%- if add_generation_prompt %}
191
+ {{- '<|im_start|>assistant\n' }}
192
+ {%- endif %}
checkpoint-1050/tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:06b9509352d2af50381ab2247e083b80d32d5c0aba91c272ca9ff729b6a0e523
3
+ size 19989325
checkpoint-1050/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": "<|im_end|>",
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
+ "processor_class": "Qwen3VLProcessor",
27
+ "split_special_tokens": false,
28
+ "tokenizer_class": "Qwen2Tokenizer",
29
+ "unk_token": null,
30
+ "video_token": "<|video_pad|>",
31
+ "vision_bos_token": "<|vision_start|>",
32
+ "vision_eos_token": "<|vision_end|>"
33
+ }
checkpoint-1050/trainer_state.json ADDED
The diff for this file is too large to render. See raw diff
 
checkpoint-1050/training_args.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:19e9fa16a12cf6555ed0406bac0817ac382c1770bbf1923b22e6707402b4e500
3
+ size 5777
checkpoint-1092/README.md ADDED
@@ -0,0 +1,209 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ base_model: ./model
3
+ library_name: peft
4
+ pipeline_tag: text-generation
5
+ tags:
6
+ - base_model:adapter:./model
7
+ - lora
8
+ - sft
9
+ - transformers
10
+ - trl
11
+ ---
12
+
13
+ # Model Card for Model ID
14
+
15
+ <!-- Provide a quick summary of what the model is/does. -->
16
+
17
+
18
+
19
+ ## Model Details
20
+
21
+ ### Model Description
22
+
23
+ <!-- Provide a longer summary of what this model is. -->
24
+
25
+
26
+
27
+ - **Developed by:** [More Information Needed]
28
+ - **Funded by [optional]:** [More Information Needed]
29
+ - **Shared by [optional]:** [More Information Needed]
30
+ - **Model type:** [More Information Needed]
31
+ - **Language(s) (NLP):** [More Information Needed]
32
+ - **License:** [More Information Needed]
33
+ - **Finetuned from model [optional]:** [More Information Needed]
34
+
35
+ ### Model Sources [optional]
36
+
37
+ <!-- Provide the basic links for the model. -->
38
+
39
+ - **Repository:** [More Information Needed]
40
+ - **Paper [optional]:** [More Information Needed]
41
+ - **Demo [optional]:** [More Information Needed]
42
+
43
+ ## Uses
44
+
45
+ <!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
46
+
47
+ ### Direct Use
48
+
49
+ <!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
50
+
51
+ [More Information Needed]
52
+
53
+ ### Downstream Use [optional]
54
+
55
+ <!-- This section is for the model use when fine-tuned for a task, or when plugged into a larger ecosystem/app -->
56
+
57
+ [More Information Needed]
58
+
59
+ ### Out-of-Scope Use
60
+
61
+ <!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->
62
+
63
+ [More Information Needed]
64
+
65
+ ## Bias, Risks, and Limitations
66
+
67
+ <!-- This section is meant to convey both technical and sociotechnical limitations. -->
68
+
69
+ [More Information Needed]
70
+
71
+ ### Recommendations
72
+
73
+ <!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. -->
74
+
75
+ Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.
76
+
77
+ ## How to Get Started with the Model
78
+
79
+ Use the code below to get started with the model.
80
+
81
+ [More Information Needed]
82
+
83
+ ## Training Details
84
+
85
+ ### Training Data
86
+
87
+ <!-- This should link to a Dataset Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
88
+
89
+ [More Information Needed]
90
+
91
+ ### Training Procedure
92
+
93
+ <!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->
94
+
95
+ #### Preprocessing [optional]
96
+
97
+ [More Information Needed]
98
+
99
+
100
+ #### Training Hyperparameters
101
+
102
+ - **Training regime:** [More Information Needed] <!--fp32, fp16 mixed precision, bf16 mixed precision, bf16 non-mixed precision, fp16 non-mixed precision, fp8 mixed precision -->
103
+
104
+ #### Speeds, Sizes, Times [optional]
105
+
106
+ <!-- This section provides information about throughput, start/end time, checkpoint size if relevant, etc. -->
107
+
108
+ [More Information Needed]
109
+
110
+ ## Evaluation
111
+
112
+ <!-- This section describes the evaluation protocols and provides the results. -->
113
+
114
+ ### Testing Data, Factors & Metrics
115
+
116
+ #### Testing Data
117
+
118
+ <!-- This should link to a Dataset Card if possible. -->
119
+
120
+ [More Information Needed]
121
+
122
+ #### Factors
123
+
124
+ <!-- These are the things the evaluation is disaggregating by, e.g., subpopulations or domains. -->
125
+
126
+ [More Information Needed]
127
+
128
+ #### Metrics
129
+
130
+ <!-- These are the evaluation metrics being used, ideally with a description of why. -->
131
+
132
+ [More Information Needed]
133
+
134
+ ### Results
135
+
136
+ [More Information Needed]
137
+
138
+ #### Summary
139
+
140
+
141
+
142
+ ## Model Examination [optional]
143
+
144
+ <!-- Relevant interpretability work for the model goes here -->
145
+
146
+ [More Information Needed]
147
+
148
+ ## Environmental Impact
149
+
150
+ <!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly -->
151
+
152
+ Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700).
153
+
154
+ - **Hardware Type:** [More Information Needed]
155
+ - **Hours used:** [More Information Needed]
156
+ - **Cloud Provider:** [More Information Needed]
157
+ - **Compute Region:** [More Information Needed]
158
+ - **Carbon Emitted:** [More Information Needed]
159
+
160
+ ## Technical Specifications [optional]
161
+
162
+ ### Model Architecture and Objective
163
+
164
+ [More Information Needed]
165
+
166
+ ### Compute Infrastructure
167
+
168
+ [More Information Needed]
169
+
170
+ #### Hardware
171
+
172
+ [More Information Needed]
173
+
174
+ #### Software
175
+
176
+ [More Information Needed]
177
+
178
+ ## Citation [optional]
179
+
180
+ <!-- If there is a paper or blog post introducing the model, the APA and Bibtex information for that should go in this section. -->
181
+
182
+ **BibTeX:**
183
+
184
+ [More Information Needed]
185
+
186
+ **APA:**
187
+
188
+ [More Information Needed]
189
+
190
+ ## Glossary [optional]
191
+
192
+ <!-- If relevant, include terms and calculations in this section that can help readers understand the model or model card. -->
193
+
194
+ [More Information Needed]
195
+
196
+ ## More Information [optional]
197
+
198
+ [More Information Needed]
199
+
200
+ ## Model Card Authors [optional]
201
+
202
+ [More Information Needed]
203
+
204
+ ## Model Card Contact
205
+
206
+ [More Information Needed]
207
+ ### Framework versions
208
+
209
+ - PEFT 0.19.1
checkpoint-1092/adapter_config.json ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "alora_invocation_tokens": null,
3
+ "alpha_pattern": {},
4
+ "arrow_config": null,
5
+ "auto_mapping": null,
6
+ "base_model_name_or_path": "./model",
7
+ "bias": "none",
8
+ "corda_config": null,
9
+ "ensure_weight_tying": false,
10
+ "eva_config": null,
11
+ "exclude_modules": null,
12
+ "fan_in_fan_out": false,
13
+ "inference_mode": true,
14
+ "init_lora_weights": "gaussian",
15
+ "layer_replication": null,
16
+ "layers_pattern": null,
17
+ "layers_to_transform": null,
18
+ "loftq_config": {},
19
+ "lora_alpha": 1280,
20
+ "lora_bias": false,
21
+ "lora_dropout": 0.1,
22
+ "lora_ga_config": null,
23
+ "megatron_config": null,
24
+ "megatron_core": "megatron.core",
25
+ "modules_to_save": null,
26
+ "peft_type": "LORA",
27
+ "peft_version": "0.19.1",
28
+ "qalora_group_size": 16,
29
+ "r": 128,
30
+ "rank_pattern": {},
31
+ "revision": null,
32
+ "target_modules": [
33
+ "up_proj",
34
+ "q_proj",
35
+ "in_proj_a",
36
+ "k_proj",
37
+ "shared_expert_gate",
38
+ "o_proj",
39
+ "in_proj_z",
40
+ "v_proj",
41
+ "in_proj_b",
42
+ "down_proj",
43
+ "out_proj",
44
+ "gate_proj",
45
+ "in_proj_qkv"
46
+ ],
47
+ "target_parameters": null,
48
+ "task_type": "CAUSAL_LM",
49
+ "trainable_token_indices": null,
50
+ "use_bdlora": null,
51
+ "use_dora": false,
52
+ "use_qalora": false,
53
+ "use_rslora": false
54
+ }
checkpoint-1092/adapter_model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e2bc0f13c5e4b3c9398fadb3f23c5fab12c076c698537326a0343945885c8c17
3
+ size 719378472
checkpoint-1092/chat_template.jinja ADDED
@@ -0,0 +1,192 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {%- set image_count = namespace(value=0) %}
2
+ {%- set video_count = namespace(value=0) %}
3
+ {% set preserve_thinking = true %}
4
+ {%- macro render_content(content, do_vision_count, is_system_content=false) %}
5
+ {%- if content is string %}
6
+ {{- content }}
7
+ {%- elif content is iterable and content is not mapping %}
8
+ {%- for item in content %}
9
+ {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
10
+ {%- if is_system_content %}
11
+ {{- raise_exception('System message cannot contain images.') }}
12
+ {%- endif %}
13
+ {%- if do_vision_count %}
14
+ {%- set image_count.value = image_count.value + 1 %}
15
+ {%- endif %}
16
+ {%- if add_vision_id %}
17
+ {{- 'Picture ' ~ image_count.value ~ ': ' }}
18
+ {%- endif %}
19
+ {{- '<|vision_start|><|image_pad|><|vision_end|>' }}
20
+ {%- elif 'video' in item or item.type == 'video' %}
21
+ {%- if is_system_content %}
22
+ {{- raise_exception('System message cannot contain videos.') }}
23
+ {%- endif %}
24
+ {%- if do_vision_count %}
25
+ {%- set video_count.value = video_count.value + 1 %}
26
+ {%- endif %}
27
+ {%- if add_vision_id %}
28
+ {{- 'Video ' ~ video_count.value ~ ': ' }}
29
+ {%- endif %}
30
+ {{- '<|vision_start|><|video_pad|><|vision_end|>' }}
31
+ {%- elif 'text' in item %}
32
+ {{- item.text }}
33
+ {%- else %}
34
+ {{- raise_exception('Unexpected item type in content.') }}
35
+ {%- endif %}
36
+ {%- endfor %}
37
+ {%- elif content is none or content is undefined %}
38
+ {{- '' }}
39
+ {%- else %}
40
+ {{- raise_exception('Unexpected content type.') }}
41
+ {%- endif %}
42
+ {%- endmacro %}
43
+ {%- if not messages %}
44
+ {{- raise_exception('No messages provided.') }}
45
+ {%- endif %}
46
+ {%- if tools and tools is iterable and tools is not mapping %}
47
+ {{- '<|im_start|>system\n' }}
48
+ {{- "# Tools\n\nYou have access to the following functions:\n\n<tools>" }}
49
+ {%- for tool in tools %}
50
+ {{- "\n" }}
51
+ {{- tool | tojson }}
52
+ {%- endfor %}
53
+ {{- "\n</tools>" }}
54
+ {{- '\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>' }}
55
+ {%- if messages[0].role == 'system' %}
56
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
57
+ {%- if content %}
58
+ {{- '\n\n' + content }}
59
+ {%- endif %}
60
+ {%- endif %}
61
+ {{- '<|im_end|>\n' }}
62
+ {%- else %}
63
+ {%- if messages[0].role == 'system' %}
64
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
65
+ {{- '<|im_start|>system\n' + content + '<|im_end|>\n' }}
66
+ {%- endif %}
67
+ {%- endif %}
68
+ {%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1, buffered_tool_calls=none) %}
69
+ {%- for message in messages[::-1] %}
70
+ {%- set index = (messages|length - 1) - loop.index0 %}
71
+ {%- if ns.multi_step_tool and message.role == "user" %}
72
+ {%- set content = render_content(message.content, false)|trim %}
73
+ {%- if not(content.startswith('<tool_response>') and content.endswith('</tool_response>')) %}
74
+ {%- set ns.multi_step_tool = false %}
75
+ {%- set ns.last_query_index = index %}
76
+ {%- endif %}
77
+ {%- endif %}
78
+ {%- endfor %}
79
+ {%- if ns.multi_step_tool %}
80
+ {{- raise_exception('No user query found in messages.') }}
81
+ {%- endif %}
82
+ {%- for message in messages %}
83
+ {%- set content = render_content(message.content, true)|trim %}
84
+ {%- set prev_is_assistant = (loop.index0 > 0 and messages[loop.index0 - 1].role == "assistant") %}
85
+ {%- set next_is_assistant = (not loop.last and messages[loop.index0 + 1].role == "assistant") %}
86
+ {%- if message.role == "system" %}
87
+ {%- if not loop.first %}
88
+ {{- raise_exception('System message must be at the beginning.') }}
89
+ {%- endif %}
90
+ {%- elif message.role == "developer" %}
91
+ {# skip developer messages #}
92
+ {%- elif message.role == "user" %}
93
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
94
+ {%- elif message.role == "assistant" %}
95
+ {%- set reasoning_content = '' %}
96
+ {%- if message.reasoning_content is string %}
97
+ {%- set reasoning_content = message.reasoning_content %}
98
+ {%- else %}
99
+ {%- if '</think>' in content %}
100
+ {%- set reasoning_content = content.split('</think>')[0].rstrip('\n').split('<think>')[-1].lstrip('\n') %}
101
+ {%- set content = content.split('</think>')[-1].lstrip('\n') %}
102
+ {%- endif %}
103
+ {%- endif %}
104
+ {%- set reasoning_content = reasoning_content|trim %}
105
+ {%- generation -%}
106
+ {%- if not prev_is_assistant %}
107
+ {%- if (preserve_thinking is defined and preserve_thinking is true) or (loop.index0 > ns.last_query_index) %}
108
+ {{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content + '\n</think>\n\n' + content }}
109
+ {%- else %}
110
+ {{- '<|im_start|>' + message.role + '\n' + content }}
111
+ {%- endif %}
112
+ {%- else %}
113
+ {{- content }}
114
+ {%- if ns.buffered_tool_calls %}
115
+ {%- for tool_call in ns.buffered_tool_calls %}
116
+ {%- if tool_call.function is defined %}
117
+ {%- set tool_call = tool_call.function %}
118
+ {%- endif %}
119
+ {%- if loop.first %}
120
+ {%- if content|trim %}
121
+ {{- '\n\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
122
+ {%- else %}
123
+ {{- '<tool_call>\n<function=' + tool_call.name + '>\n' }}
124
+ {%- endif %}
125
+ {%- else %}
126
+ {{- '\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
127
+ {%- endif %}
128
+ {%- if tool_call.arguments is defined %}
129
+ {%- for args_name, args_value in tool_call.arguments|items %}
130
+ {{- '<parameter=' + args_name + '>\n' }}
131
+ {%- set args_value = args_value | string if args_value is string else args_value | tojson | safe %}
132
+ {{- args_value }}
133
+ {{- '\n</parameter>\n' }}
134
+ {%- endfor %}
135
+ {%- endif %}
136
+ {{- '</function>\n</tool_call>' }}
137
+ {%- endfor %}
138
+ {%- set ns.buffered_tool_calls = none %}
139
+ {%- endif %}
140
+ {%- endif %}
141
+ {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
142
+ {%- if next_is_assistant %}
143
+ {%- set ns.buffered_tool_calls = message.tool_calls %}
144
+ {%- else %}
145
+ {%- for tool_call in message.tool_calls %}
146
+ {%- if tool_call.function is defined %}
147
+ {%- set tool_call = tool_call.function %}
148
+ {%- endif %}
149
+ {%- if loop.first %}
150
+ {%- if content|trim %}
151
+ {{- '\n\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
152
+ {%- else %}
153
+ {{- '<tool_call>\n<function=' + tool_call.name + '>\n' }}
154
+ {%- endif %}
155
+ {%- else %}
156
+ {{- '\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
157
+ {%- endif %}
158
+ {%- if tool_call.arguments is defined %}
159
+ {%- for args_name, args_value in tool_call.arguments|items %}
160
+ {{- '<parameter=' + args_name + '>\n' }}
161
+ {%- set args_value = args_value | string if args_value is string else args_value | tojson | safe %}
162
+ {{- args_value }}
163
+ {{- '\n</parameter>\n' }}
164
+ {%- endfor %}
165
+ {%- endif %}
166
+ {{- '</function>\n</tool_call>' }}
167
+ {%- endfor %}
168
+ {%- endif %}
169
+ {%- endif %}
170
+ {%- if not next_is_assistant %}
171
+ {{- '<|im_end|>\n' }}
172
+ {%- endif %}
173
+ {%- endgeneration -%}
174
+ {%- elif message.role == "tool" %}
175
+ {%- if loop.previtem and loop.previtem.role != "tool" %}
176
+ {{- '<|im_start|>user' }}
177
+ {%- endif %}
178
+ {{- '\n<tool_response>\n' }}
179
+ {{- content }}
180
+ {{- '\n</tool_response>' }}
181
+ {%- if not loop.last and loop.nextitem.role != "tool" %}
182
+ {{- '<|im_end|>\n' }}
183
+ {%- elif loop.last %}
184
+ {{- '<|im_end|>\n' }}
185
+ {%- endif %}
186
+ {%- else %}
187
+ {{- raise_exception('Unexpected message role.') }}
188
+ {%- endif %}
189
+ {%- endfor %}
190
+ {%- if add_generation_prompt %}
191
+ {{- '<|im_start|>assistant\n' }}
192
+ {%- endif %}
checkpoint-1092/tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:06b9509352d2af50381ab2247e083b80d32d5c0aba91c272ca9ff729b6a0e523
3
+ size 19989325
checkpoint-1092/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": "<|im_end|>",
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
+ "processor_class": "Qwen3VLProcessor",
27
+ "split_special_tokens": false,
28
+ "tokenizer_class": "Qwen2Tokenizer",
29
+ "unk_token": null,
30
+ "video_token": "<|video_pad|>",
31
+ "vision_bos_token": "<|vision_start|>",
32
+ "vision_eos_token": "<|vision_end|>"
33
+ }
checkpoint-1092/trainer_state.json ADDED
The diff for this file is too large to render. See raw diff
 
checkpoint-1092/training_args.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:19e9fa16a12cf6555ed0406bac0817ac382c1770bbf1923b22e6707402b4e500
3
+ size 5777
checkpoint-1134/README.md ADDED
@@ -0,0 +1,209 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ base_model: ./model
3
+ library_name: peft
4
+ pipeline_tag: text-generation
5
+ tags:
6
+ - base_model:adapter:./model
7
+ - lora
8
+ - sft
9
+ - transformers
10
+ - trl
11
+ ---
12
+
13
+ # Model Card for Model ID
14
+
15
+ <!-- Provide a quick summary of what the model is/does. -->
16
+
17
+
18
+
19
+ ## Model Details
20
+
21
+ ### Model Description
22
+
23
+ <!-- Provide a longer summary of what this model is. -->
24
+
25
+
26
+
27
+ - **Developed by:** [More Information Needed]
28
+ - **Funded by [optional]:** [More Information Needed]
29
+ - **Shared by [optional]:** [More Information Needed]
30
+ - **Model type:** [More Information Needed]
31
+ - **Language(s) (NLP):** [More Information Needed]
32
+ - **License:** [More Information Needed]
33
+ - **Finetuned from model [optional]:** [More Information Needed]
34
+
35
+ ### Model Sources [optional]
36
+
37
+ <!-- Provide the basic links for the model. -->
38
+
39
+ - **Repository:** [More Information Needed]
40
+ - **Paper [optional]:** [More Information Needed]
41
+ - **Demo [optional]:** [More Information Needed]
42
+
43
+ ## Uses
44
+
45
+ <!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
46
+
47
+ ### Direct Use
48
+
49
+ <!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
50
+
51
+ [More Information Needed]
52
+
53
+ ### Downstream Use [optional]
54
+
55
+ <!-- This section is for the model use when fine-tuned for a task, or when plugged into a larger ecosystem/app -->
56
+
57
+ [More Information Needed]
58
+
59
+ ### Out-of-Scope Use
60
+
61
+ <!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->
62
+
63
+ [More Information Needed]
64
+
65
+ ## Bias, Risks, and Limitations
66
+
67
+ <!-- This section is meant to convey both technical and sociotechnical limitations. -->
68
+
69
+ [More Information Needed]
70
+
71
+ ### Recommendations
72
+
73
+ <!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. -->
74
+
75
+ Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.
76
+
77
+ ## How to Get Started with the Model
78
+
79
+ Use the code below to get started with the model.
80
+
81
+ [More Information Needed]
82
+
83
+ ## Training Details
84
+
85
+ ### Training Data
86
+
87
+ <!-- This should link to a Dataset Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
88
+
89
+ [More Information Needed]
90
+
91
+ ### Training Procedure
92
+
93
+ <!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->
94
+
95
+ #### Preprocessing [optional]
96
+
97
+ [More Information Needed]
98
+
99
+
100
+ #### Training Hyperparameters
101
+
102
+ - **Training regime:** [More Information Needed] <!--fp32, fp16 mixed precision, bf16 mixed precision, bf16 non-mixed precision, fp16 non-mixed precision, fp8 mixed precision -->
103
+
104
+ #### Speeds, Sizes, Times [optional]
105
+
106
+ <!-- This section provides information about throughput, start/end time, checkpoint size if relevant, etc. -->
107
+
108
+ [More Information Needed]
109
+
110
+ ## Evaluation
111
+
112
+ <!-- This section describes the evaluation protocols and provides the results. -->
113
+
114
+ ### Testing Data, Factors & Metrics
115
+
116
+ #### Testing Data
117
+
118
+ <!-- This should link to a Dataset Card if possible. -->
119
+
120
+ [More Information Needed]
121
+
122
+ #### Factors
123
+
124
+ <!-- These are the things the evaluation is disaggregating by, e.g., subpopulations or domains. -->
125
+
126
+ [More Information Needed]
127
+
128
+ #### Metrics
129
+
130
+ <!-- These are the evaluation metrics being used, ideally with a description of why. -->
131
+
132
+ [More Information Needed]
133
+
134
+ ### Results
135
+
136
+ [More Information Needed]
137
+
138
+ #### Summary
139
+
140
+
141
+
142
+ ## Model Examination [optional]
143
+
144
+ <!-- Relevant interpretability work for the model goes here -->
145
+
146
+ [More Information Needed]
147
+
148
+ ## Environmental Impact
149
+
150
+ <!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly -->
151
+
152
+ Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700).
153
+
154
+ - **Hardware Type:** [More Information Needed]
155
+ - **Hours used:** [More Information Needed]
156
+ - **Cloud Provider:** [More Information Needed]
157
+ - **Compute Region:** [More Information Needed]
158
+ - **Carbon Emitted:** [More Information Needed]
159
+
160
+ ## Technical Specifications [optional]
161
+
162
+ ### Model Architecture and Objective
163
+
164
+ [More Information Needed]
165
+
166
+ ### Compute Infrastructure
167
+
168
+ [More Information Needed]
169
+
170
+ #### Hardware
171
+
172
+ [More Information Needed]
173
+
174
+ #### Software
175
+
176
+ [More Information Needed]
177
+
178
+ ## Citation [optional]
179
+
180
+ <!-- If there is a paper or blog post introducing the model, the APA and Bibtex information for that should go in this section. -->
181
+
182
+ **BibTeX:**
183
+
184
+ [More Information Needed]
185
+
186
+ **APA:**
187
+
188
+ [More Information Needed]
189
+
190
+ ## Glossary [optional]
191
+
192
+ <!-- If relevant, include terms and calculations in this section that can help readers understand the model or model card. -->
193
+
194
+ [More Information Needed]
195
+
196
+ ## More Information [optional]
197
+
198
+ [More Information Needed]
199
+
200
+ ## Model Card Authors [optional]
201
+
202
+ [More Information Needed]
203
+
204
+ ## Model Card Contact
205
+
206
+ [More Information Needed]
207
+ ### Framework versions
208
+
209
+ - PEFT 0.19.1
checkpoint-1134/adapter_config.json ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "alora_invocation_tokens": null,
3
+ "alpha_pattern": {},
4
+ "arrow_config": null,
5
+ "auto_mapping": null,
6
+ "base_model_name_or_path": "./model",
7
+ "bias": "none",
8
+ "corda_config": null,
9
+ "ensure_weight_tying": false,
10
+ "eva_config": null,
11
+ "exclude_modules": null,
12
+ "fan_in_fan_out": false,
13
+ "inference_mode": true,
14
+ "init_lora_weights": "gaussian",
15
+ "layer_replication": null,
16
+ "layers_pattern": null,
17
+ "layers_to_transform": null,
18
+ "loftq_config": {},
19
+ "lora_alpha": 1280,
20
+ "lora_bias": false,
21
+ "lora_dropout": 0.1,
22
+ "lora_ga_config": null,
23
+ "megatron_config": null,
24
+ "megatron_core": "megatron.core",
25
+ "modules_to_save": null,
26
+ "peft_type": "LORA",
27
+ "peft_version": "0.19.1",
28
+ "qalora_group_size": 16,
29
+ "r": 128,
30
+ "rank_pattern": {},
31
+ "revision": null,
32
+ "target_modules": [
33
+ "up_proj",
34
+ "q_proj",
35
+ "in_proj_a",
36
+ "k_proj",
37
+ "shared_expert_gate",
38
+ "o_proj",
39
+ "in_proj_z",
40
+ "v_proj",
41
+ "in_proj_b",
42
+ "down_proj",
43
+ "out_proj",
44
+ "gate_proj",
45
+ "in_proj_qkv"
46
+ ],
47
+ "target_parameters": null,
48
+ "task_type": "CAUSAL_LM",
49
+ "trainable_token_indices": null,
50
+ "use_bdlora": null,
51
+ "use_dora": false,
52
+ "use_qalora": false,
53
+ "use_rslora": false
54
+ }
checkpoint-1134/adapter_model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a5f24789170d7ada920d96eb5ac05ab52130f1eed6f486c409dbaa459560a9ed
3
+ size 719378472
checkpoint-1134/chat_template.jinja ADDED
@@ -0,0 +1,192 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {%- set image_count = namespace(value=0) %}
2
+ {%- set video_count = namespace(value=0) %}
3
+ {% set preserve_thinking = true %}
4
+ {%- macro render_content(content, do_vision_count, is_system_content=false) %}
5
+ {%- if content is string %}
6
+ {{- content }}
7
+ {%- elif content is iterable and content is not mapping %}
8
+ {%- for item in content %}
9
+ {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
10
+ {%- if is_system_content %}
11
+ {{- raise_exception('System message cannot contain images.') }}
12
+ {%- endif %}
13
+ {%- if do_vision_count %}
14
+ {%- set image_count.value = image_count.value + 1 %}
15
+ {%- endif %}
16
+ {%- if add_vision_id %}
17
+ {{- 'Picture ' ~ image_count.value ~ ': ' }}
18
+ {%- endif %}
19
+ {{- '<|vision_start|><|image_pad|><|vision_end|>' }}
20
+ {%- elif 'video' in item or item.type == 'video' %}
21
+ {%- if is_system_content %}
22
+ {{- raise_exception('System message cannot contain videos.') }}
23
+ {%- endif %}
24
+ {%- if do_vision_count %}
25
+ {%- set video_count.value = video_count.value + 1 %}
26
+ {%- endif %}
27
+ {%- if add_vision_id %}
28
+ {{- 'Video ' ~ video_count.value ~ ': ' }}
29
+ {%- endif %}
30
+ {{- '<|vision_start|><|video_pad|><|vision_end|>' }}
31
+ {%- elif 'text' in item %}
32
+ {{- item.text }}
33
+ {%- else %}
34
+ {{- raise_exception('Unexpected item type in content.') }}
35
+ {%- endif %}
36
+ {%- endfor %}
37
+ {%- elif content is none or content is undefined %}
38
+ {{- '' }}
39
+ {%- else %}
40
+ {{- raise_exception('Unexpected content type.') }}
41
+ {%- endif %}
42
+ {%- endmacro %}
43
+ {%- if not messages %}
44
+ {{- raise_exception('No messages provided.') }}
45
+ {%- endif %}
46
+ {%- if tools and tools is iterable and tools is not mapping %}
47
+ {{- '<|im_start|>system\n' }}
48
+ {{- "# Tools\n\nYou have access to the following functions:\n\n<tools>" }}
49
+ {%- for tool in tools %}
50
+ {{- "\n" }}
51
+ {{- tool | tojson }}
52
+ {%- endfor %}
53
+ {{- "\n</tools>" }}
54
+ {{- '\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>' }}
55
+ {%- if messages[0].role == 'system' %}
56
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
57
+ {%- if content %}
58
+ {{- '\n\n' + content }}
59
+ {%- endif %}
60
+ {%- endif %}
61
+ {{- '<|im_end|>\n' }}
62
+ {%- else %}
63
+ {%- if messages[0].role == 'system' %}
64
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
65
+ {{- '<|im_start|>system\n' + content + '<|im_end|>\n' }}
66
+ {%- endif %}
67
+ {%- endif %}
68
+ {%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1, buffered_tool_calls=none) %}
69
+ {%- for message in messages[::-1] %}
70
+ {%- set index = (messages|length - 1) - loop.index0 %}
71
+ {%- if ns.multi_step_tool and message.role == "user" %}
72
+ {%- set content = render_content(message.content, false)|trim %}
73
+ {%- if not(content.startswith('<tool_response>') and content.endswith('</tool_response>')) %}
74
+ {%- set ns.multi_step_tool = false %}
75
+ {%- set ns.last_query_index = index %}
76
+ {%- endif %}
77
+ {%- endif %}
78
+ {%- endfor %}
79
+ {%- if ns.multi_step_tool %}
80
+ {{- raise_exception('No user query found in messages.') }}
81
+ {%- endif %}
82
+ {%- for message in messages %}
83
+ {%- set content = render_content(message.content, true)|trim %}
84
+ {%- set prev_is_assistant = (loop.index0 > 0 and messages[loop.index0 - 1].role == "assistant") %}
85
+ {%- set next_is_assistant = (not loop.last and messages[loop.index0 + 1].role == "assistant") %}
86
+ {%- if message.role == "system" %}
87
+ {%- if not loop.first %}
88
+ {{- raise_exception('System message must be at the beginning.') }}
89
+ {%- endif %}
90
+ {%- elif message.role == "developer" %}
91
+ {# skip developer messages #}
92
+ {%- elif message.role == "user" %}
93
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
94
+ {%- elif message.role == "assistant" %}
95
+ {%- set reasoning_content = '' %}
96
+ {%- if message.reasoning_content is string %}
97
+ {%- set reasoning_content = message.reasoning_content %}
98
+ {%- else %}
99
+ {%- if '</think>' in content %}
100
+ {%- set reasoning_content = content.split('</think>')[0].rstrip('\n').split('<think>')[-1].lstrip('\n') %}
101
+ {%- set content = content.split('</think>')[-1].lstrip('\n') %}
102
+ {%- endif %}
103
+ {%- endif %}
104
+ {%- set reasoning_content = reasoning_content|trim %}
105
+ {%- generation -%}
106
+ {%- if not prev_is_assistant %}
107
+ {%- if (preserve_thinking is defined and preserve_thinking is true) or (loop.index0 > ns.last_query_index) %}
108
+ {{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content + '\n</think>\n\n' + content }}
109
+ {%- else %}
110
+ {{- '<|im_start|>' + message.role + '\n' + content }}
111
+ {%- endif %}
112
+ {%- else %}
113
+ {{- content }}
114
+ {%- if ns.buffered_tool_calls %}
115
+ {%- for tool_call in ns.buffered_tool_calls %}
116
+ {%- if tool_call.function is defined %}
117
+ {%- set tool_call = tool_call.function %}
118
+ {%- endif %}
119
+ {%- if loop.first %}
120
+ {%- if content|trim %}
121
+ {{- '\n\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
122
+ {%- else %}
123
+ {{- '<tool_call>\n<function=' + tool_call.name + '>\n' }}
124
+ {%- endif %}
125
+ {%- else %}
126
+ {{- '\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
127
+ {%- endif %}
128
+ {%- if tool_call.arguments is defined %}
129
+ {%- for args_name, args_value in tool_call.arguments|items %}
130
+ {{- '<parameter=' + args_name + '>\n' }}
131
+ {%- set args_value = args_value | string if args_value is string else args_value | tojson | safe %}
132
+ {{- args_value }}
133
+ {{- '\n</parameter>\n' }}
134
+ {%- endfor %}
135
+ {%- endif %}
136
+ {{- '</function>\n</tool_call>' }}
137
+ {%- endfor %}
138
+ {%- set ns.buffered_tool_calls = none %}
139
+ {%- endif %}
140
+ {%- endif %}
141
+ {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
142
+ {%- if next_is_assistant %}
143
+ {%- set ns.buffered_tool_calls = message.tool_calls %}
144
+ {%- else %}
145
+ {%- for tool_call in message.tool_calls %}
146
+ {%- if tool_call.function is defined %}
147
+ {%- set tool_call = tool_call.function %}
148
+ {%- endif %}
149
+ {%- if loop.first %}
150
+ {%- if content|trim %}
151
+ {{- '\n\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
152
+ {%- else %}
153
+ {{- '<tool_call>\n<function=' + tool_call.name + '>\n' }}
154
+ {%- endif %}
155
+ {%- else %}
156
+ {{- '\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
157
+ {%- endif %}
158
+ {%- if tool_call.arguments is defined %}
159
+ {%- for args_name, args_value in tool_call.arguments|items %}
160
+ {{- '<parameter=' + args_name + '>\n' }}
161
+ {%- set args_value = args_value | string if args_value is string else args_value | tojson | safe %}
162
+ {{- args_value }}
163
+ {{- '\n</parameter>\n' }}
164
+ {%- endfor %}
165
+ {%- endif %}
166
+ {{- '</function>\n</tool_call>' }}
167
+ {%- endfor %}
168
+ {%- endif %}
169
+ {%- endif %}
170
+ {%- if not next_is_assistant %}
171
+ {{- '<|im_end|>\n' }}
172
+ {%- endif %}
173
+ {%- endgeneration -%}
174
+ {%- elif message.role == "tool" %}
175
+ {%- if loop.previtem and loop.previtem.role != "tool" %}
176
+ {{- '<|im_start|>user' }}
177
+ {%- endif %}
178
+ {{- '\n<tool_response>\n' }}
179
+ {{- content }}
180
+ {{- '\n</tool_response>' }}
181
+ {%- if not loop.last and loop.nextitem.role != "tool" %}
182
+ {{- '<|im_end|>\n' }}
183
+ {%- elif loop.last %}
184
+ {{- '<|im_end|>\n' }}
185
+ {%- endif %}
186
+ {%- else %}
187
+ {{- raise_exception('Unexpected message role.') }}
188
+ {%- endif %}
189
+ {%- endfor %}
190
+ {%- if add_generation_prompt %}
191
+ {{- '<|im_start|>assistant\n' }}
192
+ {%- endif %}
checkpoint-1134/tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:06b9509352d2af50381ab2247e083b80d32d5c0aba91c272ca9ff729b6a0e523
3
+ size 19989325
checkpoint-1134/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": "<|im_end|>",
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
+ "processor_class": "Qwen3VLProcessor",
27
+ "split_special_tokens": false,
28
+ "tokenizer_class": "Qwen2Tokenizer",
29
+ "unk_token": null,
30
+ "video_token": "<|video_pad|>",
31
+ "vision_bos_token": "<|vision_start|>",
32
+ "vision_eos_token": "<|vision_end|>"
33
+ }
checkpoint-1134/trainer_state.json ADDED
The diff for this file is too large to render. See raw diff
 
checkpoint-1134/training_args.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:19e9fa16a12cf6555ed0406bac0817ac382c1770bbf1923b22e6707402b4e500
3
+ size 5777
checkpoint-1176/README.md ADDED
@@ -0,0 +1,209 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ base_model: ./model
3
+ library_name: peft
4
+ pipeline_tag: text-generation
5
+ tags:
6
+ - base_model:adapter:./model
7
+ - lora
8
+ - sft
9
+ - transformers
10
+ - trl
11
+ ---
12
+
13
+ # Model Card for Model ID
14
+
15
+ <!-- Provide a quick summary of what the model is/does. -->
16
+
17
+
18
+
19
+ ## Model Details
20
+
21
+ ### Model Description
22
+
23
+ <!-- Provide a longer summary of what this model is. -->
24
+
25
+
26
+
27
+ - **Developed by:** [More Information Needed]
28
+ - **Funded by [optional]:** [More Information Needed]
29
+ - **Shared by [optional]:** [More Information Needed]
30
+ - **Model type:** [More Information Needed]
31
+ - **Language(s) (NLP):** [More Information Needed]
32
+ - **License:** [More Information Needed]
33
+ - **Finetuned from model [optional]:** [More Information Needed]
34
+
35
+ ### Model Sources [optional]
36
+
37
+ <!-- Provide the basic links for the model. -->
38
+
39
+ - **Repository:** [More Information Needed]
40
+ - **Paper [optional]:** [More Information Needed]
41
+ - **Demo [optional]:** [More Information Needed]
42
+
43
+ ## Uses
44
+
45
+ <!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
46
+
47
+ ### Direct Use
48
+
49
+ <!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
50
+
51
+ [More Information Needed]
52
+
53
+ ### Downstream Use [optional]
54
+
55
+ <!-- This section is for the model use when fine-tuned for a task, or when plugged into a larger ecosystem/app -->
56
+
57
+ [More Information Needed]
58
+
59
+ ### Out-of-Scope Use
60
+
61
+ <!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->
62
+
63
+ [More Information Needed]
64
+
65
+ ## Bias, Risks, and Limitations
66
+
67
+ <!-- This section is meant to convey both technical and sociotechnical limitations. -->
68
+
69
+ [More Information Needed]
70
+
71
+ ### Recommendations
72
+
73
+ <!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. -->
74
+
75
+ Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.
76
+
77
+ ## How to Get Started with the Model
78
+
79
+ Use the code below to get started with the model.
80
+
81
+ [More Information Needed]
82
+
83
+ ## Training Details
84
+
85
+ ### Training Data
86
+
87
+ <!-- This should link to a Dataset Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
88
+
89
+ [More Information Needed]
90
+
91
+ ### Training Procedure
92
+
93
+ <!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->
94
+
95
+ #### Preprocessing [optional]
96
+
97
+ [More Information Needed]
98
+
99
+
100
+ #### Training Hyperparameters
101
+
102
+ - **Training regime:** [More Information Needed] <!--fp32, fp16 mixed precision, bf16 mixed precision, bf16 non-mixed precision, fp16 non-mixed precision, fp8 mixed precision -->
103
+
104
+ #### Speeds, Sizes, Times [optional]
105
+
106
+ <!-- This section provides information about throughput, start/end time, checkpoint size if relevant, etc. -->
107
+
108
+ [More Information Needed]
109
+
110
+ ## Evaluation
111
+
112
+ <!-- This section describes the evaluation protocols and provides the results. -->
113
+
114
+ ### Testing Data, Factors & Metrics
115
+
116
+ #### Testing Data
117
+
118
+ <!-- This should link to a Dataset Card if possible. -->
119
+
120
+ [More Information Needed]
121
+
122
+ #### Factors
123
+
124
+ <!-- These are the things the evaluation is disaggregating by, e.g., subpopulations or domains. -->
125
+
126
+ [More Information Needed]
127
+
128
+ #### Metrics
129
+
130
+ <!-- These are the evaluation metrics being used, ideally with a description of why. -->
131
+
132
+ [More Information Needed]
133
+
134
+ ### Results
135
+
136
+ [More Information Needed]
137
+
138
+ #### Summary
139
+
140
+
141
+
142
+ ## Model Examination [optional]
143
+
144
+ <!-- Relevant interpretability work for the model goes here -->
145
+
146
+ [More Information Needed]
147
+
148
+ ## Environmental Impact
149
+
150
+ <!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly -->
151
+
152
+ Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700).
153
+
154
+ - **Hardware Type:** [More Information Needed]
155
+ - **Hours used:** [More Information Needed]
156
+ - **Cloud Provider:** [More Information Needed]
157
+ - **Compute Region:** [More Information Needed]
158
+ - **Carbon Emitted:** [More Information Needed]
159
+
160
+ ## Technical Specifications [optional]
161
+
162
+ ### Model Architecture and Objective
163
+
164
+ [More Information Needed]
165
+
166
+ ### Compute Infrastructure
167
+
168
+ [More Information Needed]
169
+
170
+ #### Hardware
171
+
172
+ [More Information Needed]
173
+
174
+ #### Software
175
+
176
+ [More Information Needed]
177
+
178
+ ## Citation [optional]
179
+
180
+ <!-- If there is a paper or blog post introducing the model, the APA and Bibtex information for that should go in this section. -->
181
+
182
+ **BibTeX:**
183
+
184
+ [More Information Needed]
185
+
186
+ **APA:**
187
+
188
+ [More Information Needed]
189
+
190
+ ## Glossary [optional]
191
+
192
+ <!-- If relevant, include terms and calculations in this section that can help readers understand the model or model card. -->
193
+
194
+ [More Information Needed]
195
+
196
+ ## More Information [optional]
197
+
198
+ [More Information Needed]
199
+
200
+ ## Model Card Authors [optional]
201
+
202
+ [More Information Needed]
203
+
204
+ ## Model Card Contact
205
+
206
+ [More Information Needed]
207
+ ### Framework versions
208
+
209
+ - PEFT 0.19.1
checkpoint-1176/adapter_config.json ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "alora_invocation_tokens": null,
3
+ "alpha_pattern": {},
4
+ "arrow_config": null,
5
+ "auto_mapping": null,
6
+ "base_model_name_or_path": "./model",
7
+ "bias": "none",
8
+ "corda_config": null,
9
+ "ensure_weight_tying": false,
10
+ "eva_config": null,
11
+ "exclude_modules": null,
12
+ "fan_in_fan_out": false,
13
+ "inference_mode": true,
14
+ "init_lora_weights": "gaussian",
15
+ "layer_replication": null,
16
+ "layers_pattern": null,
17
+ "layers_to_transform": null,
18
+ "loftq_config": {},
19
+ "lora_alpha": 1280,
20
+ "lora_bias": false,
21
+ "lora_dropout": 0.1,
22
+ "lora_ga_config": null,
23
+ "megatron_config": null,
24
+ "megatron_core": "megatron.core",
25
+ "modules_to_save": null,
26
+ "peft_type": "LORA",
27
+ "peft_version": "0.19.1",
28
+ "qalora_group_size": 16,
29
+ "r": 128,
30
+ "rank_pattern": {},
31
+ "revision": null,
32
+ "target_modules": [
33
+ "up_proj",
34
+ "q_proj",
35
+ "in_proj_a",
36
+ "k_proj",
37
+ "shared_expert_gate",
38
+ "o_proj",
39
+ "in_proj_z",
40
+ "v_proj",
41
+ "in_proj_b",
42
+ "down_proj",
43
+ "out_proj",
44
+ "gate_proj",
45
+ "in_proj_qkv"
46
+ ],
47
+ "target_parameters": null,
48
+ "task_type": "CAUSAL_LM",
49
+ "trainable_token_indices": null,
50
+ "use_bdlora": null,
51
+ "use_dora": false,
52
+ "use_qalora": false,
53
+ "use_rslora": false
54
+ }
checkpoint-1176/adapter_model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:057ab32c3a79fc54afa5f7c8b207f7874b146f1cae94d3c422773904797a4aa6
3
+ size 719378472
checkpoint-1176/chat_template.jinja ADDED
@@ -0,0 +1,192 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {%- set image_count = namespace(value=0) %}
2
+ {%- set video_count = namespace(value=0) %}
3
+ {% set preserve_thinking = true %}
4
+ {%- macro render_content(content, do_vision_count, is_system_content=false) %}
5
+ {%- if content is string %}
6
+ {{- content }}
7
+ {%- elif content is iterable and content is not mapping %}
8
+ {%- for item in content %}
9
+ {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
10
+ {%- if is_system_content %}
11
+ {{- raise_exception('System message cannot contain images.') }}
12
+ {%- endif %}
13
+ {%- if do_vision_count %}
14
+ {%- set image_count.value = image_count.value + 1 %}
15
+ {%- endif %}
16
+ {%- if add_vision_id %}
17
+ {{- 'Picture ' ~ image_count.value ~ ': ' }}
18
+ {%- endif %}
19
+ {{- '<|vision_start|><|image_pad|><|vision_end|>' }}
20
+ {%- elif 'video' in item or item.type == 'video' %}
21
+ {%- if is_system_content %}
22
+ {{- raise_exception('System message cannot contain videos.') }}
23
+ {%- endif %}
24
+ {%- if do_vision_count %}
25
+ {%- set video_count.value = video_count.value + 1 %}
26
+ {%- endif %}
27
+ {%- if add_vision_id %}
28
+ {{- 'Video ' ~ video_count.value ~ ': ' }}
29
+ {%- endif %}
30
+ {{- '<|vision_start|><|video_pad|><|vision_end|>' }}
31
+ {%- elif 'text' in item %}
32
+ {{- item.text }}
33
+ {%- else %}
34
+ {{- raise_exception('Unexpected item type in content.') }}
35
+ {%- endif %}
36
+ {%- endfor %}
37
+ {%- elif content is none or content is undefined %}
38
+ {{- '' }}
39
+ {%- else %}
40
+ {{- raise_exception('Unexpected content type.') }}
41
+ {%- endif %}
42
+ {%- endmacro %}
43
+ {%- if not messages %}
44
+ {{- raise_exception('No messages provided.') }}
45
+ {%- endif %}
46
+ {%- if tools and tools is iterable and tools is not mapping %}
47
+ {{- '<|im_start|>system\n' }}
48
+ {{- "# Tools\n\nYou have access to the following functions:\n\n<tools>" }}
49
+ {%- for tool in tools %}
50
+ {{- "\n" }}
51
+ {{- tool | tojson }}
52
+ {%- endfor %}
53
+ {{- "\n</tools>" }}
54
+ {{- '\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>' }}
55
+ {%- if messages[0].role == 'system' %}
56
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
57
+ {%- if content %}
58
+ {{- '\n\n' + content }}
59
+ {%- endif %}
60
+ {%- endif %}
61
+ {{- '<|im_end|>\n' }}
62
+ {%- else %}
63
+ {%- if messages[0].role == 'system' %}
64
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
65
+ {{- '<|im_start|>system\n' + content + '<|im_end|>\n' }}
66
+ {%- endif %}
67
+ {%- endif %}
68
+ {%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1, buffered_tool_calls=none) %}
69
+ {%- for message in messages[::-1] %}
70
+ {%- set index = (messages|length - 1) - loop.index0 %}
71
+ {%- if ns.multi_step_tool and message.role == "user" %}
72
+ {%- set content = render_content(message.content, false)|trim %}
73
+ {%- if not(content.startswith('<tool_response>') and content.endswith('</tool_response>')) %}
74
+ {%- set ns.multi_step_tool = false %}
75
+ {%- set ns.last_query_index = index %}
76
+ {%- endif %}
77
+ {%- endif %}
78
+ {%- endfor %}
79
+ {%- if ns.multi_step_tool %}
80
+ {{- raise_exception('No user query found in messages.') }}
81
+ {%- endif %}
82
+ {%- for message in messages %}
83
+ {%- set content = render_content(message.content, true)|trim %}
84
+ {%- set prev_is_assistant = (loop.index0 > 0 and messages[loop.index0 - 1].role == "assistant") %}
85
+ {%- set next_is_assistant = (not loop.last and messages[loop.index0 + 1].role == "assistant") %}
86
+ {%- if message.role == "system" %}
87
+ {%- if not loop.first %}
88
+ {{- raise_exception('System message must be at the beginning.') }}
89
+ {%- endif %}
90
+ {%- elif message.role == "developer" %}
91
+ {# skip developer messages #}
92
+ {%- elif message.role == "user" %}
93
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
94
+ {%- elif message.role == "assistant" %}
95
+ {%- set reasoning_content = '' %}
96
+ {%- if message.reasoning_content is string %}
97
+ {%- set reasoning_content = message.reasoning_content %}
98
+ {%- else %}
99
+ {%- if '</think>' in content %}
100
+ {%- set reasoning_content = content.split('</think>')[0].rstrip('\n').split('<think>')[-1].lstrip('\n') %}
101
+ {%- set content = content.split('</think>')[-1].lstrip('\n') %}
102
+ {%- endif %}
103
+ {%- endif %}
104
+ {%- set reasoning_content = reasoning_content|trim %}
105
+ {%- generation -%}
106
+ {%- if not prev_is_assistant %}
107
+ {%- if (preserve_thinking is defined and preserve_thinking is true) or (loop.index0 > ns.last_query_index) %}
108
+ {{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content + '\n</think>\n\n' + content }}
109
+ {%- else %}
110
+ {{- '<|im_start|>' + message.role + '\n' + content }}
111
+ {%- endif %}
112
+ {%- else %}
113
+ {{- content }}
114
+ {%- if ns.buffered_tool_calls %}
115
+ {%- for tool_call in ns.buffered_tool_calls %}
116
+ {%- if tool_call.function is defined %}
117
+ {%- set tool_call = tool_call.function %}
118
+ {%- endif %}
119
+ {%- if loop.first %}
120
+ {%- if content|trim %}
121
+ {{- '\n\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
122
+ {%- else %}
123
+ {{- '<tool_call>\n<function=' + tool_call.name + '>\n' }}
124
+ {%- endif %}
125
+ {%- else %}
126
+ {{- '\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
127
+ {%- endif %}
128
+ {%- if tool_call.arguments is defined %}
129
+ {%- for args_name, args_value in tool_call.arguments|items %}
130
+ {{- '<parameter=' + args_name + '>\n' }}
131
+ {%- set args_value = args_value | string if args_value is string else args_value | tojson | safe %}
132
+ {{- args_value }}
133
+ {{- '\n</parameter>\n' }}
134
+ {%- endfor %}
135
+ {%- endif %}
136
+ {{- '</function>\n</tool_call>' }}
137
+ {%- endfor %}
138
+ {%- set ns.buffered_tool_calls = none %}
139
+ {%- endif %}
140
+ {%- endif %}
141
+ {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
142
+ {%- if next_is_assistant %}
143
+ {%- set ns.buffered_tool_calls = message.tool_calls %}
144
+ {%- else %}
145
+ {%- for tool_call in message.tool_calls %}
146
+ {%- if tool_call.function is defined %}
147
+ {%- set tool_call = tool_call.function %}
148
+ {%- endif %}
149
+ {%- if loop.first %}
150
+ {%- if content|trim %}
151
+ {{- '\n\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
152
+ {%- else %}
153
+ {{- '<tool_call>\n<function=' + tool_call.name + '>\n' }}
154
+ {%- endif %}
155
+ {%- else %}
156
+ {{- '\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
157
+ {%- endif %}
158
+ {%- if tool_call.arguments is defined %}
159
+ {%- for args_name, args_value in tool_call.arguments|items %}
160
+ {{- '<parameter=' + args_name + '>\n' }}
161
+ {%- set args_value = args_value | string if args_value is string else args_value | tojson | safe %}
162
+ {{- args_value }}
163
+ {{- '\n</parameter>\n' }}
164
+ {%- endfor %}
165
+ {%- endif %}
166
+ {{- '</function>\n</tool_call>' }}
167
+ {%- endfor %}
168
+ {%- endif %}
169
+ {%- endif %}
170
+ {%- if not next_is_assistant %}
171
+ {{- '<|im_end|>\n' }}
172
+ {%- endif %}
173
+ {%- endgeneration -%}
174
+ {%- elif message.role == "tool" %}
175
+ {%- if loop.previtem and loop.previtem.role != "tool" %}
176
+ {{- '<|im_start|>user' }}
177
+ {%- endif %}
178
+ {{- '\n<tool_response>\n' }}
179
+ {{- content }}
180
+ {{- '\n</tool_response>' }}
181
+ {%- if not loop.last and loop.nextitem.role != "tool" %}
182
+ {{- '<|im_end|>\n' }}
183
+ {%- elif loop.last %}
184
+ {{- '<|im_end|>\n' }}
185
+ {%- endif %}
186
+ {%- else %}
187
+ {{- raise_exception('Unexpected message role.') }}
188
+ {%- endif %}
189
+ {%- endfor %}
190
+ {%- if add_generation_prompt %}
191
+ {{- '<|im_start|>assistant\n' }}
192
+ {%- endif %}
checkpoint-1176/tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:06b9509352d2af50381ab2247e083b80d32d5c0aba91c272ca9ff729b6a0e523
3
+ size 19989325
checkpoint-1176/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": "<|im_end|>",
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
+ "processor_class": "Qwen3VLProcessor",
27
+ "split_special_tokens": false,
28
+ "tokenizer_class": "Qwen2Tokenizer",
29
+ "unk_token": null,
30
+ "video_token": "<|video_pad|>",
31
+ "vision_bos_token": "<|vision_start|>",
32
+ "vision_eos_token": "<|vision_end|>"
33
+ }
checkpoint-1176/trainer_state.json ADDED
The diff for this file is too large to render. See raw diff
 
checkpoint-1176/training_args.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:19e9fa16a12cf6555ed0406bac0817ac382c1770bbf1923b22e6707402b4e500
3
+ size 5777
checkpoint-1218/README.md ADDED
@@ -0,0 +1,209 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ base_model: ./model
3
+ library_name: peft
4
+ pipeline_tag: text-generation
5
+ tags:
6
+ - base_model:adapter:./model
7
+ - lora
8
+ - sft
9
+ - transformers
10
+ - trl
11
+ ---
12
+
13
+ # Model Card for Model ID
14
+
15
+ <!-- Provide a quick summary of what the model is/does. -->
16
+
17
+
18
+
19
+ ## Model Details
20
+
21
+ ### Model Description
22
+
23
+ <!-- Provide a longer summary of what this model is. -->
24
+
25
+
26
+
27
+ - **Developed by:** [More Information Needed]
28
+ - **Funded by [optional]:** [More Information Needed]
29
+ - **Shared by [optional]:** [More Information Needed]
30
+ - **Model type:** [More Information Needed]
31
+ - **Language(s) (NLP):** [More Information Needed]
32
+ - **License:** [More Information Needed]
33
+ - **Finetuned from model [optional]:** [More Information Needed]
34
+
35
+ ### Model Sources [optional]
36
+
37
+ <!-- Provide the basic links for the model. -->
38
+
39
+ - **Repository:** [More Information Needed]
40
+ - **Paper [optional]:** [More Information Needed]
41
+ - **Demo [optional]:** [More Information Needed]
42
+
43
+ ## Uses
44
+
45
+ <!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
46
+
47
+ ### Direct Use
48
+
49
+ <!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
50
+
51
+ [More Information Needed]
52
+
53
+ ### Downstream Use [optional]
54
+
55
+ <!-- This section is for the model use when fine-tuned for a task, or when plugged into a larger ecosystem/app -->
56
+
57
+ [More Information Needed]
58
+
59
+ ### Out-of-Scope Use
60
+
61
+ <!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->
62
+
63
+ [More Information Needed]
64
+
65
+ ## Bias, Risks, and Limitations
66
+
67
+ <!-- This section is meant to convey both technical and sociotechnical limitations. -->
68
+
69
+ [More Information Needed]
70
+
71
+ ### Recommendations
72
+
73
+ <!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. -->
74
+
75
+ Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.
76
+
77
+ ## How to Get Started with the Model
78
+
79
+ Use the code below to get started with the model.
80
+
81
+ [More Information Needed]
82
+
83
+ ## Training Details
84
+
85
+ ### Training Data
86
+
87
+ <!-- This should link to a Dataset Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
88
+
89
+ [More Information Needed]
90
+
91
+ ### Training Procedure
92
+
93
+ <!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->
94
+
95
+ #### Preprocessing [optional]
96
+
97
+ [More Information Needed]
98
+
99
+
100
+ #### Training Hyperparameters
101
+
102
+ - **Training regime:** [More Information Needed] <!--fp32, fp16 mixed precision, bf16 mixed precision, bf16 non-mixed precision, fp16 non-mixed precision, fp8 mixed precision -->
103
+
104
+ #### Speeds, Sizes, Times [optional]
105
+
106
+ <!-- This section provides information about throughput, start/end time, checkpoint size if relevant, etc. -->
107
+
108
+ [More Information Needed]
109
+
110
+ ## Evaluation
111
+
112
+ <!-- This section describes the evaluation protocols and provides the results. -->
113
+
114
+ ### Testing Data, Factors & Metrics
115
+
116
+ #### Testing Data
117
+
118
+ <!-- This should link to a Dataset Card if possible. -->
119
+
120
+ [More Information Needed]
121
+
122
+ #### Factors
123
+
124
+ <!-- These are the things the evaluation is disaggregating by, e.g., subpopulations or domains. -->
125
+
126
+ [More Information Needed]
127
+
128
+ #### Metrics
129
+
130
+ <!-- These are the evaluation metrics being used, ideally with a description of why. -->
131
+
132
+ [More Information Needed]
133
+
134
+ ### Results
135
+
136
+ [More Information Needed]
137
+
138
+ #### Summary
139
+
140
+
141
+
142
+ ## Model Examination [optional]
143
+
144
+ <!-- Relevant interpretability work for the model goes here -->
145
+
146
+ [More Information Needed]
147
+
148
+ ## Environmental Impact
149
+
150
+ <!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly -->
151
+
152
+ Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700).
153
+
154
+ - **Hardware Type:** [More Information Needed]
155
+ - **Hours used:** [More Information Needed]
156
+ - **Cloud Provider:** [More Information Needed]
157
+ - **Compute Region:** [More Information Needed]
158
+ - **Carbon Emitted:** [More Information Needed]
159
+
160
+ ## Technical Specifications [optional]
161
+
162
+ ### Model Architecture and Objective
163
+
164
+ [More Information Needed]
165
+
166
+ ### Compute Infrastructure
167
+
168
+ [More Information Needed]
169
+
170
+ #### Hardware
171
+
172
+ [More Information Needed]
173
+
174
+ #### Software
175
+
176
+ [More Information Needed]
177
+
178
+ ## Citation [optional]
179
+
180
+ <!-- If there is a paper or blog post introducing the model, the APA and Bibtex information for that should go in this section. -->
181
+
182
+ **BibTeX:**
183
+
184
+ [More Information Needed]
185
+
186
+ **APA:**
187
+
188
+ [More Information Needed]
189
+
190
+ ## Glossary [optional]
191
+
192
+ <!-- If relevant, include terms and calculations in this section that can help readers understand the model or model card. -->
193
+
194
+ [More Information Needed]
195
+
196
+ ## More Information [optional]
197
+
198
+ [More Information Needed]
199
+
200
+ ## Model Card Authors [optional]
201
+
202
+ [More Information Needed]
203
+
204
+ ## Model Card Contact
205
+
206
+ [More Information Needed]
207
+ ### Framework versions
208
+
209
+ - PEFT 0.19.1
checkpoint-1218/adapter_config.json ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "alora_invocation_tokens": null,
3
+ "alpha_pattern": {},
4
+ "arrow_config": null,
5
+ "auto_mapping": null,
6
+ "base_model_name_or_path": "./model",
7
+ "bias": "none",
8
+ "corda_config": null,
9
+ "ensure_weight_tying": false,
10
+ "eva_config": null,
11
+ "exclude_modules": null,
12
+ "fan_in_fan_out": false,
13
+ "inference_mode": true,
14
+ "init_lora_weights": "gaussian",
15
+ "layer_replication": null,
16
+ "layers_pattern": null,
17
+ "layers_to_transform": null,
18
+ "loftq_config": {},
19
+ "lora_alpha": 1280,
20
+ "lora_bias": false,
21
+ "lora_dropout": 0.1,
22
+ "lora_ga_config": null,
23
+ "megatron_config": null,
24
+ "megatron_core": "megatron.core",
25
+ "modules_to_save": null,
26
+ "peft_type": "LORA",
27
+ "peft_version": "0.19.1",
28
+ "qalora_group_size": 16,
29
+ "r": 128,
30
+ "rank_pattern": {},
31
+ "revision": null,
32
+ "target_modules": [
33
+ "up_proj",
34
+ "q_proj",
35
+ "in_proj_a",
36
+ "k_proj",
37
+ "shared_expert_gate",
38
+ "o_proj",
39
+ "in_proj_z",
40
+ "v_proj",
41
+ "in_proj_b",
42
+ "down_proj",
43
+ "out_proj",
44
+ "gate_proj",
45
+ "in_proj_qkv"
46
+ ],
47
+ "target_parameters": null,
48
+ "task_type": "CAUSAL_LM",
49
+ "trainable_token_indices": null,
50
+ "use_bdlora": null,
51
+ "use_dora": false,
52
+ "use_qalora": false,
53
+ "use_rslora": false
54
+ }
checkpoint-1218/adapter_model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bccd9e9d6b3a862d11098dd28f97d2f969aaa2499515cd929929c6422e4e7893
3
+ size 719378472
checkpoint-1218/chat_template.jinja ADDED
@@ -0,0 +1,192 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {%- set image_count = namespace(value=0) %}
2
+ {%- set video_count = namespace(value=0) %}
3
+ {% set preserve_thinking = true %}
4
+ {%- macro render_content(content, do_vision_count, is_system_content=false) %}
5
+ {%- if content is string %}
6
+ {{- content }}
7
+ {%- elif content is iterable and content is not mapping %}
8
+ {%- for item in content %}
9
+ {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
10
+ {%- if is_system_content %}
11
+ {{- raise_exception('System message cannot contain images.') }}
12
+ {%- endif %}
13
+ {%- if do_vision_count %}
14
+ {%- set image_count.value = image_count.value + 1 %}
15
+ {%- endif %}
16
+ {%- if add_vision_id %}
17
+ {{- 'Picture ' ~ image_count.value ~ ': ' }}
18
+ {%- endif %}
19
+ {{- '<|vision_start|><|image_pad|><|vision_end|>' }}
20
+ {%- elif 'video' in item or item.type == 'video' %}
21
+ {%- if is_system_content %}
22
+ {{- raise_exception('System message cannot contain videos.') }}
23
+ {%- endif %}
24
+ {%- if do_vision_count %}
25
+ {%- set video_count.value = video_count.value + 1 %}
26
+ {%- endif %}
27
+ {%- if add_vision_id %}
28
+ {{- 'Video ' ~ video_count.value ~ ': ' }}
29
+ {%- endif %}
30
+ {{- '<|vision_start|><|video_pad|><|vision_end|>' }}
31
+ {%- elif 'text' in item %}
32
+ {{- item.text }}
33
+ {%- else %}
34
+ {{- raise_exception('Unexpected item type in content.') }}
35
+ {%- endif %}
36
+ {%- endfor %}
37
+ {%- elif content is none or content is undefined %}
38
+ {{- '' }}
39
+ {%- else %}
40
+ {{- raise_exception('Unexpected content type.') }}
41
+ {%- endif %}
42
+ {%- endmacro %}
43
+ {%- if not messages %}
44
+ {{- raise_exception('No messages provided.') }}
45
+ {%- endif %}
46
+ {%- if tools and tools is iterable and tools is not mapping %}
47
+ {{- '<|im_start|>system\n' }}
48
+ {{- "# Tools\n\nYou have access to the following functions:\n\n<tools>" }}
49
+ {%- for tool in tools %}
50
+ {{- "\n" }}
51
+ {{- tool | tojson }}
52
+ {%- endfor %}
53
+ {{- "\n</tools>" }}
54
+ {{- '\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>' }}
55
+ {%- if messages[0].role == 'system' %}
56
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
57
+ {%- if content %}
58
+ {{- '\n\n' + content }}
59
+ {%- endif %}
60
+ {%- endif %}
61
+ {{- '<|im_end|>\n' }}
62
+ {%- else %}
63
+ {%- if messages[0].role == 'system' %}
64
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
65
+ {{- '<|im_start|>system\n' + content + '<|im_end|>\n' }}
66
+ {%- endif %}
67
+ {%- endif %}
68
+ {%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1, buffered_tool_calls=none) %}
69
+ {%- for message in messages[::-1] %}
70
+ {%- set index = (messages|length - 1) - loop.index0 %}
71
+ {%- if ns.multi_step_tool and message.role == "user" %}
72
+ {%- set content = render_content(message.content, false)|trim %}
73
+ {%- if not(content.startswith('<tool_response>') and content.endswith('</tool_response>')) %}
74
+ {%- set ns.multi_step_tool = false %}
75
+ {%- set ns.last_query_index = index %}
76
+ {%- endif %}
77
+ {%- endif %}
78
+ {%- endfor %}
79
+ {%- if ns.multi_step_tool %}
80
+ {{- raise_exception('No user query found in messages.') }}
81
+ {%- endif %}
82
+ {%- for message in messages %}
83
+ {%- set content = render_content(message.content, true)|trim %}
84
+ {%- set prev_is_assistant = (loop.index0 > 0 and messages[loop.index0 - 1].role == "assistant") %}
85
+ {%- set next_is_assistant = (not loop.last and messages[loop.index0 + 1].role == "assistant") %}
86
+ {%- if message.role == "system" %}
87
+ {%- if not loop.first %}
88
+ {{- raise_exception('System message must be at the beginning.') }}
89
+ {%- endif %}
90
+ {%- elif message.role == "developer" %}
91
+ {# skip developer messages #}
92
+ {%- elif message.role == "user" %}
93
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
94
+ {%- elif message.role == "assistant" %}
95
+ {%- set reasoning_content = '' %}
96
+ {%- if message.reasoning_content is string %}
97
+ {%- set reasoning_content = message.reasoning_content %}
98
+ {%- else %}
99
+ {%- if '</think>' in content %}
100
+ {%- set reasoning_content = content.split('</think>')[0].rstrip('\n').split('<think>')[-1].lstrip('\n') %}
101
+ {%- set content = content.split('</think>')[-1].lstrip('\n') %}
102
+ {%- endif %}
103
+ {%- endif %}
104
+ {%- set reasoning_content = reasoning_content|trim %}
105
+ {%- generation -%}
106
+ {%- if not prev_is_assistant %}
107
+ {%- if (preserve_thinking is defined and preserve_thinking is true) or (loop.index0 > ns.last_query_index) %}
108
+ {{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content + '\n</think>\n\n' + content }}
109
+ {%- else %}
110
+ {{- '<|im_start|>' + message.role + '\n' + content }}
111
+ {%- endif %}
112
+ {%- else %}
113
+ {{- content }}
114
+ {%- if ns.buffered_tool_calls %}
115
+ {%- for tool_call in ns.buffered_tool_calls %}
116
+ {%- if tool_call.function is defined %}
117
+ {%- set tool_call = tool_call.function %}
118
+ {%- endif %}
119
+ {%- if loop.first %}
120
+ {%- if content|trim %}
121
+ {{- '\n\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
122
+ {%- else %}
123
+ {{- '<tool_call>\n<function=' + tool_call.name + '>\n' }}
124
+ {%- endif %}
125
+ {%- else %}
126
+ {{- '\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
127
+ {%- endif %}
128
+ {%- if tool_call.arguments is defined %}
129
+ {%- for args_name, args_value in tool_call.arguments|items %}
130
+ {{- '<parameter=' + args_name + '>\n' }}
131
+ {%- set args_value = args_value | string if args_value is string else args_value | tojson | safe %}
132
+ {{- args_value }}
133
+ {{- '\n</parameter>\n' }}
134
+ {%- endfor %}
135
+ {%- endif %}
136
+ {{- '</function>\n</tool_call>' }}
137
+ {%- endfor %}
138
+ {%- set ns.buffered_tool_calls = none %}
139
+ {%- endif %}
140
+ {%- endif %}
141
+ {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
142
+ {%- if next_is_assistant %}
143
+ {%- set ns.buffered_tool_calls = message.tool_calls %}
144
+ {%- else %}
145
+ {%- for tool_call in message.tool_calls %}
146
+ {%- if tool_call.function is defined %}
147
+ {%- set tool_call = tool_call.function %}
148
+ {%- endif %}
149
+ {%- if loop.first %}
150
+ {%- if content|trim %}
151
+ {{- '\n\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
152
+ {%- else %}
153
+ {{- '<tool_call>\n<function=' + tool_call.name + '>\n' }}
154
+ {%- endif %}
155
+ {%- else %}
156
+ {{- '\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
157
+ {%- endif %}
158
+ {%- if tool_call.arguments is defined %}
159
+ {%- for args_name, args_value in tool_call.arguments|items %}
160
+ {{- '<parameter=' + args_name + '>\n' }}
161
+ {%- set args_value = args_value | string if args_value is string else args_value | tojson | safe %}
162
+ {{- args_value }}
163
+ {{- '\n</parameter>\n' }}
164
+ {%- endfor %}
165
+ {%- endif %}
166
+ {{- '</function>\n</tool_call>' }}
167
+ {%- endfor %}
168
+ {%- endif %}
169
+ {%- endif %}
170
+ {%- if not next_is_assistant %}
171
+ {{- '<|im_end|>\n' }}
172
+ {%- endif %}
173
+ {%- endgeneration -%}
174
+ {%- elif message.role == "tool" %}
175
+ {%- if loop.previtem and loop.previtem.role != "tool" %}
176
+ {{- '<|im_start|>user' }}
177
+ {%- endif %}
178
+ {{- '\n<tool_response>\n' }}
179
+ {{- content }}
180
+ {{- '\n</tool_response>' }}
181
+ {%- if not loop.last and loop.nextitem.role != "tool" %}
182
+ {{- '<|im_end|>\n' }}
183
+ {%- elif loop.last %}
184
+ {{- '<|im_end|>\n' }}
185
+ {%- endif %}
186
+ {%- else %}
187
+ {{- raise_exception('Unexpected message role.') }}
188
+ {%- endif %}
189
+ {%- endfor %}
190
+ {%- if add_generation_prompt %}
191
+ {{- '<|im_start|>assistant\n' }}
192
+ {%- endif %}
checkpoint-1218/tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:06b9509352d2af50381ab2247e083b80d32d5c0aba91c272ca9ff729b6a0e523
3
+ size 19989325
checkpoint-1218/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": "<|im_end|>",
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
+ "processor_class": "Qwen3VLProcessor",
27
+ "split_special_tokens": false,
28
+ "tokenizer_class": "Qwen2Tokenizer",
29
+ "unk_token": null,
30
+ "video_token": "<|video_pad|>",
31
+ "vision_bos_token": "<|vision_start|>",
32
+ "vision_eos_token": "<|vision_end|>"
33
+ }
checkpoint-1218/trainer_state.json ADDED
The diff for this file is too large to render. See raw diff
 
checkpoint-1218/training_args.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:19e9fa16a12cf6555ed0406bac0817ac382c1770bbf1923b22e6707402b4e500
3
+ size 5777