dbest commited on
Commit
ff03412
·
verified ·
1 Parent(s): 63c78a2

Full-precision conversion (verified)

Browse files
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ tokenizer.json filter=lfs diff=lfs merge=lfs -text
LICENSE ADDED
@@ -0,0 +1,429 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Hemmingway-1
2
+ Copyright (c) 2026 Altworld
3
+
4
+ The Hemmingway-1 weights and the files in this repository are licensed under
5
+ Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0),
6
+ reproduced in full below.
7
+
8
+ In plain words:
9
+ - Free for personal, research and other non-commercial use. Download it,
10
+ run it, fine-tune it and share it, as long as you credit Hemmingway-1.
11
+ - Commercial use needs a separate written agreement with us. That includes
12
+ selling access to it, serving it inside a paid product, or using it to
13
+ run a business. We are happy to work with anyone who asks:
14
+ luka@hemmingway.io
15
+
16
+ Hemmingway-1 is built on Qwen3.8-27B by the Qwen team, which is released
17
+ under the Apache License, Version 2.0. That licence still covers the parts
18
+ that come from the base model: http://www.apache.org/licenses/LICENSE-2.0
19
+
20
+ =======================================================================
21
+
22
+ Attribution-NonCommercial 4.0 International
23
+
24
+ =======================================================================
25
+
26
+ Creative Commons Corporation ("Creative Commons") is not a law firm and
27
+ does not provide legal services or legal advice. Distribution of
28
+ Creative Commons public licenses does not create a lawyer-client or
29
+ other relationship. Creative Commons makes its licenses and related
30
+ information available on an "as-is" basis. Creative Commons gives no
31
+ warranties regarding its licenses, any material licensed under their
32
+ terms and conditions, or any related information. Creative Commons
33
+ disclaims all liability for damages resulting from their use to the
34
+ fullest extent possible.
35
+
36
+ Using Creative Commons Public Licenses
37
+
38
+ Creative Commons public licenses provide a standard set of terms and
39
+ conditions that creators and other rights holders may use to share
40
+ original works of authorship and other material subject to copyright
41
+ and certain other rights specified in the public license below. The
42
+ following considerations are for informational purposes only, are not
43
+ exhaustive, and do not form part of our licenses.
44
+
45
+ Considerations for licensors: Our public licenses are
46
+ intended for use by those authorized to give the public
47
+ permission to use material in ways otherwise restricted by
48
+ copyright and certain other rights. Our licenses are
49
+ irrevocable. Licensors should read and understand the terms
50
+ and conditions of the license they choose before applying it.
51
+ Licensors should also secure all rights necessary before
52
+ applying our licenses so that the public can reuse the
53
+ material as expected. Licensors should clearly mark any
54
+ material not subject to the license. This includes other CC-
55
+ licensed material, or material used under an exception or
56
+ limitation to copyright. More considerations for licensors:
57
+ wiki.creativecommons.org/Considerations_for_licensors
58
+
59
+ Considerations for the public: By using one of our public
60
+ licenses, a licensor grants the public permission to use the
61
+ licensed material under specified terms and conditions. If
62
+ the licensor's permission is not necessary for any reason--for
63
+ example, because of any applicable exception or limitation to
64
+ copyright--then that use is not regulated by the license. Our
65
+ licenses grant only permissions under copyright and certain
66
+ other rights that a licensor has authority to grant. Use of
67
+ the licensed material may still be restricted for other
68
+ reasons, including because others have copyright or other
69
+ rights in the material. A licensor may make special requests,
70
+ such as asking that all changes be marked or described.
71
+ Although not required by our licenses, you are encouraged to
72
+ respect those requests where reasonable. More considerations
73
+ for the public:
74
+ wiki.creativecommons.org/Considerations_for_licensees
75
+
76
+ =======================================================================
77
+
78
+ Creative Commons Attribution-NonCommercial 4.0 International Public
79
+ License
80
+
81
+ By exercising the Licensed Rights (defined below), You accept and agree
82
+ to be bound by the terms and conditions of this Creative Commons
83
+ Attribution-NonCommercial 4.0 International Public License ("Public
84
+ License"). To the extent this Public License may be interpreted as a
85
+ contract, You are granted the Licensed Rights in consideration of Your
86
+ acceptance of these terms and conditions, and the Licensor grants You
87
+ such rights in consideration of benefits the Licensor receives from
88
+ making the Licensed Material available under these terms and
89
+ conditions.
90
+
91
+
92
+ Section 1 -- Definitions.
93
+
94
+ a. Adapted Material means material subject to Copyright and Similar
95
+ Rights that is derived from or based upon the Licensed Material
96
+ and in which the Licensed Material is translated, altered,
97
+ arranged, transformed, or otherwise modified in a manner requiring
98
+ permission under the Copyright and Similar Rights held by the
99
+ Licensor. For purposes of this Public License, where the Licensed
100
+ Material is a musical work, performance, or sound recording,
101
+ Adapted Material is always produced where the Licensed Material is
102
+ synched in timed relation with a moving image.
103
+
104
+ b. Adapter's License means the license You apply to Your Copyright
105
+ and Similar Rights in Your contributions to Adapted Material in
106
+ accordance with the terms and conditions of this Public License.
107
+
108
+ c. Copyright and Similar Rights means copyright and/or similar rights
109
+ closely related to copyright including, without limitation,
110
+ performance, broadcast, sound recording, and Sui Generis Database
111
+ Rights, without regard to how the rights are labeled or
112
+ categorized. For purposes of this Public License, the rights
113
+ specified in Section 2(b)(1)-(2) are not Copyright and Similar
114
+ Rights.
115
+ d. Effective Technological Measures means those measures that, in the
116
+ absence of proper authority, may not be circumvented under laws
117
+ fulfilling obligations under Article 11 of the WIPO Copyright
118
+ Treaty adopted on December 20, 1996, and/or similar international
119
+ agreements.
120
+
121
+ e. Exceptions and Limitations means fair use, fair dealing, and/or
122
+ any other exception or limitation to Copyright and Similar Rights
123
+ that applies to Your use of the Licensed Material.
124
+
125
+ f. Licensed Material means the artistic or literary work, database,
126
+ or other material to which the Licensor applied this Public
127
+ License.
128
+
129
+ g. Licensed Rights means the rights granted to You subject to the
130
+ terms and conditions of this Public License, which are limited to
131
+ all Copyright and Similar Rights that apply to Your use of the
132
+ Licensed Material and that the Licensor has authority to license.
133
+
134
+ h. Licensor means the individual(s) or entity(ies) granting rights
135
+ under this Public License.
136
+
137
+ i. NonCommercial means not primarily intended for or directed towards
138
+ commercial advantage or monetary compensation. For purposes of
139
+ this Public License, the exchange of the Licensed Material for
140
+ other material subject to Copyright and Similar Rights by digital
141
+ file-sharing or similar means is NonCommercial provided there is
142
+ no payment of monetary compensation in connection with the
143
+ exchange.
144
+
145
+ j. Share means to provide material to the public by any means or
146
+ process that requires permission under the Licensed Rights, such
147
+ as reproduction, public display, public performance, distribution,
148
+ dissemination, communication, or importation, and to make material
149
+ available to the public including in ways that members of the
150
+ public may access the material from a place and at a time
151
+ individually chosen by them.
152
+
153
+ k. Sui Generis Database Rights means rights other than copyright
154
+ resulting from Directive 96/9/EC of the European Parliament and of
155
+ the Council of 11 March 1996 on the legal protection of databases,
156
+ as amended and/or succeeded, as well as other essentially
157
+ equivalent rights anywhere in the world.
158
+
159
+ l. You means the individual or entity exercising the Licensed Rights
160
+ under this Public License. Your has a corresponding meaning.
161
+
162
+
163
+ Section 2 -- Scope.
164
+
165
+ a. License grant.
166
+
167
+ 1. Subject to the terms and conditions of this Public License,
168
+ the Licensor hereby grants You a worldwide, royalty-free,
169
+ non-sublicensable, non-exclusive, irrevocable license to
170
+ exercise the Licensed Rights in the Licensed Material to:
171
+
172
+ a. reproduce and Share the Licensed Material, in whole or
173
+ in part, for NonCommercial purposes only; and
174
+
175
+ b. produce, reproduce, and Share Adapted Material for
176
+ NonCommercial purposes only.
177
+
178
+ 2. Exceptions and Limitations. For the avoidance of doubt, where
179
+ Exceptions and Limitations apply to Your use, this Public
180
+ License does not apply, and You do not need to comply with
181
+ its terms and conditions.
182
+
183
+ 3. Term. The term of this Public License is specified in Section
184
+ 6(a).
185
+
186
+ 4. Media and formats; technical modifications allowed. The
187
+ Licensor authorizes You to exercise the Licensed Rights in
188
+ all media and formats whether now known or hereafter created,
189
+ and to make technical modifications necessary to do so. The
190
+ Licensor waives and/or agrees not to assert any right or
191
+ authority to forbid You from making technical modifications
192
+ necessary to exercise the Licensed Rights, including
193
+ technical modifications necessary to circumvent Effective
194
+ Technological Measures. For purposes of this Public License,
195
+ simply making modifications authorized by this Section 2(a)
196
+ (4) never produces Adapted Material.
197
+
198
+ 5. Downstream recipients.
199
+
200
+ a. Offer from the Licensor -- Licensed Material. Every
201
+ recipient of the Licensed Material automatically
202
+ receives an offer from the Licensor to exercise the
203
+ Licensed Rights under the terms and conditions of this
204
+ Public License.
205
+
206
+ b. No downstream restrictions. You may not offer or impose
207
+ any additional or different terms or conditions on, or
208
+ apply any Effective Technological Measures to, the
209
+ Licensed Material if doing so restricts exercise of the
210
+ Licensed Rights by any recipient of the Licensed
211
+ Material.
212
+
213
+ 6. No endorsement. Nothing in this Public License constitutes or
214
+ may be construed as permission to assert or imply that You
215
+ are, or that Your use of the Licensed Material is, connected
216
+ with, or sponsored, endorsed, or granted official status by,
217
+ the Licensor or others designated to receive attribution as
218
+ provided in Section 3(a)(1)(A)(i).
219
+
220
+ b. Other rights.
221
+
222
+ 1. Moral rights, such as the right of integrity, are not
223
+ licensed under this Public License, nor are publicity,
224
+ privacy, and/or other similar personality rights; however, to
225
+ the extent possible, the Licensor waives and/or agrees not to
226
+ assert any such rights held by the Licensor to the limited
227
+ extent necessary to allow You to exercise the Licensed
228
+ Rights, but not otherwise.
229
+
230
+ 2. Patent and trademark rights are not licensed under this
231
+ Public License.
232
+
233
+ 3. To the extent possible, the Licensor waives any right to
234
+ collect royalties from You for the exercise of the Licensed
235
+ Rights, whether directly or through a collecting society
236
+ under any voluntary or waivable statutory or compulsory
237
+ licensing scheme. In all other cases the Licensor expressly
238
+ reserves any right to collect such royalties, including when
239
+ the Licensed Material is used other than for NonCommercial
240
+ purposes.
241
+
242
+
243
+ Section 3 -- License Conditions.
244
+
245
+ Your exercise of the Licensed Rights is expressly made subject to the
246
+ following conditions.
247
+
248
+ a. Attribution.
249
+
250
+ 1. If You Share the Licensed Material (including in modified
251
+ form), You must:
252
+
253
+ a. retain the following if it is supplied by the Licensor
254
+ with the Licensed Material:
255
+
256
+ i. identification of the creator(s) of the Licensed
257
+ Material and any others designated to receive
258
+ attribution, in any reasonable manner requested by
259
+ the Licensor (including by pseudonym if
260
+ designated);
261
+
262
+ ii. a copyright notice;
263
+
264
+ iii. a notice that refers to this Public License;
265
+
266
+ iv. a notice that refers to the disclaimer of
267
+ warranties;
268
+
269
+ v. a URI or hyperlink to the Licensed Material to the
270
+ extent reasonably practicable;
271
+
272
+ b. indicate if You modified the Licensed Material and
273
+ retain an indication of any previous modifications; and
274
+
275
+ c. indicate the Licensed Material is licensed under this
276
+ Public License, and include the text of, or the URI or
277
+ hyperlink to, this Public License.
278
+
279
+ 2. You may satisfy the conditions in Section 3(a)(1) in any
280
+ reasonable manner based on the medium, means, and context in
281
+ which You Share the Licensed Material. For example, it may be
282
+ reasonable to satisfy the conditions by providing a URI or
283
+ hyperlink to a resource that includes the required
284
+ information.
285
+
286
+ 3. If requested by the Licensor, You must remove any of the
287
+ information required by Section 3(a)(1)(A) to the extent
288
+ reasonably practicable.
289
+
290
+ 4. If You Share Adapted Material You produce, the Adapter's
291
+ License You apply must not prevent recipients of the Adapted
292
+ Material from complying with this Public License.
293
+
294
+
295
+ Section 4 -- Sui Generis Database Rights.
296
+
297
+ Where the Licensed Rights include Sui Generis Database Rights that
298
+ apply to Your use of the Licensed Material:
299
+
300
+ a. for the avoidance of doubt, Section 2(a)(1) grants You the right
301
+ to extract, reuse, reproduce, and Share all or a substantial
302
+ portion of the contents of the database for NonCommercial purposes
303
+ only;
304
+
305
+ b. if You include all or a substantial portion of the database
306
+ contents in a database in which You have Sui Generis Database
307
+ Rights, then the database in which You have Sui Generis Database
308
+ Rights (but not its individual contents) is Adapted Material; and
309
+
310
+ c. You must comply with the conditions in Section 3(a) if You Share
311
+ all or a substantial portion of the contents of the database.
312
+
313
+ For the avoidance of doubt, this Section 4 supplements and does not
314
+ replace Your obligations under this Public License where the Licensed
315
+ Rights include other Copyright and Similar Rights.
316
+
317
+
318
+ Section 5 -- Disclaimer of Warranties and Limitation of Liability.
319
+
320
+ a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
321
+ EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
322
+ AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
323
+ ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
324
+ IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
325
+ WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
326
+ PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
327
+ ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
328
+ KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
329
+ ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
330
+
331
+ b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
332
+ TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
333
+ NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
334
+ INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
335
+ COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
336
+ USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
337
+ ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
338
+ DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
339
+ IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
340
+
341
+ c. The disclaimer of warranties and limitation of liability provided
342
+ above shall be interpreted in a manner that, to the extent
343
+ possible, most closely approximates an absolute disclaimer and
344
+ waiver of all liability.
345
+
346
+
347
+ Section 6 -- Term and Termination.
348
+
349
+ a. This Public License applies for the term of the Copyright and
350
+ Similar Rights licensed here. However, if You fail to comply with
351
+ this Public License, then Your rights under this Public License
352
+ terminate automatically.
353
+
354
+ b. Where Your right to use the Licensed Material has terminated under
355
+ Section 6(a), it reinstates:
356
+
357
+ 1. automatically as of the date the violation is cured, provided
358
+ it is cured within 30 days of Your discovery of the
359
+ violation; or
360
+
361
+ 2. upon express reinstatement by the Licensor.
362
+
363
+ For the avoidance of doubt, this Section 6(b) does not affect any
364
+ right the Licensor may have to seek remedies for Your violations
365
+ of this Public License.
366
+
367
+ c. For the avoidance of doubt, the Licensor may also offer the
368
+ Licensed Material under separate terms or conditions or stop
369
+ distributing the Licensed Material at any time; however, doing so
370
+ will not terminate this Public License.
371
+
372
+ d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
373
+ License.
374
+
375
+
376
+ Section 7 -- Other Terms and Conditions.
377
+
378
+ a. The Licensor shall not be bound by any additional or different
379
+ terms or conditions communicated by You unless expressly agreed.
380
+
381
+ b. Any arrangements, understandings, or agreements regarding the
382
+ Licensed Material not stated herein are separate from and
383
+ independent of the terms and conditions of this Public License.
384
+
385
+
386
+ Section 8 -- Interpretation.
387
+
388
+ a. For the avoidance of doubt, this Public License does not, and
389
+ shall not be interpreted to, reduce, limit, restrict, or impose
390
+ conditions on any use of the Licensed Material that could lawfully
391
+ be made without permission under this Public License.
392
+
393
+ b. To the extent possible, if any provision of this Public License is
394
+ deemed unenforceable, it shall be automatically reformed to the
395
+ minimum extent necessary to make it enforceable. If the provision
396
+ cannot be reformed, it shall be severed from this Public License
397
+ without affecting the enforceability of the remaining terms and
398
+ conditions.
399
+
400
+ c. No term or condition of this Public License will be waived and no
401
+ failure to comply consented to unless expressly agreed to by the
402
+ Licensor.
403
+
404
+ d. Nothing in this Public License constitutes or may be interpreted
405
+ as a limitation upon, or waiver of, any privileges and immunities
406
+ that apply to the Licensor or You, including from the legal
407
+ processes of any jurisdiction or authority.
408
+
409
+ =======================================================================
410
+
411
+ Creative Commons is not a party to its public
412
+ licenses. Notwithstanding, Creative Commons may elect to apply one of
413
+ its public licenses to material it publishes and in those instances
414
+ will be considered the “Licensor.” The text of the Creative Commons
415
+ public licenses is dedicated to the public domain under the CC0 Public
416
+ Domain Dedication. Except for the limited purpose of indicating that
417
+ material is shared under a Creative Commons public license or as
418
+ otherwise permitted by the Creative Commons policies published at
419
+ creativecommons.org/policies, Creative Commons does not authorize the
420
+ use of the trademark "Creative Commons" or any other trademark or logo
421
+ of Creative Commons without its prior written consent including,
422
+ without limitation, in connection with any unauthorized modifications
423
+ to any of its public licenses or any other arrangements,
424
+ understandings, or agreements concerning use of licensed material. For
425
+ the avoidance of doubt, this paragraph does not form part of the
426
+ public licenses.
427
+
428
+ Creative Commons may be contacted at creativecommons.org.
429
+
README.md ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: cc-by-nc-4.0
3
+ base_model:
4
+ - Altworld/Hemmingway-1
5
+ base_model_relation: finetune
6
+ pipeline_tag: image-text-to-text
7
+ library_name: transformers
8
+ language:
9
+ - en
10
+ tags:
11
+ - qwen3.8
12
+ - hemmingway
13
+ - vision-language
14
+ - creative-writing
15
+ - tool-calling
16
+ ---
17
+
18
+ # Hemmingway-1 VL
19
+
20
+ [Altworld/Hemmingway-1](https://huggingface.co/Altworld/Hemmingway-1) (a Qwen3.8-27B fine-tune for everyday writing),
21
+ converted from its text-only `Qwen3_5ForCausalLM` layout back into the stock
22
+ [Qwen/Qwen3.8-27B](https://huggingface.co/Qwen/Qwen3.8-27B) vision-language layout
23
+ (`Qwen3_5ForConditionalGeneration`), with Qwen3.8-27B's own vision tower restored. **Every language-model weight is
24
+ Hemmingway-1's, unchanged.** The layout is the one the Qwen3.8 tooling ecosystem expects (vLLM, llama.cpp mmproj,
25
+ Heretic, quantizers), and you can give it images again.
26
+
27
+ All credit for the model goes to [Altworld](https://hemmingway.io). This is a format conversion, nothing more.
28
+
29
+ ## What changed, and proof that nothing else did
30
+
31
+ - Tensor names: `model.layers.*` → `model.language_model.layers.*` (and `embed_tokens`, `norm`). `lm_head.*` and the
32
+ multi-token-prediction head `mtp.*` are kept as-is.
33
+ - Added: the 333 `model.visual.*` tensors from Qwen/Qwen3.8-27B, plus its image/video processor configs.
34
+ - Config: Qwen3.8-27B's own `config.json`. Hemmingway-1's text config is identical to its `text_config`, field for field.
35
+
36
+ Verified:
37
+
38
+ | Check | Result |
39
+ |---|---|
40
+ | All 866 Hemmingway-1 tensors (incl. MTP), byte-compared | **byte-identical**, same dtypes |
41
+ | All 333 vision tensors vs Qwen3.8-27B | **byte-identical** |
42
+ | Logits, original vs this repo (transformers 5.17, bf16), on 5 prompts incl. a tool call and a tool result | **bit-equal** (max difference 0) |
43
+ | 48-token greedy continuations on the same prompts | **identical**, incl. the `<tool_call>` output |
44
+
45
+ The chat template (including tool calling) is Qwen3.8's, which Hemmingway-1 already uses unchanged.
46
+
47
+ ## Use
48
+
49
+ ```python
50
+ from transformers import AutoModelForImageTextToText, AutoTokenizer
51
+ tok = AutoTokenizer.from_pretrained("darrellbest/Hemmingway-1-VL")
52
+ model = AutoModelForImageTextToText.from_pretrained("darrellbest/Hemmingway-1-VL", dtype="auto", device_map="auto")
53
+ ```
54
+
55
+ ```bash
56
+ vllm serve darrellbest/Hemmingway-1-VL
57
+ ```
58
+
59
+ GGUF (BF16 + vision mmproj, quants to follow): [darrellbest/Hemmingway-1-GGUF](https://huggingface.co/darrellbest/Hemmingway-1-GGUF).
60
+
61
+ **For fine-tuning**, either layout works. Altworld's original text-only repo is the simplest for text/tool-call LoRA.
62
+ Since the language weights are identical, an adapter trained on one applies to the other once its module names get
63
+ the `language_model.` prefix.
64
+
65
+ ## Licence
66
+
67
+ Same as Hemmingway-1: [CC BY-NC 4.0](https://creativecommons.org/licenses/by-nc/4.0/). Non-commercial use, with
68
+ credit to Hemmingway-1 / Altworld. Commercial use needs an agreement with Altworld (luka@hemmingway.io). The vision
69
+ tower comes from Qwen3.8-27B (Apache-2.0).
chat_template.jinja ADDED
@@ -0,0 +1,170 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {%- set image_count = namespace(value=0) %}
2
+ {%- set video_count = namespace(value=0) %}
3
+ {%- macro render_content(content, do_vision_count, is_system_content=false) %}
4
+ {%- if content is string %}
5
+ {{- content }}
6
+ {%- elif content is iterable and content is not mapping %}
7
+ {%- for item in content %}
8
+ {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
9
+ {%- if is_system_content %}
10
+ {{- raise_exception('System message cannot contain images.') }}
11
+ {%- endif %}
12
+ {%- if do_vision_count %}
13
+ {%- set image_count.value = image_count.value + 1 %}
14
+ {%- endif %}
15
+ {%- if add_vision_id %}
16
+ {{- 'Picture ' ~ image_count.value ~ ': ' }}
17
+ {%- endif %}
18
+ {{- '<|vision_start|><|image_pad|><|vision_end|>' }}
19
+ {%- elif 'video' in item or item.type == 'video' %}
20
+ {%- if is_system_content %}
21
+ {{- raise_exception('System message cannot contain videos.') }}
22
+ {%- endif %}
23
+ {%- if do_vision_count %}
24
+ {%- set video_count.value = video_count.value + 1 %}
25
+ {%- endif %}
26
+ {%- if add_vision_id %}
27
+ {{- 'Video ' ~ video_count.value ~ ': ' }}
28
+ {%- endif %}
29
+ {{- '<|vision_start|><|video_pad|><|vision_end|>' }}
30
+ {%- elif 'text' in item %}
31
+ {{- item.text }}
32
+ {%- else %}
33
+ {{- raise_exception('Unexpected item type in content.') }}
34
+ {%- endif %}
35
+ {%- endfor %}
36
+ {%- elif content is none or content is undefined %}
37
+ {{- '' }}
38
+ {%- else %}
39
+ {{- raise_exception('Unexpected content type.') }}
40
+ {%- endif %}
41
+ {%- endmacro %}
42
+ {%- if not messages %}
43
+ {{- raise_exception('No messages provided.') }}
44
+ {%- endif %}
45
+ {%- set reasoning_instructions = '' %}
46
+ {%- if enable_thinking is undefined or enable_thinking is true %}
47
+ {%- set resolved_reasoning_effort = reasoning_effort|default('xhigh') %}
48
+ {%- if resolved_reasoning_effort not in ('xhigh', 'medium', 'low') %}
49
+ {{- raise_exception('Unexpected reasoning effort ' ~ reasoning_effort ~ '. Supported types are xhigh (default), medium, and low.') }}
50
+ {%- endif %}
51
+ {%- if resolved_reasoning_effort == 'xhigh' %}
52
+ {%- set reasoning_instructions = 'Reasoning effort is set to xhigh. Please think carefully through the task, validate key assumptions, consider plausible alternatives, and prioritize correctness, consistency, and clarity in the final answer.' %}
53
+ {%- elif resolved_reasoning_effort == 'low' %}
54
+ {%- set reasoning_instructions = 'Reasoning effort is set to low. Keep your thinking brief and focused, moving directly to the conclusion without unnecessary elaboration.' %}
55
+ {%- endif %}
56
+ {%- endif %}
57
+ {%- if tools and tools is iterable and tools is not mapping %}
58
+ {{- '<|im_start|>system\n' }}
59
+ {%- if reasoning_instructions %}
60
+ {{- reasoning_instructions + '\n\n' }}
61
+ {%- endif %}
62
+ {{- "# Tools\n\nYou have access to the following functions:\n\n<tools>" }}
63
+ {%- for tool in tools %}
64
+ {{- "\n" }}
65
+ {{- tool | tojson }}
66
+ {%- endfor %}
67
+ {{- "\n</tools>" }}
68
+ {{- '\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>' }}
69
+ {%- if messages[0].role == 'system' %}
70
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
71
+ {%- if content %}
72
+ {{- '\n\n' + content }}
73
+ {%- endif %}
74
+ {%- endif %}
75
+ {{- '<|im_end|>\n' }}
76
+ {%- else %}
77
+ {%- if messages[0].role == 'system' %}
78
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
79
+ {%- if content %}
80
+ {{- '<|im_start|>system\n' + (reasoning_instructions + '\n\n' if reasoning_instructions else '') + content + '<|im_end|>\n' }}
81
+ {%- elif reasoning_instructions %}
82
+ {{- '<|im_start|>system\n' + reasoning_instructions + '<|im_end|>\n' }}
83
+ {%- endif %}
84
+ {%- elif reasoning_instructions %}
85
+ {{- '<|im_start|>system\n' + reasoning_instructions + '<|im_end|>\n' }}
86
+ {%- endif %}
87
+ {%- endif %}
88
+ {%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
89
+ {%- for message in messages[::-1] %}
90
+ {%- set index = (messages|length - 1) - loop.index0 %}
91
+ {%- if ns.multi_step_tool and message.role == "user" %}
92
+ {%- set content = render_content(message.content, false)|trim %}
93
+ {%- if not(content.startswith('<tool_response>') and content.endswith('</tool_response>')) %}
94
+ {%- set ns.multi_step_tool = false %}
95
+ {%- set ns.last_query_index = index %}
96
+ {%- endif %}
97
+ {%- endif %}
98
+ {%- endfor %}
99
+ {%- if ns.multi_step_tool %}
100
+ {{- raise_exception('No user query found in messages.') }}
101
+ {%- endif %}
102
+ {%- for message in messages %}
103
+ {%- set content = render_content(message.content, true)|trim %}
104
+ {%- if message.role == "system" %}
105
+ {%- if not loop.first %}
106
+ {{- raise_exception('System message must be at the beginning.') }}
107
+ {%- endif %}
108
+ {%- elif message.role == "user" %}
109
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
110
+ {%- elif message.role == "assistant" %}
111
+ {%- set reasoning_content = '' %}
112
+ {%- if message.reasoning_content is string %}
113
+ {%- set reasoning_content = message.reasoning_content %}
114
+ {%- endif %}
115
+ {%- set reasoning_content = reasoning_content|trim %}
116
+ {%- if preserve_thinking is undefined or preserve_thinking is true or loop.index0 > ns.last_query_index %}
117
+ {{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content + '\n</think>\n\n' + content }}
118
+ {%- else %}
119
+ {{- '<|im_start|>' + message.role + '\n' + content }}
120
+ {%- endif %}
121
+ {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
122
+ {%- for tool_call in message.tool_calls %}
123
+ {%- if tool_call.function is defined %}
124
+ {%- set tool_call = tool_call.function %}
125
+ {%- endif %}
126
+ {%- if loop.first %}
127
+ {%- if content|trim %}
128
+ {{- '\n\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
129
+ {%- else %}
130
+ {{- '<tool_call>\n<function=' + tool_call.name + '>\n' }}
131
+ {%- endif %}
132
+ {%- else %}
133
+ {{- '\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
134
+ {%- endif %}
135
+ {%- if tool_call.arguments is defined and tool_call.arguments != '' %}
136
+ {%- for args_name, args_value in tool_call.arguments|items %}
137
+ {{- '<parameter=' + args_name + '>\n' }}
138
+ {%- set args_value = args_value | string if args_value is string else args_value | tojson | safe %}
139
+ {{- args_value }}
140
+ {{- '\n</parameter>\n' }}
141
+ {%- endfor %}
142
+ {%- endif %}
143
+ {{- '</function>\n</tool_call>' }}
144
+ {%- endfor %}
145
+ {%- endif %}
146
+ {{- '<|im_end|>\n' }}
147
+ {%- elif message.role == "tool" %}
148
+ {%- if loop.previtem and loop.previtem.role != "tool" %}
149
+ {{- '<|im_start|>user' }}
150
+ {%- endif %}
151
+ {{- '\n<tool_response>\n' }}
152
+ {{- content }}
153
+ {{- '\n</tool_response>' }}
154
+ {%- if not loop.last and loop.nextitem.role != "tool" %}
155
+ {{- '<|im_end|>\n' }}
156
+ {%- elif loop.last %}
157
+ {{- '<|im_end|>\n' }}
158
+ {%- endif %}
159
+ {%- else %}
160
+ {{- raise_exception('Unexpected message role.') }}
161
+ {%- endif %}
162
+ {%- endfor %}
163
+ {%- if add_generation_prompt %}
164
+ {{- '<|im_start|>assistant\n' }}
165
+ {%- if enable_thinking is defined and enable_thinking is false %}
166
+ {{- '<think>\n\n</think>\n\n' }}
167
+ {%- else %}
168
+ {{- '<think>\n' }}
169
+ {%- endif %}
170
+ {%- endif %}
config.json ADDED
@@ -0,0 +1,140 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "Qwen3_5ForConditionalGeneration"
4
+ ],
5
+ "image_token_id": 248056,
6
+ "language_model_only": false,
7
+ "model_type": "qwen3_5",
8
+ "text_config": {
9
+ "attention_bias": false,
10
+ "attention_dropout": 0.0,
11
+ "attn_output_gate": true,
12
+ "bos_token_id": 248044,
13
+ "dtype": "bfloat16",
14
+ "eos_token_id": 248044,
15
+ "full_attention_interval": 4,
16
+ "head_dim": 256,
17
+ "hidden_act": "silu",
18
+ "hidden_size": 5120,
19
+ "initializer_range": 0.02,
20
+ "intermediate_size": 17408,
21
+ "layer_types": [
22
+ "linear_attention",
23
+ "linear_attention",
24
+ "linear_attention",
25
+ "full_attention",
26
+ "linear_attention",
27
+ "linear_attention",
28
+ "linear_attention",
29
+ "full_attention",
30
+ "linear_attention",
31
+ "linear_attention",
32
+ "linear_attention",
33
+ "full_attention",
34
+ "linear_attention",
35
+ "linear_attention",
36
+ "linear_attention",
37
+ "full_attention",
38
+ "linear_attention",
39
+ "linear_attention",
40
+ "linear_attention",
41
+ "full_attention",
42
+ "linear_attention",
43
+ "linear_attention",
44
+ "linear_attention",
45
+ "full_attention",
46
+ "linear_attention",
47
+ "linear_attention",
48
+ "linear_attention",
49
+ "full_attention",
50
+ "linear_attention",
51
+ "linear_attention",
52
+ "linear_attention",
53
+ "full_attention",
54
+ "linear_attention",
55
+ "linear_attention",
56
+ "linear_attention",
57
+ "full_attention",
58
+ "linear_attention",
59
+ "linear_attention",
60
+ "linear_attention",
61
+ "full_attention",
62
+ "linear_attention",
63
+ "linear_attention",
64
+ "linear_attention",
65
+ "full_attention",
66
+ "linear_attention",
67
+ "linear_attention",
68
+ "linear_attention",
69
+ "full_attention",
70
+ "linear_attention",
71
+ "linear_attention",
72
+ "linear_attention",
73
+ "full_attention",
74
+ "linear_attention",
75
+ "linear_attention",
76
+ "linear_attention",
77
+ "full_attention",
78
+ "linear_attention",
79
+ "linear_attention",
80
+ "linear_attention",
81
+ "full_attention",
82
+ "linear_attention",
83
+ "linear_attention",
84
+ "linear_attention",
85
+ "full_attention"
86
+ ],
87
+ "linear_conv_kernel_dim": 4,
88
+ "linear_key_head_dim": 128,
89
+ "linear_num_key_heads": 16,
90
+ "linear_num_value_heads": 48,
91
+ "linear_value_head_dim": 128,
92
+ "mamba_ssm_dtype": "float32",
93
+ "max_position_embeddings": 262144,
94
+ "model_type": "qwen3_5_text",
95
+ "mtp_num_hidden_layers": 1,
96
+ "mtp_use_dedicated_embeddings": false,
97
+ "num_attention_heads": 24,
98
+ "num_hidden_layers": 64,
99
+ "num_key_value_heads": 4,
100
+ "output_gate_type": "swish",
101
+ "pad_token_id": null,
102
+ "partial_rotary_factor": 0.25,
103
+ "rms_norm_eps": 1e-06,
104
+ "rope_parameters": {
105
+ "mrope_interleaved": true,
106
+ "mrope_section": [
107
+ 11,
108
+ 11,
109
+ 10
110
+ ],
111
+ "partial_rotary_factor": 0.25,
112
+ "rope_theta": 10000000,
113
+ "rope_type": "default"
114
+ },
115
+ "tie_word_embeddings": false,
116
+ "use_cache": true,
117
+ "vocab_size": 248320
118
+ },
119
+ "tie_word_embeddings": false,
120
+ "transformers_version": "5.8.0.dev0",
121
+ "video_token_id": 248057,
122
+ "vision_config": {
123
+ "deepstack_visual_indexes": [],
124
+ "depth": 27,
125
+ "hidden_act": "gelu_pytorch_tanh",
126
+ "hidden_size": 1152,
127
+ "in_channels": 3,
128
+ "initializer_range": 0.02,
129
+ "intermediate_size": 4304,
130
+ "model_type": "qwen3_5",
131
+ "num_heads": 16,
132
+ "num_position_embeddings": 2304,
133
+ "out_hidden_size": 5120,
134
+ "patch_size": 16,
135
+ "spatial_merge_size": 2,
136
+ "temporal_patch_size": 2
137
+ },
138
+ "vision_end_token_id": 248054,
139
+ "vision_start_token_id": 248053
140
+ }
generation_config.json ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token_id": 248044,
3
+ "do_sample": true,
4
+ "eos_token_id": [
5
+ 248046,
6
+ 248044
7
+ ],
8
+ "pad_token_id": 248044,
9
+ "temperature": 1.0,
10
+ "top_k": 20,
11
+ "top_p": 0.95,
12
+ "transformers_version": "5.17.0"
13
+ }
model-00001-of-00011.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:91c0baeb1648054f44bf116ab7c3f8cba3173740afb374a3ef954c2e73f068e3
3
+ size 5317357528
model-00002-of-00011.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e0b5fa05e82fa4cfc4b3d1a92b15835bdf283acc6b6ae618441d40f4e0c6f447
3
+ size 5290305840
model-00003-of-00011.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7b4bb1d4f884ef6648b238f88358414f945c380af9247b0325baca34db210810
3
+ size 5196991648
model-00004-of-00011.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a38b0569430b5682ffd4c660fb367a75a22a86757fe4b124d6fa0b42f59cf1db
3
+ size 5269345792
model-00005-of-00011.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:020501f0a7c865ff698067bcabdd0eab4d060a82465dc1616115dee97dea7461
3
+ size 5321764880
model-00006-of-00011.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:50c64c3e37985b6c59a82148119faa4b8a8a9a898c3dd7f4005bbaef28be2d6d
3
+ size 5342735384
model-00007-of-00011.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1a2fb15630ebadafa78f3740a74dec6338fbbd80c1a55b671893fa55822885f1
3
+ size 5322830672
model-00008-of-00011.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:85366e003e8db9f48d5d46694a42fbc1f2126456c73a00ffd4a36216ed47ef49
3
+ size 5321764896
model-00009-of-00011.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a4bfc40fe96c6819a4d3d24608cfe3e48fe2c30acd274bac424c17e590317e02
3
+ size 5321764880
model-00010-of-00011.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b4fe84f02e460f5ac4256d70760aac87a6b8db4cf7ac2922d6ab2ddb448535d1
3
+ size 5342735384
model-00011-of-00011.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fe3ddba6e86fb2e1253961d86954bcb133d3e3d0f1544363e3be3733e6174190
3
+ size 2515410064
model.safetensors.index.json ADDED
The diff for this file is too large to render. See raw diff
 
preprocessor_config.json ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "size": {
3
+ "longest_edge": 16777216,
4
+ "shortest_edge": 65536
5
+ },
6
+ "patch_size": 16,
7
+ "temporal_patch_size": 2,
8
+ "merge_size": 2,
9
+ "image_mean": [
10
+ 0.5,
11
+ 0.5,
12
+ 0.5
13
+ ],
14
+ "image_std": [
15
+ 0.5,
16
+ 0.5,
17
+ 0.5
18
+ ],
19
+ "processor_class": "Qwen3VLProcessor",
20
+ "image_processor_type": "Qwen2VLImageProcessorFast"
21
+ }
tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:06b9509352d2af50381ab2247e083b80d32d5c0aba91c272ca9ff729b6a0e523
3
+ size 19989325
tokenizer_config.json ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_prefix_space": false,
3
+ "audio_bos_token": "<|audio_start|>",
4
+ "audio_eos_token": "<|audio_end|>",
5
+ "audio_token": "<|audio_pad|>",
6
+ "backend": "tokenizers",
7
+ "bos_token": null,
8
+ "clean_up_tokenization_spaces": false,
9
+ "eos_token": "<|im_end|>",
10
+ "errors": "replace",
11
+ "image_token": "<|image_pad|>",
12
+ "is_local": true,
13
+ "local_files_only": false,
14
+ "model_max_length": 262144,
15
+ "model_specific_special_tokens": {
16
+ "audio_bos_token": "<|audio_start|>",
17
+ "audio_eos_token": "<|audio_end|>",
18
+ "audio_token": "<|audio_pad|>",
19
+ "image_token": "<|image_pad|>",
20
+ "video_token": "<|video_pad|>",
21
+ "vision_bos_token": "<|vision_start|>",
22
+ "vision_eos_token": "<|vision_end|>"
23
+ },
24
+ "pad_token": "<|endoftext|>",
25
+ "pretokenize_regex": "(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\\r\\n\\p{L}\\p{N}]?[\\p{L}\\p{M}]+|\\p{N}| ?[^\\s\\p{L}\\p{M}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+",
26
+ "split_special_tokens": false,
27
+ "tokenizer_class": "Qwen2Tokenizer",
28
+ "unk_token": null,
29
+ "video_token": "<|video_pad|>",
30
+ "vision_bos_token": "<|vision_start|>",
31
+ "vision_eos_token": "<|vision_end|>"
32
+ }
video_preprocessor_config.json ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "size": {
3
+ "longest_edge": 25165824,
4
+ "shortest_edge": 4096
5
+ },
6
+ "patch_size": 16,
7
+ "temporal_patch_size": 2,
8
+ "merge_size": 2,
9
+ "image_mean": [
10
+ 0.5,
11
+ 0.5,
12
+ 0.5
13
+ ],
14
+ "image_std": [
15
+ 0.5,
16
+ 0.5,
17
+ 0.5
18
+ ],
19
+ "processor_class": "Qwen3VLProcessor",
20
+ "video_processor_type": "Qwen3VLVideoProcessor"
21
+ }