Instructions to use ukisai/Swift-1.5-3bit-MLX-TextOnly with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use ukisai/Swift-1.5-3bit-MLX-TextOnly with MLX:
# Make sure mlx-lm is installed # pip install --upgrade mlx-lm # Generate text with mlx-lm from mlx_lm import load, generate model, tokenizer = load("ukisai/Swift-1.5-3bit-MLX-TextOnly") prompt = "Write a story about Einstein" messages = [{"role": "user", "content": prompt}] prompt = tokenizer.apply_chat_template( messages, add_generation_prompt=True ) text = generate(model, tokenizer, prompt=prompt, verbose=True) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Pi
How to use ukisai/Swift-1.5-3bit-MLX-TextOnly with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "ukisai/Swift-1.5-3bit-MLX-TextOnly"
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "mlx-lm": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "ukisai/Swift-1.5-3bit-MLX-TextOnly" } ] } } }Run Pi
# Start Pi in your project directory: pi
- MLX LM
How to use ukisai/Swift-1.5-3bit-MLX-TextOnly with MLX LM:
Generate or start a chat session
# Install MLX LM uv tool install mlx-lm # Interactive chat REPL mlx_lm.chat --model "ukisai/Swift-1.5-3bit-MLX-TextOnly"
Run an OpenAI-compatible server
# Install MLX LM uv tool install mlx-lm # Start the server mlx_lm.server --model "ukisai/Swift-1.5-3bit-MLX-TextOnly" # Calling the OpenAI-compatible server with curl curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ukisai/Swift-1.5-3bit-MLX-TextOnly", "messages": [ {"role": "user", "content": "Hello"} ] }' - Hermes Agent
How to use ukisai/Swift-1.5-3bit-MLX-TextOnly with Hermes Agent:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "ukisai/Swift-1.5-3bit-MLX-TextOnly"
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default ukisai/Swift-1.5-3bit-MLX-TextOnly
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use ukisai/Swift-1.5-3bit-MLX-TextOnly with OpenClaw:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "ukisai/Swift-1.5-3bit-MLX-TextOnly"
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "ukisai/Swift-1.5-3bit-MLX-TextOnly" \ --custom-provider-id mlx-lm \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
Commit ·
e2109d9
0
Parent(s):
initial release
Browse files- .gitattributes +38 -0
- LICENSE +233 -0
- LICENSE-APACHE-2.0 +202 -0
- NOTICE +24 -0
- QUANTIZATION_MANIFEST.json +56 -0
- README.md +132 -0
- UPLOAD_MANIFEST.json +127 -0
- USAGE.md +65 -0
- chat_template.jinja +170 -0
- compatibility/LICENSE-MLX-LM-MIT +21 -0
- compatibility/package-checks.json +2028 -0
- config.json +138 -0
- generation_config.json +12 -0
- model-00001-of-00003.safetensors +3 -0
- model-00002-of-00003.safetensors +3 -0
- model-00003-of-00003.safetensors +3 -0
- model.safetensors.index.json +0 -0
- swift-1.5-planet-demo.mp4 +3 -0
- tokenizer.json +3 -0
- tokenizer_config.json +33 -0
- ukisai-banner.png +3 -0
- verify_release.py +152 -0
.gitattributes
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
*.7z filter=lfs diff=lfs merge=lfs -text
|
| 2 |
+
*.arrow filter=lfs diff=lfs merge=lfs -text
|
| 3 |
+
*.bin filter=lfs diff=lfs merge=lfs -text
|
| 4 |
+
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
| 5 |
+
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
| 6 |
+
*.ftz filter=lfs diff=lfs merge=lfs -text
|
| 7 |
+
*.gz filter=lfs diff=lfs merge=lfs -text
|
| 8 |
+
*.h5 filter=lfs diff=lfs merge=lfs -text
|
| 9 |
+
*.joblib filter=lfs diff=lfs merge=lfs -text
|
| 10 |
+
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
| 11 |
+
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
| 12 |
+
*.model filter=lfs diff=lfs merge=lfs -text
|
| 13 |
+
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
| 14 |
+
*.npy filter=lfs diff=lfs merge=lfs -text
|
| 15 |
+
*.npz filter=lfs diff=lfs merge=lfs -text
|
| 16 |
+
*.onnx filter=lfs diff=lfs merge=lfs -text
|
| 17 |
+
*.ot filter=lfs diff=lfs merge=lfs -text
|
| 18 |
+
*.parquet filter=lfs diff=lfs merge=lfs -text
|
| 19 |
+
*.pb filter=lfs diff=lfs merge=lfs -text
|
| 20 |
+
*.pickle filter=lfs diff=lfs merge=lfs -text
|
| 21 |
+
*.pkl filter=lfs diff=lfs merge=lfs -text
|
| 22 |
+
*.pt filter=lfs diff=lfs merge=lfs -text
|
| 23 |
+
*.pth filter=lfs diff=lfs merge=lfs -text
|
| 24 |
+
*.rar filter=lfs diff=lfs merge=lfs -text
|
| 25 |
+
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
| 26 |
+
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
| 27 |
+
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
| 28 |
+
*.tar filter=lfs diff=lfs merge=lfs -text
|
| 29 |
+
*.tflite filter=lfs diff=lfs merge=lfs -text
|
| 30 |
+
*.tgz filter=lfs diff=lfs merge=lfs -text
|
| 31 |
+
*.wasm filter=lfs diff=lfs merge=lfs -text
|
| 32 |
+
*.xz filter=lfs diff=lfs merge=lfs -text
|
| 33 |
+
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
+
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
+
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
tokenizer.json filter=lfs diff=lfs merge=lfs -text
|
| 37 |
+
ukisai-banner.png filter=lfs diff=lfs merge=lfs -text
|
| 38 |
+
swift-1.5-planet-demo.mp4 filter=lfs diff=lfs merge=lfs -text
|
LICENSE
ADDED
|
@@ -0,0 +1,233 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Swift Open License v1.0
|
| 2 |
+
|
| 3 |
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
| 4 |
+
|
| 5 |
+
1. Definitions.
|
| 6 |
+
|
| 7 |
+
"License" shall mean the terms and conditions for use, reproduction, and
|
| 8 |
+
distribution as defined by this document.
|
| 9 |
+
|
| 10 |
+
"Licensor" shall mean UkisAI.
|
| 11 |
+
|
| 12 |
+
"Legal Entity" shall mean the union of the acting entity and all other entities
|
| 13 |
+
that control, are controlled by, or are under common control with that entity.
|
| 14 |
+
For the purposes of this definition, "control" means (i) the power, direct or
|
| 15 |
+
indirect, to cause the direction or management of such entity, whether by
|
| 16 |
+
contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
| 17 |
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
| 18 |
+
|
| 19 |
+
"You" (or "Your") shall mean an individual or Legal Entity exercising
|
| 20 |
+
permissions granted by this License.
|
| 21 |
+
|
| 22 |
+
"Source" form shall mean the preferred form for making modifications,
|
| 23 |
+
including but not limited to software source code, documentation source,
|
| 24 |
+
configuration files, and model weights in an unquantized, trainable format.
|
| 25 |
+
|
| 26 |
+
"Object" form shall mean any form resulting from mechanical transformation or
|
| 27 |
+
translation of a Source form, including but not limited to compiled object
|
| 28 |
+
code, generated documentation, quantized or otherwise converted model weights,
|
| 29 |
+
and conversions to other media types or file formats.
|
| 30 |
+
|
| 31 |
+
"Base Model" shall mean the Qwen3.8-27B model, Copyright 2026 Alibaba Cloud,
|
| 32 |
+
made available at https://huggingface.co/Qwen/Qwen3.8-27B, including its
|
| 33 |
+
weights, configuration, tokenizer, and chat template, in any form.
|
| 34 |
+
|
| 35 |
+
"Base Model License" shall mean the Apache License, Version 2.0, under which
|
| 36 |
+
the Base Model is made available. A copy is distributed with the Work in the
|
| 37 |
+
file LICENSE-APACHE-2.0.
|
| 38 |
+
|
| 39 |
+
"Swift Contribution" shall mean the modifications to the Base Model authored
|
| 40 |
+
by Licensor, in any form, including without limitation adapted model weights,
|
| 41 |
+
weight deltas, model weights to the extent they differ from the Base Model, and
|
| 42 |
+
any configuration, documentation, and evaluation materials created by Licensor
|
| 43 |
+
and distributed with the Work.
|
| 44 |
+
|
| 45 |
+
"Work" shall mean the Swift Contribution together with, to the extent of
|
| 46 |
+
Licensor's rights therein, the Derivative Work of the Base Model made available
|
| 47 |
+
by Licensor under this License (as indicated by a copyright notice that is
|
| 48 |
+
included in or attached to the work), in any format made available by Licensor.
|
| 49 |
+
|
| 50 |
+
"Derivative Works" shall mean any work, whether in Source or Object form, that
|
| 51 |
+
is based on (or derived from) the Work and for which the editorial revisions,
|
| 52 |
+
annotations, elaborations, or other modifications represent, as a whole, an
|
| 53 |
+
original work of authorship. For the purposes of this License, Derivative Works
|
| 54 |
+
shall not include works that remain separable from, or merely link (or bind by
|
| 55 |
+
name) to the interfaces of, the Work and Derivative Works thereof.
|
| 56 |
+
|
| 57 |
+
"Contribution" shall mean any work of authorship, including the original
|
| 58 |
+
version of the Work and any modifications or additions to that Work or
|
| 59 |
+
Derivative Works thereof, that is intentionally submitted to Licensor for
|
| 60 |
+
inclusion in the Work by the copyright owner or by an individual or Legal
|
| 61 |
+
Entity authorized to submit on behalf of the copyright owner. For the purposes
|
| 62 |
+
of this definition, "submitted" means any form of electronic, verbal, or
|
| 63 |
+
written communication sent to the Licensor or its representatives, including
|
| 64 |
+
but not limited to communication on electronic mailing lists, source code
|
| 65 |
+
control systems, and issue tracking systems that are managed by, or on behalf
|
| 66 |
+
of, the Licensor for the purpose of discussing and improving the Work, but
|
| 67 |
+
excluding communication that is conspicuously marked or otherwise designated in
|
| 68 |
+
writing by the copyright owner as "Not a Contribution."
|
| 69 |
+
|
| 70 |
+
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf
|
| 71 |
+
of whom a Contribution has been received by Licensor and subsequently
|
| 72 |
+
incorporated within the Work.
|
| 73 |
+
|
| 74 |
+
"Commercial Use" shall mean any use of the Work or a Derivative Work for direct
|
| 75 |
+
or indirect commercial advantage or monetary compensation.
|
| 76 |
+
|
| 77 |
+
"Qualified Non-Profit Organization" shall mean a Legal Entity that is organized
|
| 78 |
+
and operated exclusively for religious, charitable, scientific, testing for
|
| 79 |
+
public safety, literary, or educational purposes, and which is exempt from
|
| 80 |
+
federal income tax under Section 501(c)(3) of the United States Internal
|
| 81 |
+
Revenue Code of 1986, as amended, or any equivalent non-profit or charitable
|
| 82 |
+
organization in a foreign jurisdiction.
|
| 83 |
+
|
| 84 |
+
"Non-Commercial or Research Purposes" shall mean purposes that do not involve
|
| 85 |
+
any use of the Work or a Derivative Work for Commercial Use.
|
| 86 |
+
|
| 87 |
+
"Threshold" shall mean gross revenue of one million United States dollars
|
| 88 |
+
(US$1,000,000) or more, measured over the most recently completed fiscal year
|
| 89 |
+
of You together with every Legal Entity that controls, is controlled by, or is
|
| 90 |
+
under common control with You.
|
| 91 |
+
|
| 92 |
+
2. Grant of Copyright License. Subject to the terms and conditions of this
|
| 93 |
+
License, including the Commercial Use limitation set forth in Section 5, each
|
| 94 |
+
Contributor hereby grants to You a perpetual, worldwide, non-exclusive,
|
| 95 |
+
no-charge, royalty-free, irrevocable copyright license to reproduce, prepare
|
| 96 |
+
Derivative Works of, publicly display, publicly perform, sublicense, and
|
| 97 |
+
distribute the Work and such Derivative Works in Source or Object form.
|
| 98 |
+
|
| 99 |
+
3. Grant of Patent License. Subject to the terms and conditions of this
|
| 100 |
+
License, including the Commercial Use limitation set forth in Section 5, each
|
| 101 |
+
Contributor hereby grants to You a perpetual, worldwide, non-exclusive,
|
| 102 |
+
no-charge, royalty-free, irrevocable (except as stated in this section) patent
|
| 103 |
+
license to make, have made, use, offer to sell, sell, import, and otherwise
|
| 104 |
+
transfer the Work, where such license applies only to those patent claims
|
| 105 |
+
licensable by such Contributor that are necessarily infringed by their
|
| 106 |
+
Contribution(s) alone or by combination of their Contribution(s) with the Work
|
| 107 |
+
to which such Contribution(s) was submitted. If You institute patent litigation
|
| 108 |
+
against any entity (including a cross-claim or counterclaim in a lawsuit)
|
| 109 |
+
alleging that the Work or a Contribution incorporated within the Work
|
| 110 |
+
constitutes direct or contributory patent infringement, then any patent
|
| 111 |
+
licenses granted to You under this License for that Work shall terminate as of
|
| 112 |
+
the date such litigation is filed.
|
| 113 |
+
|
| 114 |
+
4. Redistribution. You may reproduce and distribute copies of the Work or
|
| 115 |
+
Derivative Works thereof in any medium, with or without modifications, and in
|
| 116 |
+
Source or Object form, provided that You meet the following conditions:
|
| 117 |
+
|
| 118 |
+
(a) You must give any other recipients of the Work or Derivative Works a copy
|
| 119 |
+
of this License; and
|
| 120 |
+
|
| 121 |
+
(b) You must cause any modified files to carry prominent notices stating that
|
| 122 |
+
You changed the files; and
|
| 123 |
+
|
| 124 |
+
(c) You must retain, in the Source form of any Derivative Works that You
|
| 125 |
+
distribute, all copyright, patent, trademark, and attribution notices from the
|
| 126 |
+
Source form of the Work, excluding those notices that do not pertain to any
|
| 127 |
+
part of the Derivative Works; and
|
| 128 |
+
|
| 129 |
+
(d) If the Work includes a "NOTICE" text file as part of its distribution, then
|
| 130 |
+
any Derivative Works that You distribute must include a readable copy of the
|
| 131 |
+
attribution notices contained within such NOTICE file, excluding those notices
|
| 132 |
+
that do not pertain to any part of the Derivative Works, in at least one of the
|
| 133 |
+
following places: within a NOTICE text file distributed as part of the
|
| 134 |
+
Derivative Works; within the Source form or documentation, if provided along
|
| 135 |
+
with the Derivative Works; or, within a display generated by the Derivative
|
| 136 |
+
Works, if and wherever such third-party notices normally appear. The contents
|
| 137 |
+
of the NOTICE file are for informational purposes only and do not modify the
|
| 138 |
+
License. You may add Your own attribution notices within Derivative Works that
|
| 139 |
+
You distribute, alongside or as an addendum to the NOTICE text from the Work,
|
| 140 |
+
provided that such additional attribution notices cannot be construed as
|
| 141 |
+
modifying the License; and
|
| 142 |
+
|
| 143 |
+
(e) If the copy You distribute contains any portion of the Base Model
|
| 144 |
+
(including merged, quantized, or otherwise converted weights that incorporate
|
| 145 |
+
the Base Model), You must also give recipients a copy of the Base Model License
|
| 146 |
+
and must comply with the Base Model License with respect to the Base Model.
|
| 147 |
+
|
| 148 |
+
You may add Your own copyright statement to Your modifications and may provide
|
| 149 |
+
additional or different license terms and conditions for use, reproduction, or
|
| 150 |
+
distribution of Your modifications, or for any such Derivative Works as a
|
| 151 |
+
whole, provided Your use, reproduction, and distribution of the Work otherwise
|
| 152 |
+
complies with the conditions stated in this License, and provided that Section
|
| 153 |
+
5 continues to apply to the Swift Contribution contained in any such
|
| 154 |
+
Derivative Works.
|
| 155 |
+
|
| 156 |
+
5. Commercial Use Limitation.
|
| 157 |
+
|
| 158 |
+
(a) The rights granted under this License for Commercial Use are conditioned
|
| 159 |
+
upon You or Your Legal Entity not exceeding the Threshold.
|
| 160 |
+
|
| 161 |
+
(b) Any Commercial Use of the Work or a Derivative Work by a Legal Entity that
|
| 162 |
+
exceeds the Threshold is not licensed under this License.
|
| 163 |
+
|
| 164 |
+
(c) The Threshold shall not apply to a Qualified Non-Profit Organization's use
|
| 165 |
+
of the Work or a Derivative Work for Non-Commercial or Research Purposes.
|
| 166 |
+
|
| 167 |
+
(d) A Legal Entity that exceeds the Threshold may obtain a separate written
|
| 168 |
+
license for Commercial Use from Licensor (the "Swift Enterprise License").
|
| 169 |
+
Contact: https://ukisai.com/contact.
|
| 170 |
+
|
| 171 |
+
6. Base Model Rights. The Work incorporates the Base Model. Nothing in this
|
| 172 |
+
License limits, restricts, conditions, or modifies any rights You have in the
|
| 173 |
+
Base Model under the Base Model License, and the Base Model remains available
|
| 174 |
+
to You from its licensor under the Base Model License. Sections 5 and 12 of
|
| 175 |
+
this License apply solely to the Swift Contribution and to the Work or any
|
| 176 |
+
Derivative Work to the extent it contains, incorporates, or is derived from the
|
| 177 |
+
Swift Contribution.
|
| 178 |
+
|
| 179 |
+
7. Submission of Contributions. Unless You explicitly state otherwise, any
|
| 180 |
+
Contribution intentionally submitted for inclusion in the Work by You to the
|
| 181 |
+
Licensor shall be under the terms and conditions of this License, without any
|
| 182 |
+
additional terms or conditions. Notwithstanding the above, nothing herein shall
|
| 183 |
+
supersede or modify the terms of any separate license agreement you may have
|
| 184 |
+
executed with Licensor regarding such Contributions.
|
| 185 |
+
|
| 186 |
+
8. Trademarks. This License does not grant permission to use the trade names,
|
| 187 |
+
trademarks, service marks, or product names of the Licensor (including "UkisAI"
|
| 188 |
+
and "Swift"), except for the reasonable and customary use in describing the
|
| 189 |
+
origin of the Work and reproducing the content of the NOTICE file.
|
| 190 |
+
|
| 191 |
+
9. Disclaimer of Warranty. Unless required by applicable law or agreed to in
|
| 192 |
+
writing, Licensor provides the Work (and each Contributor provides its
|
| 193 |
+
Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
| 194 |
+
KIND, either express or implied, including, without limitation, any warranties
|
| 195 |
+
or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
| 196 |
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
| 197 |
+
appropriateness of using or redistributing the Work and assume any risks
|
| 198 |
+
associated with Your exercise of permissions under this License.
|
| 199 |
+
|
| 200 |
+
10. Limitation of Liability. In no event and under no legal theory, whether in
|
| 201 |
+
tort (including negligence), contract, or otherwise, unless required by
|
| 202 |
+
applicable law (such as deliberate and grossly negligent acts) or agreed to in
|
| 203 |
+
writing, shall any Contributor be liable to You for damages, including any
|
| 204 |
+
direct, indirect, special, incidental, or consequential damages of any
|
| 205 |
+
character arising as a result of this License or out of the use or inability to
|
| 206 |
+
use the Work (including but not limited to damages for loss of goodwill, work
|
| 207 |
+
stoppage, computer failure or malfunction, or any and all other commercial
|
| 208 |
+
damages or losses), even if such Contributor has been advised of the
|
| 209 |
+
possibility of such damages.
|
| 210 |
+
|
| 211 |
+
11. Accepting Warranty or Additional Liability. While redistributing the Work
|
| 212 |
+
or Derivative Works thereof, You may choose to offer, and charge a fee for,
|
| 213 |
+
acceptance of support, warranty, indemnity, or other liability obligations
|
| 214 |
+
and/or rights consistent with this License. However, in accepting such
|
| 215 |
+
obligations, You may act only on Your own behalf and on Your sole
|
| 216 |
+
responsibility, not on behalf of any other Contributor, and only if You agree
|
| 217 |
+
to indemnify, defend, and hold each Contributor harmless for any liability
|
| 218 |
+
incurred by, or claims asserted against, such Contributor by reason of your
|
| 219 |
+
accepting any such warranty or additional liability.
|
| 220 |
+
|
| 221 |
+
12. Termination. This License will terminate automatically and immediately if
|
| 222 |
+
You fail to comply with any of its terms and conditions. Upon termination, You
|
| 223 |
+
must cease all use of the Swift Contribution and of any Work or Derivative
|
| 224 |
+
Works containing it, and delete all copies in Your possession. Termination does
|
| 225 |
+
not affect Your rights in the Base Model under the Base Model License.
|
| 226 |
+
|
| 227 |
+
END OF TERMS AND CONDITIONS
|
| 228 |
+
|
| 229 |
+
APPENDIX: Notice for redistributors (quantizations, conversions, merges).
|
| 230 |
+
|
| 231 |
+
Copyright 2026 UkisAI. Swift Contribution licensed under the Swift Open
|
| 232 |
+
License v1.0 (https://huggingface.co/ukisai/Swift-1.5-Qwen3.8-27b/blob/main/LICENSE).
|
| 233 |
+
Derivative of Qwen3.8-27B, Copyright 2026 Alibaba Cloud, Apache License 2.0.
|
LICENSE-APACHE-2.0
ADDED
|
@@ -0,0 +1,202 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
|
| 2 |
+
Apache License
|
| 3 |
+
Version 2.0, January 2004
|
| 4 |
+
http://www.apache.org/licenses/
|
| 5 |
+
|
| 6 |
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
| 7 |
+
|
| 8 |
+
1. Definitions.
|
| 9 |
+
|
| 10 |
+
"License" shall mean the terms and conditions for use, reproduction,
|
| 11 |
+
and distribution as defined by Sections 1 through 9 of this document.
|
| 12 |
+
|
| 13 |
+
"Licensor" shall mean the copyright owner or entity authorized by
|
| 14 |
+
the copyright owner that is granting the License.
|
| 15 |
+
|
| 16 |
+
"Legal Entity" shall mean the union of the acting entity and all
|
| 17 |
+
other entities that control, are controlled by, or are under common
|
| 18 |
+
control with that entity. For the purposes of this definition,
|
| 19 |
+
"control" means (i) the power, direct or indirect, to cause the
|
| 20 |
+
direction or management of such entity, whether by contract or
|
| 21 |
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
| 22 |
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
| 23 |
+
|
| 24 |
+
"You" (or "Your") shall mean an individual or Legal Entity
|
| 25 |
+
exercising permissions granted by this License.
|
| 26 |
+
|
| 27 |
+
"Source" form shall mean the preferred form for making modifications,
|
| 28 |
+
including but not limited to software source code, documentation
|
| 29 |
+
source, and configuration files.
|
| 30 |
+
|
| 31 |
+
"Object" form shall mean any form resulting from mechanical
|
| 32 |
+
transformation or translation of a Source form, including but
|
| 33 |
+
not limited to compiled object code, generated documentation,
|
| 34 |
+
and conversions to other media types.
|
| 35 |
+
|
| 36 |
+
"Work" shall mean the work of authorship, whether in Source or
|
| 37 |
+
Object form, made available under the License, as indicated by a
|
| 38 |
+
copyright notice that is included in or attached to the work
|
| 39 |
+
(an example is provided in the Appendix below).
|
| 40 |
+
|
| 41 |
+
"Derivative Works" shall mean any work, whether in Source or Object
|
| 42 |
+
form, that is based on (or derived from) the Work and for which the
|
| 43 |
+
editorial revisions, annotations, elaborations, or other modifications
|
| 44 |
+
represent, as a whole, an original work of authorship. For the purposes
|
| 45 |
+
of this License, Derivative Works shall not include works that remain
|
| 46 |
+
separable from, or merely link (or bind by name) to the interfaces of,
|
| 47 |
+
the Work and Derivative Works thereof.
|
| 48 |
+
|
| 49 |
+
"Contribution" shall mean any work of authorship, including
|
| 50 |
+
the original version of the Work and any modifications or additions
|
| 51 |
+
to that Work or Derivative Works thereof, that is intentionally
|
| 52 |
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
| 53 |
+
or by an individual or Legal Entity authorized to submit on behalf of
|
| 54 |
+
the copyright owner. For the purposes of this definition, "submitted"
|
| 55 |
+
means any form of electronic, verbal, or written communication sent
|
| 56 |
+
to the Licensor or its representatives, including but not limited to
|
| 57 |
+
communication on electronic mailing lists, source code control systems,
|
| 58 |
+
and issue tracking systems that are managed by, or on behalf of, the
|
| 59 |
+
Licensor for the purpose of discussing and improving the Work, but
|
| 60 |
+
excluding communication that is conspicuously marked or otherwise
|
| 61 |
+
designated in writing by the copyright owner as "Not a Contribution."
|
| 62 |
+
|
| 63 |
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
| 64 |
+
on behalf of whom a Contribution has been received by Licensor and
|
| 65 |
+
subsequently incorporated within the Work.
|
| 66 |
+
|
| 67 |
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
| 68 |
+
this License, each Contributor hereby grants to You a perpetual,
|
| 69 |
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
| 70 |
+
copyright license to reproduce, prepare Derivative Works of,
|
| 71 |
+
publicly display, publicly perform, sublicense, and distribute the
|
| 72 |
+
Work and such Derivative Works in Source or Object form.
|
| 73 |
+
|
| 74 |
+
3. Grant of Patent License. Subject to the terms and conditions of
|
| 75 |
+
this License, each Contributor hereby grants to You a perpetual,
|
| 76 |
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
| 77 |
+
(except as stated in this section) patent license to make, have made,
|
| 78 |
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
| 79 |
+
where such license applies only to those patent claims licensable
|
| 80 |
+
by such Contributor that are necessarily infringed by their
|
| 81 |
+
Contribution(s) alone or by combination of their Contribution(s)
|
| 82 |
+
with the Work to which such Contribution(s) was submitted. If You
|
| 83 |
+
institute patent litigation against any entity (including a
|
| 84 |
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
| 85 |
+
or a Contribution incorporated within the Work constitutes direct
|
| 86 |
+
or contributory patent infringement, then any patent licenses
|
| 87 |
+
granted to You under this License for that Work shall terminate
|
| 88 |
+
as of the date such litigation is filed.
|
| 89 |
+
|
| 90 |
+
4. Redistribution. You may reproduce and distribute copies of the
|
| 91 |
+
Work or Derivative Works thereof in any medium, with or without
|
| 92 |
+
modifications, and in Source or Object form, provided that You
|
| 93 |
+
meet the following conditions:
|
| 94 |
+
|
| 95 |
+
(a) You must give any other recipients of the Work or
|
| 96 |
+
Derivative Works a copy of this License; and
|
| 97 |
+
|
| 98 |
+
(b) You must cause any modified files to carry prominent notices
|
| 99 |
+
stating that You changed the files; and
|
| 100 |
+
|
| 101 |
+
(c) You must retain, in the Source form of any Derivative Works
|
| 102 |
+
that You distribute, all copyright, patent, trademark, and
|
| 103 |
+
attribution notices from the Source form of the Work,
|
| 104 |
+
excluding those notices that do not pertain to any part of
|
| 105 |
+
the Derivative Works; and
|
| 106 |
+
|
| 107 |
+
(d) If the Work includes a "NOTICE" text file as part of its
|
| 108 |
+
distribution, then any Derivative Works that You distribute must
|
| 109 |
+
include a readable copy of the attribution notices contained
|
| 110 |
+
within such NOTICE file, excluding those notices that do not
|
| 111 |
+
pertain to any part of the Derivative Works, in at least one
|
| 112 |
+
of the following places: within a NOTICE text file distributed
|
| 113 |
+
as part of the Derivative Works; within the Source form or
|
| 114 |
+
documentation, if provided along with the Derivative Works; or,
|
| 115 |
+
within a display generated by the Derivative Works, if and
|
| 116 |
+
wherever such third-party notices normally appear. The contents
|
| 117 |
+
of the NOTICE file are for informational purposes only and
|
| 118 |
+
do not modify the License. You may add Your own attribution
|
| 119 |
+
notices within Derivative Works that You distribute, alongside
|
| 120 |
+
or as an addendum to the NOTICE text from the Work, provided
|
| 121 |
+
that such additional attribution notices cannot be construed
|
| 122 |
+
as modifying the License.
|
| 123 |
+
|
| 124 |
+
You may add Your own copyright statement to Your modifications and
|
| 125 |
+
may provide additional or different license terms and conditions
|
| 126 |
+
for use, reproduction, or distribution of Your modifications, or
|
| 127 |
+
for any such Derivative Works as a whole, provided Your use,
|
| 128 |
+
reproduction, and distribution of the Work otherwise complies with
|
| 129 |
+
the conditions stated in this License.
|
| 130 |
+
|
| 131 |
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
| 132 |
+
any Contribution intentionally submitted for inclusion in the Work
|
| 133 |
+
by You to the Licensor shall be under the terms and conditions of
|
| 134 |
+
this License, without any additional terms or conditions.
|
| 135 |
+
Notwithstanding the above, nothing herein shall supersede or modify
|
| 136 |
+
the terms of any separate license agreement you may have executed
|
| 137 |
+
with Licensor regarding such Contributions.
|
| 138 |
+
|
| 139 |
+
6. Trademarks. This License does not grant permission to use the trade
|
| 140 |
+
names, trademarks, service marks, or product names of the Licensor,
|
| 141 |
+
except as required for reasonable and customary use in describing the
|
| 142 |
+
origin of the Work and reproducing the content of the NOTICE file.
|
| 143 |
+
|
| 144 |
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
| 145 |
+
agreed to in writing, Licensor provides the Work (and each
|
| 146 |
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
| 147 |
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
| 148 |
+
implied, including, without limitation, any warranties or conditions
|
| 149 |
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
| 150 |
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
| 151 |
+
appropriateness of using or redistributing the Work and assume any
|
| 152 |
+
risks associated with Your exercise of permissions under this License.
|
| 153 |
+
|
| 154 |
+
8. Limitation of Liability. In no event and under no legal theory,
|
| 155 |
+
whether in tort (including negligence), contract, or otherwise,
|
| 156 |
+
unless required by applicable law (such as deliberate and grossly
|
| 157 |
+
negligent acts) or agreed to in writing, shall any Contributor be
|
| 158 |
+
liable to You for damages, including any direct, indirect, special,
|
| 159 |
+
incidental, or consequential damages of any character arising as a
|
| 160 |
+
result of this License or out of the use or inability to use the
|
| 161 |
+
Work (including but not limited to damages for loss of goodwill,
|
| 162 |
+
work stoppage, computer failure or malfunction, or any and all
|
| 163 |
+
other commercial damages or losses), even if such Contributor
|
| 164 |
+
has been advised of the possibility of such damages.
|
| 165 |
+
|
| 166 |
+
9. Accepting Warranty or Additional Liability. While redistributing
|
| 167 |
+
the Work or Derivative Works thereof, You may choose to offer,
|
| 168 |
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
| 169 |
+
or other liability obligations and/or rights consistent with this
|
| 170 |
+
License. However, in accepting such obligations, You may act only
|
| 171 |
+
on Your own behalf and on Your sole responsibility, not on behalf
|
| 172 |
+
of any other Contributor, and only if You agree to indemnify,
|
| 173 |
+
defend, and hold each Contributor harmless for any liability
|
| 174 |
+
incurred by, or claims asserted against, such Contributor by reason
|
| 175 |
+
of your accepting any such warranty or additional liability.
|
| 176 |
+
|
| 177 |
+
END OF TERMS AND CONDITIONS
|
| 178 |
+
|
| 179 |
+
APPENDIX: How to apply the Apache License to your work.
|
| 180 |
+
|
| 181 |
+
To apply the Apache License to your work, attach the following
|
| 182 |
+
boilerplate notice, with the fields enclosed by brackets "[]"
|
| 183 |
+
replaced with your own identifying information. (Don't include
|
| 184 |
+
the brackets!) The text should be enclosed in the appropriate
|
| 185 |
+
comment syntax for the file format. We also recommend that a
|
| 186 |
+
file or class name and description of purpose be included on the
|
| 187 |
+
same "printed page" as the copyright notice for easier
|
| 188 |
+
identification within third-party archives.
|
| 189 |
+
|
| 190 |
+
Copyright 2026 Alibaba Cloud
|
| 191 |
+
|
| 192 |
+
Licensed under the Apache License, Version 2.0 (the "License");
|
| 193 |
+
you may not use this file except in compliance with the License.
|
| 194 |
+
You may obtain a copy of the License at
|
| 195 |
+
|
| 196 |
+
http://www.apache.org/licenses/LICENSE-2.0
|
| 197 |
+
|
| 198 |
+
Unless required by applicable law or agreed to in writing, software
|
| 199 |
+
distributed under the License is distributed on an "AS IS" BASIS,
|
| 200 |
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| 201 |
+
See the License for the specific language governing permissions and
|
| 202 |
+
limitations under the License.
|
NOTICE
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Swift 1.5 Qwen3.8-27B
|
| 2 |
+
Copyright 2026 UkisAI
|
| 3 |
+
|
| 4 |
+
UkisAI's contribution (the "Swift Contribution") is licensed under the
|
| 5 |
+
Swift Open License v1.0. See LICENSE.
|
| 6 |
+
|
| 7 |
+
This model is a Derivative Work of Qwen3.8-27B
|
| 8 |
+
https://huggingface.co/Qwen/Qwen3.8-27B
|
| 9 |
+
Copyright 2026 Alibaba Cloud
|
| 10 |
+
Licensed under the Apache License, Version 2.0. See LICENSE-APACHE-2.0.
|
| 11 |
+
|
| 12 |
+
Swift 1.5 continues UkisAI's Swift 1.0 model, itself a Qwen3.8-27B
|
| 13 |
+
derivative. The full release incorporates the Qwen3.8-27B Base Model and
|
| 14 |
+
UkisAI's Swift 1.0 and Swift 1.5 contributions.
|
| 15 |
+
|
| 16 |
+
Changes made by UkisAI (Apache License 2.0, Section 4(b) change notice):
|
| 17 |
+
- model-*.safetensors, model.safetensors.index.json: the model weights from
|
| 18 |
+
Swift 1.0 were further adapted by UkisAI using additional post-training
|
| 19 |
+
methods.
|
| 20 |
+
- README.md: replaced. LICENSE and NOTICE added.
|
| 21 |
+
- All other files (config.json, generation_config.json, chat_template.jinja,
|
| 22 |
+
tokenizer.json, tokenizer_config.json, vocab.json, merges.txt,
|
| 23 |
+
preprocessor_config.json, video_preprocessor_config.json) are retained from
|
| 24 |
+
the parent model and remain available under Apache License, Version 2.0.
|
QUANTIZATION_MANIFEST.json
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"checkpoint": {
|
| 3 |
+
"dtype_tensor_counts": {
|
| 4 |
+
"BF16": 1349,
|
| 5 |
+
"U32": 498
|
| 6 |
+
},
|
| 7 |
+
"forbidden_tensor_count": 0,
|
| 8 |
+
"quantized_modules": 498,
|
| 9 |
+
"tensor_bytes": 11771132928,
|
| 10 |
+
"tensor_count": 1847,
|
| 11 |
+
"weight_shard_names": [
|
| 12 |
+
"model-00001-of-00003.safetensors",
|
| 13 |
+
"model-00002-of-00003.safetensors",
|
| 14 |
+
"model-00003-of-00003.safetensors"
|
| 15 |
+
],
|
| 16 |
+
"weight_shards": 3
|
| 17 |
+
},
|
| 18 |
+
"conversion_seconds": 109.0009167090002,
|
| 19 |
+
"created_at": "2026-09-22T10:14:32.912828+00:00",
|
| 20 |
+
"download_seconds": 0.0901509180002904,
|
| 21 |
+
"intentionally_omitted_components": [
|
| 22 |
+
"vision",
|
| 23 |
+
"MTP"
|
| 24 |
+
],
|
| 25 |
+
"official_mlx_lm_commit": "c69d1288440a0dc4e6401fc417098b07598dccd5",
|
| 26 |
+
"output_repository": "ukisai/Swift-1.5-3bit-MLX-TextOnly",
|
| 27 |
+
"packages": {
|
| 28 |
+
"huggingface-hub": "1.31.0",
|
| 29 |
+
"mlx": "0.32.2",
|
| 30 |
+
"mlx-cpu": "0.32.2",
|
| 31 |
+
"mlx-lm": "0.32.0",
|
| 32 |
+
"safetensors": "0.8.0",
|
| 33 |
+
"transformers": "5.14.1"
|
| 34 |
+
},
|
| 35 |
+
"platform": "Linux-7.0.0-1012-aws-x86_64-with-glibc2.39",
|
| 36 |
+
"python": "3.12.3",
|
| 37 |
+
"quantization": {
|
| 38 |
+
"bits": 3,
|
| 39 |
+
"group_size": 64,
|
| 40 |
+
"method": "official MLX-LM affine round-to-nearest conversion",
|
| 41 |
+
"mode": "affine"
|
| 42 |
+
},
|
| 43 |
+
"smoke_test": {
|
| 44 |
+
"cases": [],
|
| 45 |
+
"device": "Device(cpu, 0)",
|
| 46 |
+
"floating_runtime_dtype": null,
|
| 47 |
+
"load_seconds": null,
|
| 48 |
+
"status": "SKIPPED_LINUX_CPU_TARGET_IS_APPLE_METAL"
|
| 49 |
+
},
|
| 50 |
+
"source_repository": "ukisai/Swift-1.5-Qwen3.8-27b",
|
| 51 |
+
"source_revision": "33b0d0c52004c08c88a98bb226e07852b9871aae",
|
| 52 |
+
"source_weight_bytes": 55563006776,
|
| 53 |
+
"source_weight_shards": 18,
|
| 54 |
+
"status": "VALIDATED",
|
| 55 |
+
"text_only": true
|
| 56 |
+
}
|
README.md
ADDED
|
@@ -0,0 +1,132 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: other
|
| 3 |
+
license_name: swift-open-license-1.0
|
| 4 |
+
license_link: https://huggingface.co/ukisai/Swift-1.5-3bit-MLX-TextOnly/blob/main/LICENSE
|
| 5 |
+
base_model: ukisai/Swift-1.5-Qwen3.8-27b
|
| 6 |
+
base_model_relation: quantized
|
| 7 |
+
library_name: mlx
|
| 8 |
+
pipeline_tag: text-generation
|
| 9 |
+
tags:
|
| 10 |
+
- mlx
|
| 11 |
+
- quantized
|
| 12 |
+
- 3-bit
|
| 13 |
+
- affine
|
| 14 |
+
- text-only
|
| 15 |
+
- qwen3_8
|
| 16 |
+
---
|
| 17 |
+
|
| 18 |
+
<div align="center">
|
| 19 |
+
<a href="https://ukisai.com"><img src="ukisai-banner.png" alt="UkisAI" style="width:100%;max-width:100%;height:auto;display:block;margin-bottom:0.6em;" /></a>
|
| 20 |
+
<a href="https://ukisai.com">Website</a> •
|
| 21 |
+
<a href="https://ukisai.com/products/swift">Learn more</a> •
|
| 22 |
+
<a href="https://huggingface.co/ukisai/Swift-1.5-Qwen3.8-27b">BF16 model</a> •
|
| 23 |
+
<a href="https://huggingface.co/ukisai/Swift-1.5-Qwen3.8-27B-GGUF">GGUF</a> •
|
| 24 |
+
<a href="https://huggingface.co/ukisai/Swift-1.5-Qwen3.8-27B-GSQ-RCO-GGUF">GSQ-RCO GGUF</a> •
|
| 25 |
+
<a href="#evaluation">Evaluation</a> •
|
| 26 |
+
<a href="#license-and-access">Enterprise licensing</a>
|
| 27 |
+
</div>
|
| 28 |
+
|
| 29 |
+
# Swift 1.5 Qwen3.8-27B — 3-bit MLX TextOnly
|
| 30 |
+
|
| 31 |
+
**MLX affine 3-bit quantization, group size 64.** Swift 1.5 is UkisAI's
|
| 32 |
+
reasoning-efficient Qwen3.8-27B derivative, focused on long-horizon, agentic and
|
| 33 |
+
coding tasks. This export retains the text model; vision and MTP are intentionally
|
| 34 |
+
omitted. It is not an image/video model or a speculative-MTP implementation.
|
| 35 |
+
|
| 36 |
+
Swift 1.5 uses **58.5% fewer thinking tokens** than base Qwen3.8-27B while scoring **0.35% higher**, for a **9.18× speed-up** on several tasks.
|
| 37 |
+
|
| 38 |
+
> [!CAUTION]
|
| 39 |
+
> Use only a complete snapshot whose files match `UPLOAD_MANIFEST.json`.
|
| 40 |
+
> A build-integrity check is not a generation or quality certificate.
|
| 41 |
+
> BF16 quality parity and long-context operation have not been independently established.
|
| 42 |
+
|
| 43 |
+
## Demo
|
| 44 |
+
|
| 45 |
+
We gave base Qwen3.8-27B and Swift 1.5 27B the same prompt:
|
| 46 |
+
|
| 47 |
+
> create a 3d little planet globe where I (player can walk around) and it has all these biomes to explore, the globe doesn't have to be too big, but still fun to go around. It's about a boy scout who is camping and goes around exploring.
|
| 48 |
+
|
| 49 |
+
<video src="https://huggingface.co/ukisai/Swift-1.5-3bit-MLX-TextOnly/resolve/main/swift-1.5-planet-demo.mp4" controls autoplay muted loop playsinline style="width:100%;height:auto;border-radius:12px;"></video>
|
| 50 |
+
|
| 51 |
+
Try the game yourself here: [https://ukisai.com/swift-games/27b](https://ukisai.com/swift-games/27b)
|
| 52 |
+
|
| 53 |
+
Base Qwen3.8-27B took 104.6 minutes to build its game. Swift 1.5 took 11.39 minutes.
|
| 54 |
+
|
| 55 |
+
## Source and quantization
|
| 56 |
+
|
| 57 |
+
The recorded conversion source is the customized Swift BF16 model at
|
| 58 |
+
[`33b0d0c52004c08c88a98bb226e07852b9871aae`](https://huggingface.co/ukisai/Swift-1.5-Qwen3.8-27b/tree/33b0d0c52004c08c88a98bb226e07852b9871aae),
|
| 59 |
+
using official Apple MLX-LM commit `c69d1288440a0dc4e6401fc417098b07598dccd5`.
|
| 60 |
+
The later complete BF16 revision
|
| 61 |
+
[`5ad04445d2686f525e9fbe5c077e6fa0c7df4200`](https://huggingface.co/ukisai/Swift-1.5-Qwen3.8-27b/tree/5ad04445d2686f525e9fbe5c077e6fa0c7df4200)
|
| 62 |
+
is a reference link, not a replacement for the actual conversion provenance.
|
| 63 |
+
This independent audit has not established full source-value equivalence between
|
| 64 |
+
those revisions. No base Qwen or other quantized checkpoint is substituted.
|
| 65 |
+
|
| 66 |
+
The original build contains three shards and 11,771,132,928 bytes of tensor data:
|
| 67 |
+
1,847 saved tensors, including 498 packed UINT32 weights and 1,349 BF16 tensors.
|
| 68 |
+
The original build report records 498 quantized modules and no vision/MTP tensors.
|
| 69 |
+
The independent recovery check verified full file SHA-256 values and header/index
|
| 70 |
+
consistency of the original build. These checks do not measure generation quality.
|
| 71 |
+
|
| 72 |
+
## Evaluation
|
| 73 |
+
|
| 74 |
+
See the [Swift BF16 source evaluation](https://huggingface.co/ukisai/Swift-1.5-Qwen3.8-27b#evaluation).
|
| 75 |
+
Those results were not rerun on this 3-bit export and are not its benchmark scores.
|
| 76 |
+
Aggressive 3-bit quantization may reduce quality; no quality-parity claim is made.
|
| 77 |
+
|
| 78 |
+
## Validation and use
|
| 79 |
+
|
| 80 |
+
[USAGE.md](USAGE.md) provides pinned installation, integrity verification and a
|
| 81 |
+
text-generation example. This TextOnly export uses the official text architecture;
|
| 82 |
+
the separate full-model patch that permits only 4/5-bit is not required or claimed
|
| 83 |
+
to support 3-bit.
|
| 84 |
+
|
| 85 |
+
[QUANTIZATION_MANIFEST.json](QUANTIZATION_MANIFEST.json) is the preserved original
|
| 86 |
+
build report. Its `VALIDATED` label refers to build/structural checks: its recorded
|
| 87 |
+
generation test was skipped and contains no generated cases. Do not interpret it
|
| 88 |
+
as an Apple Silicon, Linux generation, long-context or quality PASS.
|
| 89 |
+
[Package checks](compatibility/package-checks.json) separately record the newly
|
| 90 |
+
performed tokenizer and original-file checks, including their limited scope.
|
| 91 |
+
|
| 92 |
+
The approximately 11.77 GB tensor payload is not the complete memory requirement.
|
| 93 |
+
Runtime, cache and OS memory are additional. Do not raise system memory limits
|
| 94 |
+
to fit this model, or assume long-context support from the tensor size alone.
|
| 95 |
+
Only text messages are supported. Images, video and MTP are outside this release.
|
| 96 |
+
|
| 97 |
+
Exact-output formatting is not guaranteed: JSON may include Markdown fences,
|
| 98 |
+
and Unicode normalization or letter case may change. Validate structured
|
| 99 |
+
output in your application.
|
| 100 |
+
|
| 101 |
+
## License and access
|
| 102 |
+
|
| 103 |
+
Swift 1.5 derives from [Qwen3.8-27B](https://huggingface.co/Qwen/Qwen3.8-27B)
|
| 104 |
+
(Copyright 2026 Alibaba Cloud, [Apache License 2.0](https://huggingface.co/ukisai/Swift-1.5-3bit-MLX-TextOnly/blob/main/LICENSE-APACHE-2.0)).
|
| 105 |
+
UkisAI's adapted weights are licensed under the [Swift Open License v1.0](https://huggingface.co/ukisai/Swift-1.5-3bit-MLX-TextOnly/blob/main/LICENSE).
|
| 106 |
+
See [NOTICE](https://huggingface.co/ukisai/Swift-1.5-3bit-MLX-TextOnly/blob/main/NOTICE) for attribution and change notices.
|
| 107 |
+
|
| 108 |
+
Personal, research, educational, evaluation and commercial use are free for
|
| 109 |
+
individuals and organizations with gross annual revenue, including affiliates,
|
| 110 |
+
of up to US$1,000,000. Above that threshold, commercial use requires a separate
|
| 111 |
+
Swift Enterprise License. Contact [UkisAI](https://ukisai.com/contact) for terms.
|
| 112 |
+
Nothing in the Swift Open License limits the Apache 2.0 rights in Qwen3.8-27B itself.
|
| 113 |
+
The upstream Apple MLX-LM [MIT notice](compatibility/LICENSE-MLX-LM-MIT) is separate
|
| 114 |
+
from the model-weight licenses.
|
| 115 |
+
|
| 116 |
+
## Citation
|
| 117 |
+
|
| 118 |
+
```bibtex
|
| 119 |
+
@misc{swift-1.5-qwen3.8-27b,
|
| 120 |
+
title = {Swift 1.5 Qwen3.8-27B},
|
| 121 |
+
author = {UkisAI},
|
| 122 |
+
year = {2026},
|
| 123 |
+
url = {https://huggingface.co/ukisai/Swift-1.5-Qwen3.8-27b}
|
| 124 |
+
}
|
| 125 |
+
```
|
| 126 |
+
|
| 127 |
+
## Acknowledgements
|
| 128 |
+
|
| 129 |
+
We acknowledge the [NVIDIA Innovation Lab](https://www.nvidia.com/en-us/data-center/innovation-lab/),
|
| 130 |
+
[Amazon Web Services](https://aws.amazon.com/), and [Google Cloud](https://cloud.google.com/)
|
| 131 |
+
for compute credits and infrastructure support for Swift's development, training
|
| 132 |
+
and evaluation.
|
UPLOAD_MANIFEST.json
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"files": [
|
| 3 |
+
{
|
| 4 |
+
"path": ".gitattributes",
|
| 5 |
+
"bytes": 1686,
|
| 6 |
+
"sha256": "8a9fd1f95733fb82a6cba50f5ea2b1e26ca7578bea7a7cc21b4301ff83b1ce3b",
|
| 7 |
+
"git_blob_sha1": "3727b14f485a05787b6cda82f0346eaeaa2e751b"
|
| 8 |
+
},
|
| 9 |
+
{
|
| 10 |
+
"path": "LICENSE",
|
| 11 |
+
"bytes": 13306,
|
| 12 |
+
"sha256": "1367057bf17041aa1d69286a1400be5f464d2f8b8f54f600088b209eac1850be",
|
| 13 |
+
"git_blob_sha1": "209a5720f7e4a747e658b49808a933309eeecceb"
|
| 14 |
+
},
|
| 15 |
+
{
|
| 16 |
+
"path": "LICENSE-APACHE-2.0",
|
| 17 |
+
"bytes": 11544,
|
| 18 |
+
"sha256": "bbedc3fda3305820b977265f01b8619d87570a6739de3a5582c3464840f1e57a",
|
| 19 |
+
"git_blob_sha1": "f938136e3adacfd92be087f6e113b5d6d97f678f"
|
| 20 |
+
},
|
| 21 |
+
{
|
| 22 |
+
"path": "NOTICE",
|
| 23 |
+
"bytes": 1133,
|
| 24 |
+
"sha256": "be30f3d464974990e40e9833bc6f356fd89fe16733c6c1a581d97106b8ae741d",
|
| 25 |
+
"git_blob_sha1": "c4ad1a7188a4191cb5efd0f5109bf6e9ba8caee8"
|
| 26 |
+
},
|
| 27 |
+
{
|
| 28 |
+
"path": "QUANTIZATION_MANIFEST.json",
|
| 29 |
+
"bytes": 1581,
|
| 30 |
+
"sha256": "e446d21a009c85fd7b8b184a65b77141d828d901d882d3aab0cecc972e4f5a2f",
|
| 31 |
+
"git_blob_sha1": "fdb767c2255914878227ba5032bcbafff84f3a42"
|
| 32 |
+
},
|
| 33 |
+
{
|
| 34 |
+
"path": "README.md",
|
| 35 |
+
"bytes": 6089,
|
| 36 |
+
"sha256": "771cca691afd66f247bc367593876597d5c1c98cfd30dc9515908c8109a0b640",
|
| 37 |
+
"git_blob_sha1": "83590f84e016cbce60776153c935f8321be8b710"
|
| 38 |
+
},
|
| 39 |
+
{
|
| 40 |
+
"path": "USAGE.md",
|
| 41 |
+
"bytes": 3352,
|
| 42 |
+
"sha256": "6c5747aedcfdde858303ef94bce7aa18546a516799018ddd1d3df89f80b684a3",
|
| 43 |
+
"git_blob_sha1": "f0f225b8d384e10a516d394f39a9ea5a6295b6f4"
|
| 44 |
+
},
|
| 45 |
+
{
|
| 46 |
+
"path": "chat_template.jinja",
|
| 47 |
+
"bytes": 8952,
|
| 48 |
+
"sha256": "c3cf9e34abf4f9e36c2d72165aa9c132d3e2a725b6c2586aaa3a8af9d7a81041",
|
| 49 |
+
"git_blob_sha1": "c0c686f9c38d70d179fb7b5f5aa7530bc913dda3"
|
| 50 |
+
},
|
| 51 |
+
{
|
| 52 |
+
"path": "compatibility/LICENSE-MLX-LM-MIT",
|
| 53 |
+
"bytes": 1066,
|
| 54 |
+
"sha256": "ccfab7ccb2ea306f71531c8ca77bb55507606cd90768b1e32b8b52ab5b48cf01",
|
| 55 |
+
"git_blob_sha1": "98ff47b9ef9d4ac9f1a4bde3db13dd27456c5ea1"
|
| 56 |
+
},
|
| 57 |
+
{
|
| 58 |
+
"path": "compatibility/package-checks.json",
|
| 59 |
+
"bytes": 75260,
|
| 60 |
+
"sha256": "9e03d42c319de79fdb652125bd0bb8a0ce9b590303b48d2aa4b53b58392ef666",
|
| 61 |
+
"git_blob_sha1": "98e09f5c633e8456cf4adb67397d499c1f521cf2"
|
| 62 |
+
},
|
| 63 |
+
{
|
| 64 |
+
"path": "config.json",
|
| 65 |
+
"bytes": 3429,
|
| 66 |
+
"sha256": "09331c5083cfc9abdcf5ef5b7193c5b4184d8129ad058f2fbec58483aa2826b4",
|
| 67 |
+
"git_blob_sha1": "0a4e011dd1422494aeab45a1a55a9a222149d196"
|
| 68 |
+
},
|
| 69 |
+
{
|
| 70 |
+
"path": "generation_config.json",
|
| 71 |
+
"bytes": 202,
|
| 72 |
+
"sha256": "e70c136c1b78ddc1fb0905bac8e733a4dc448d4f852a5dd75143fffc70be550e",
|
| 73 |
+
"git_blob_sha1": "023756cfadf88e5bf69eefeee3e172f38c448d64"
|
| 74 |
+
},
|
| 75 |
+
{
|
| 76 |
+
"path": "model-00001-of-00003.safetensors",
|
| 77 |
+
"bytes": 5348273323,
|
| 78 |
+
"sha256": "c25d854fbadb5c1546037e460143d8210c47d2c35069274f70fe8985899ac764"
|
| 79 |
+
},
|
| 80 |
+
{
|
| 81 |
+
"path": "model-00002-of-00003.safetensors",
|
| 82 |
+
"bytes": 5368521504,
|
| 83 |
+
"sha256": "5ee45939124c133dccfb73cd99027db34b03f1adbba9f35bcd2680729472b14a"
|
| 84 |
+
},
|
| 85 |
+
{
|
| 86 |
+
"path": "model-00003-of-00003.safetensors",
|
| 87 |
+
"bytes": 1054579630,
|
| 88 |
+
"sha256": "db78dce8b21d34e9f2a329080851593d862730549ed1f0cb41615737339c2554"
|
| 89 |
+
},
|
| 90 |
+
{
|
| 91 |
+
"path": "model.safetensors.index.json",
|
| 92 |
+
"bytes": 189789,
|
| 93 |
+
"sha256": "f2d58e269f3d60bee657d756dd7df80f171d7ab5a50e1ca7633d27abb041c3a9",
|
| 94 |
+
"git_blob_sha1": "3939d96876f3836d9aca24e0c9b5f448f026ffd7"
|
| 95 |
+
},
|
| 96 |
+
{
|
| 97 |
+
"path": "swift-1.5-planet-demo.mp4",
|
| 98 |
+
"bytes": 4738825,
|
| 99 |
+
"sha256": "1cda6924169e8b83e5d6d7299baf8329ed1b1a182a481aa0e06344e0f5c00111"
|
| 100 |
+
},
|
| 101 |
+
{
|
| 102 |
+
"path": "tokenizer.json",
|
| 103 |
+
"bytes": 19989325,
|
| 104 |
+
"sha256": "06b9509352d2af50381ab2247e083b80d32d5c0aba91c272ca9ff729b6a0e523"
|
| 105 |
+
},
|
| 106 |
+
{
|
| 107 |
+
"path": "tokenizer_config.json",
|
| 108 |
+
"bytes": 1161,
|
| 109 |
+
"sha256": "95c557768e6b88a7128befc7bfd3c7de50e5d51af9b8b33a9f4dee0e04f99679",
|
| 110 |
+
"git_blob_sha1": "8d610519919e32dd25f499e61f4bd38d7a0ad9b2"
|
| 111 |
+
},
|
| 112 |
+
{
|
| 113 |
+
"path": "ukisai-banner.png",
|
| 114 |
+
"bytes": 307739,
|
| 115 |
+
"sha256": "8577252b8b37e331f06f7ddecdf3bfa1c497e164f9eb36d78c37232d1b8492ca"
|
| 116 |
+
},
|
| 117 |
+
{
|
| 118 |
+
"path": "verify_release.py",
|
| 119 |
+
"bytes": 6662,
|
| 120 |
+
"sha256": "02ac6ed751c4dd915d1673f2d501f3322d27039c3a32a5bc3c0264861e4d0982",
|
| 121 |
+
"git_blob_sha1": "7e235791f8cfadb8321321231b3ea6359565db89"
|
| 122 |
+
}
|
| 123 |
+
],
|
| 124 |
+
"file_count": 21,
|
| 125 |
+
"total_bytes": 11796735558,
|
| 126 |
+
"self_excluded": true
|
| 127 |
+
}
|
USAGE.md
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Swift 1.5 3-bit TextOnly — local use
|
| 2 |
+
|
| 3 |
+
Use a complete snapshot and verify its file integrity before loading.
|
| 4 |
+
The 11.77 GB tensor payload plus runtime, cache and OS must fit in available
|
| 5 |
+
memory. Do not raise system memory limits. Short generation does not
|
| 6 |
+
establish long-context operation or BF16 quality parity.
|
| 7 |
+
|
| 8 |
+
## Install the pinned text runtime
|
| 9 |
+
|
| 10 |
+
Use Python 3.12 in an isolated environment on Apple Silicon. No full-model 4/5-bit
|
| 11 |
+
architecture patch is needed for this `language_model_only: true` export.
|
| 12 |
+
|
| 13 |
+
```bash
|
| 14 |
+
python3.12 -m venv .venv-swift3
|
| 15 |
+
source .venv-swift3/bin/activate
|
| 16 |
+
python -m pip install 'mlx==0.32.2' 'transformers==5.14.1' 'huggingface_hub==1.31.0'
|
| 17 |
+
git clone https://github.com/ml-explore/mlx-lm.git swift3-mlx-lm
|
| 18 |
+
git -C swift3-mlx-lm checkout --detach c69d1288440a0dc4e6401fc417098b07598dccd5
|
| 19 |
+
python -m pip install -e ./swift3-mlx-lm
|
| 20 |
+
```
|
| 21 |
+
|
| 22 |
+
Use a new working directory. After installing the HF CLI, run `hf auth login`
|
| 23 |
+
interactively if not already signed in with access to this private repository.
|
| 24 |
+
The command below resolves current main once to a full commit and then uses
|
| 25 |
+
only that pinned snapshot. For a repeat run, reuse the recorded commit.
|
| 26 |
+
Do not use an incomplete historical upload or proceed after verification failure.
|
| 27 |
+
|
| 28 |
+
```bash
|
| 29 |
+
SWIFT_MLX_REVISION="$(python -c 'from huggingface_hub import HfApi; print(HfApi().model_info("ukisai/Swift-1.5-3bit-MLX-TextOnly").sha)')"
|
| 30 |
+
printf 'Pinned model revision: %s\n' "$SWIFT_MLX_REVISION"
|
| 31 |
+
hf download ukisai/Swift-1.5-3bit-MLX-TextOnly --revision "$SWIFT_MLX_REVISION" --local-dir Swift-1.5-3bit-MLX-TextOnly
|
| 32 |
+
hf cache verify ukisai/Swift-1.5-3bit-MLX-TextOnly --revision "$SWIFT_MLX_REVISION" --local-dir Swift-1.5-3bit-MLX-TextOnly --fail-on-missing-files
|
| 33 |
+
python Swift-1.5-3bit-MLX-TextOnly/verify_release.py Swift-1.5-3bit-MLX-TextOnly
|
| 34 |
+
```
|
| 35 |
+
|
| 36 |
+
The included `verify_release.py` does not load the model or access the network.
|
| 37 |
+
Use its `--manifest-sha256` option with a trusted digest from the reviewed release plan.
|
| 38 |
+
Without a trusted manifest digest it verifies consistency, not source authenticity.
|
| 39 |
+
It must fail for missing, truncated or modified shards. Do not proceed after failure.
|
| 40 |
+
|
| 41 |
+
## Text chat
|
| 42 |
+
|
| 43 |
+
```python
|
| 44 |
+
import mlx.core as mx
|
| 45 |
+
from mlx_lm import generate, load
|
| 46 |
+
from mlx_lm.sample_utils import make_sampler
|
| 47 |
+
|
| 48 |
+
if mx.default_device() != mx.gpu:
|
| 49 |
+
raise RuntimeError("This example requires Apple Silicon/Metal; CPU is not certified.")
|
| 50 |
+
model, tokenizer = load("Swift-1.5-3bit-MLX-TextOnly")
|
| 51 |
+
messages = [{"role": "user", "content": "Reply with exactly: Hello from Swift."}]
|
| 52 |
+
if any(not isinstance(message.get("content"), str) for message in messages):
|
| 53 |
+
raise ValueError("TextOnly: images, video and structured multimodal input are unsupported.")
|
| 54 |
+
prompt = tokenizer.apply_chat_template(
|
| 55 |
+
messages, tokenize=False, add_generation_prompt=True, enable_thinking=False
|
| 56 |
+
)
|
| 57 |
+
mx.random.seed(20260922)
|
| 58 |
+
print(generate(model, tokenizer, prompt=prompt, max_tokens=32, sampler=make_sampler(temp=0)))
|
| 59 |
+
```
|
| 60 |
+
|
| 61 |
+
The inherited template also accepts `reasoning_effort="low"`, `"medium"`, and
|
| 62 |
+
`"xhigh"`. Template/token comparisons are separate from inference behavior.
|
| 63 |
+
Full-model Linux generation, the reasoning-effort generation matrix,
|
| 64 |
+
100-request stability, long context and BF16 quality comparisons remain NOT_RUN.
|
| 65 |
+
Do not pass image/video content through a text-only interface and report multimodal success.
|
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 %}
|
compatibility/LICENSE-MLX-LM-MIT
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
MIT License
|
| 2 |
+
|
| 3 |
+
Copyright © 2023 Apple Inc.
|
| 4 |
+
|
| 5 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 6 |
+
of this software and associated documentation files (the "Software"), to deal
|
| 7 |
+
in the Software without restriction, including without limitation the rights
|
| 8 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 9 |
+
copies of the Software, and to permit persons to whom the Software is
|
| 10 |
+
furnished to do so, subject to the following conditions:
|
| 11 |
+
|
| 12 |
+
The above copyright notice and this permission notice shall be included in all
|
| 13 |
+
copies or substantial portions of the Software.
|
| 14 |
+
|
| 15 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 16 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 17 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 18 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 19 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 20 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
| 21 |
+
SOFTWARE.
|
compatibility/package-checks.json
ADDED
|
@@ -0,0 +1,2028 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"observed_at": "2026-09-22T14:48:11.669625+00:00",
|
| 3 |
+
"source": "Independent local packaging audit",
|
| 4 |
+
"scope": "Original-build file integrity and runtime assets; no full model generation",
|
| 5 |
+
"original_build_integrity": {
|
| 6 |
+
"model": "mlx3",
|
| 7 |
+
"event": "SUMMARY",
|
| 8 |
+
"file_count": 15,
|
| 9 |
+
"tensor_count": 1847,
|
| 10 |
+
"manifest_sha256": "972fe2f40770695336f6409306feb90603aa383353ed351c3ca8d049318d9f46",
|
| 11 |
+
"manifest_mismatches": [],
|
| 12 |
+
"header_index_status": "PASS",
|
| 13 |
+
"elapsed_seconds": 89.18617745199998,
|
| 14 |
+
"scope": "Original build; NOT HF upload validation"
|
| 15 |
+
},
|
| 16 |
+
"original_small_file_matches": [
|
| 17 |
+
{
|
| 18 |
+
"file": "LICENSE",
|
| 19 |
+
"sha256": "1367057bf17041aa1d69286a1400be5f464d2f8b8f54f600088b209eac1850be",
|
| 20 |
+
"matches_original_build": true
|
| 21 |
+
},
|
| 22 |
+
{
|
| 23 |
+
"file": "LICENSE-APACHE-2.0",
|
| 24 |
+
"sha256": "bbedc3fda3305820b977265f01b8619d87570a6739de3a5582c3464840f1e57a",
|
| 25 |
+
"matches_original_build": true
|
| 26 |
+
},
|
| 27 |
+
{
|
| 28 |
+
"file": "NOTICE",
|
| 29 |
+
"sha256": "be30f3d464974990e40e9833bc6f356fd89fe16733c6c1a581d97106b8ae741d",
|
| 30 |
+
"matches_original_build": true
|
| 31 |
+
},
|
| 32 |
+
{
|
| 33 |
+
"file": "QUANTIZATION_MANIFEST.json",
|
| 34 |
+
"sha256": "e446d21a009c85fd7b8b184a65b77141d828d901d882d3aab0cecc972e4f5a2f",
|
| 35 |
+
"matches_original_build": true
|
| 36 |
+
},
|
| 37 |
+
{
|
| 38 |
+
"file": "README.md",
|
| 39 |
+
"sha256": "0fcdd888cffd80e5fca9348092d8d1905a69f0e85ecbd31e09ca694f92fe0f75",
|
| 40 |
+
"matches_original_build": true
|
| 41 |
+
},
|
| 42 |
+
{
|
| 43 |
+
"file": "chat_template.jinja",
|
| 44 |
+
"sha256": "c3cf9e34abf4f9e36c2d72165aa9c132d3e2a725b6c2586aaa3a8af9d7a81041",
|
| 45 |
+
"matches_original_build": true
|
| 46 |
+
},
|
| 47 |
+
{
|
| 48 |
+
"file": "config.json",
|
| 49 |
+
"sha256": "09331c5083cfc9abdcf5ef5b7193c5b4184d8129ad058f2fbec58483aa2826b4",
|
| 50 |
+
"matches_original_build": true
|
| 51 |
+
},
|
| 52 |
+
{
|
| 53 |
+
"file": "generation_config.json",
|
| 54 |
+
"sha256": "e70c136c1b78ddc1fb0905bac8e733a4dc448d4f852a5dd75143fffc70be550e",
|
| 55 |
+
"matches_original_build": true
|
| 56 |
+
},
|
| 57 |
+
{
|
| 58 |
+
"file": "model.safetensors.index.json",
|
| 59 |
+
"sha256": "f2d58e269f3d60bee657d756dd7df80f171d7ab5a50e1ca7633d27abb041c3a9",
|
| 60 |
+
"matches_original_build": true
|
| 61 |
+
},
|
| 62 |
+
{
|
| 63 |
+
"file": "tokenizer.json",
|
| 64 |
+
"sha256": "06b9509352d2af50381ab2247e083b80d32d5c0aba91c272ca9ff729b6a0e523",
|
| 65 |
+
"matches_original_build": true
|
| 66 |
+
},
|
| 67 |
+
{
|
| 68 |
+
"file": "tokenizer_config.json",
|
| 69 |
+
"sha256": "95c557768e6b88a7128befc7bfd3c7de50e5d51af9b8b33a9f4dee0e04f99679",
|
| 70 |
+
"matches_original_build": true
|
| 71 |
+
},
|
| 72 |
+
{
|
| 73 |
+
"file": "ukisai-banner.png",
|
| 74 |
+
"sha256": "8577252b8b37e331f06f7ddecdf3bfa1c497e164f9eb36d78c37232d1b8492ca",
|
| 75 |
+
"matches_original_build": true
|
| 76 |
+
}
|
| 77 |
+
],
|
| 78 |
+
"original_small_file_matches_scope": "Verified inputs before the documented documentation overlay; current file digests are in UPLOAD_MANIFEST.json.",
|
| 79 |
+
"tokenizer_comparison": {
|
| 80 |
+
"status": "PASS",
|
| 81 |
+
"cases": [
|
| 82 |
+
{
|
| 83 |
+
"case": "copy-01",
|
| 84 |
+
"options": {},
|
| 85 |
+
"rendered_equal": true,
|
| 86 |
+
"tokens_equal": true,
|
| 87 |
+
"rendered_sha256": "4c818d1bec319bdcb9f9ae6fb165958cc228993b88271d074717a54da892a12c",
|
| 88 |
+
"token_ids_sha256": "a92b1c7a4f0c7046a5d8adfa819d3d92870cce145b5316398b467f77267b467b"
|
| 89 |
+
},
|
| 90 |
+
{
|
| 91 |
+
"case": "copy-01",
|
| 92 |
+
"options": {
|
| 93 |
+
"enable_thinking": false
|
| 94 |
+
},
|
| 95 |
+
"rendered_equal": true,
|
| 96 |
+
"tokens_equal": true,
|
| 97 |
+
"rendered_sha256": "65d21c471e0404dd574585906ea708c25e143644e26d6f6da38a963c89d95353",
|
| 98 |
+
"token_ids_sha256": "2f2ea6c38bd950ee61cab76d0e0a2719b90793c129881f4653665f6f32e83f37"
|
| 99 |
+
},
|
| 100 |
+
{
|
| 101 |
+
"case": "copy-01",
|
| 102 |
+
"options": {
|
| 103 |
+
"reasoning_effort": "low"
|
| 104 |
+
},
|
| 105 |
+
"rendered_equal": true,
|
| 106 |
+
"tokens_equal": true,
|
| 107 |
+
"rendered_sha256": "18150302804516ca9bde6d9f4859e35de3047beb7f3f42db2c709f9f659f7d97",
|
| 108 |
+
"token_ids_sha256": "99796b2eb8cb5ea634506794c13de258c6a4381ef2ff617a4952a2e81100a773"
|
| 109 |
+
},
|
| 110 |
+
{
|
| 111 |
+
"case": "copy-01",
|
| 112 |
+
"options": {
|
| 113 |
+
"reasoning_effort": "medium"
|
| 114 |
+
},
|
| 115 |
+
"rendered_equal": true,
|
| 116 |
+
"tokens_equal": true,
|
| 117 |
+
"rendered_sha256": "cc38501bdf707099ff6a0e337475ea7df68417bfc4012dbeff043f22d9d671ef",
|
| 118 |
+
"token_ids_sha256": "628de4373c94835dfb58149eb1f3a6cc7de44019ecff368687b61a6271501263"
|
| 119 |
+
},
|
| 120 |
+
{
|
| 121 |
+
"case": "copy-01",
|
| 122 |
+
"options": {
|
| 123 |
+
"reasoning_effort": "xhigh"
|
| 124 |
+
},
|
| 125 |
+
"rendered_equal": true,
|
| 126 |
+
"tokens_equal": true,
|
| 127 |
+
"rendered_sha256": "4c818d1bec319bdcb9f9ae6fb165958cc228993b88271d074717a54da892a12c",
|
| 128 |
+
"token_ids_sha256": "a92b1c7a4f0c7046a5d8adfa819d3d92870cce145b5316398b467f77267b467b"
|
| 129 |
+
},
|
| 130 |
+
{
|
| 131 |
+
"case": "copy-02",
|
| 132 |
+
"options": {},
|
| 133 |
+
"rendered_equal": true,
|
| 134 |
+
"tokens_equal": true,
|
| 135 |
+
"rendered_sha256": "c899009f64185c1cf610481f00667851c613755d9992bbea2782f63a23aeab50",
|
| 136 |
+
"token_ids_sha256": "a2c44489d2864ff48ab7c3c4ed23786132dba628a7160d29d49538eb7754232d"
|
| 137 |
+
},
|
| 138 |
+
{
|
| 139 |
+
"case": "copy-02",
|
| 140 |
+
"options": {
|
| 141 |
+
"enable_thinking": false
|
| 142 |
+
},
|
| 143 |
+
"rendered_equal": true,
|
| 144 |
+
"tokens_equal": true,
|
| 145 |
+
"rendered_sha256": "0dce1e6a9eae5b1630ac76c0d094e90b3d51252fe393b03eee6678564e29f43a",
|
| 146 |
+
"token_ids_sha256": "ca5fbed68bb860caa55ef73136f045a99917c48c8897883c60f8c71646f03e4f"
|
| 147 |
+
},
|
| 148 |
+
{
|
| 149 |
+
"case": "copy-02",
|
| 150 |
+
"options": {
|
| 151 |
+
"reasoning_effort": "low"
|
| 152 |
+
},
|
| 153 |
+
"rendered_equal": true,
|
| 154 |
+
"tokens_equal": true,
|
| 155 |
+
"rendered_sha256": "398a9d6fee34ee4123220a2a2902f597f4313c8511d97f6793d6b546466c0421",
|
| 156 |
+
"token_ids_sha256": "d2a89478a168aa84c857b0a92a02e92d72827dafe25d4b295a85cb6e4ae62451"
|
| 157 |
+
},
|
| 158 |
+
{
|
| 159 |
+
"case": "copy-02",
|
| 160 |
+
"options": {
|
| 161 |
+
"reasoning_effort": "medium"
|
| 162 |
+
},
|
| 163 |
+
"rendered_equal": true,
|
| 164 |
+
"tokens_equal": true,
|
| 165 |
+
"rendered_sha256": "34206e0e86b7b48b6e4a90b432c00dfecd7e215379355ddf16616a891ec15a5f",
|
| 166 |
+
"token_ids_sha256": "f6d035e18f6cce3a81e364b17997f04a6e373fda9ffd2c803957a0b67a91f3b3"
|
| 167 |
+
},
|
| 168 |
+
{
|
| 169 |
+
"case": "copy-02",
|
| 170 |
+
"options": {
|
| 171 |
+
"reasoning_effort": "xhigh"
|
| 172 |
+
},
|
| 173 |
+
"rendered_equal": true,
|
| 174 |
+
"tokens_equal": true,
|
| 175 |
+
"rendered_sha256": "c899009f64185c1cf610481f00667851c613755d9992bbea2782f63a23aeab50",
|
| 176 |
+
"token_ids_sha256": "a2c44489d2864ff48ab7c3c4ed23786132dba628a7160d29d49538eb7754232d"
|
| 177 |
+
},
|
| 178 |
+
{
|
| 179 |
+
"case": "copy-03",
|
| 180 |
+
"options": {},
|
| 181 |
+
"rendered_equal": true,
|
| 182 |
+
"tokens_equal": true,
|
| 183 |
+
"rendered_sha256": "7546d15c056af8aa4c0c90d23aabb5b1ca726609ba850c3b1b6185a613837c92",
|
| 184 |
+
"token_ids_sha256": "ddbc030acb515ce5e2d03db0a169b6f68905c4827af8a329fed19bec400f985f"
|
| 185 |
+
},
|
| 186 |
+
{
|
| 187 |
+
"case": "copy-03",
|
| 188 |
+
"options": {
|
| 189 |
+
"enable_thinking": false
|
| 190 |
+
},
|
| 191 |
+
"rendered_equal": true,
|
| 192 |
+
"tokens_equal": true,
|
| 193 |
+
"rendered_sha256": "941b6b40fb0afa04dcb3cbeb3d703e1362bfab8aff0c223fe723ad68fb0f1c8c",
|
| 194 |
+
"token_ids_sha256": "1ae80f7895f4296112ee802500c9650fbba344adbd43ea18f6ec38ee5fc1c5ab"
|
| 195 |
+
},
|
| 196 |
+
{
|
| 197 |
+
"case": "copy-03",
|
| 198 |
+
"options": {
|
| 199 |
+
"reasoning_effort": "low"
|
| 200 |
+
},
|
| 201 |
+
"rendered_equal": true,
|
| 202 |
+
"tokens_equal": true,
|
| 203 |
+
"rendered_sha256": "fff8cb95ccca437354811f847c4803f4db097acb3e25741571dc0bc3125275d9",
|
| 204 |
+
"token_ids_sha256": "e2d2fbfdef377e1dc40cc011dd75adf8484f8ad6f2769241207f1070e4b4101f"
|
| 205 |
+
},
|
| 206 |
+
{
|
| 207 |
+
"case": "copy-03",
|
| 208 |
+
"options": {
|
| 209 |
+
"reasoning_effort": "medium"
|
| 210 |
+
},
|
| 211 |
+
"rendered_equal": true,
|
| 212 |
+
"tokens_equal": true,
|
| 213 |
+
"rendered_sha256": "b5b000a062e3a761951c5b319766cec522bfb6d922409fcabfc3d0ddb1a4359d",
|
| 214 |
+
"token_ids_sha256": "262b04aaeff8bf09922edc2a45504750fd9fc9c3f3055b403a9f68b871c6d1c9"
|
| 215 |
+
},
|
| 216 |
+
{
|
| 217 |
+
"case": "copy-03",
|
| 218 |
+
"options": {
|
| 219 |
+
"reasoning_effort": "xhigh"
|
| 220 |
+
},
|
| 221 |
+
"rendered_equal": true,
|
| 222 |
+
"tokens_equal": true,
|
| 223 |
+
"rendered_sha256": "7546d15c056af8aa4c0c90d23aabb5b1ca726609ba850c3b1b6185a613837c92",
|
| 224 |
+
"token_ids_sha256": "ddbc030acb515ce5e2d03db0a169b6f68905c4827af8a329fed19bec400f985f"
|
| 225 |
+
},
|
| 226 |
+
{
|
| 227 |
+
"case": "copy-04",
|
| 228 |
+
"options": {},
|
| 229 |
+
"rendered_equal": true,
|
| 230 |
+
"tokens_equal": true,
|
| 231 |
+
"rendered_sha256": "93cd159f2fb657d1616693847e4f5c43af88edb03234c0b2dcc0181ff408b6ed",
|
| 232 |
+
"token_ids_sha256": "9cca472a04965a233f1a5e45043c6f112b9ee441dd9b26aa23de8b4ca61a626c"
|
| 233 |
+
},
|
| 234 |
+
{
|
| 235 |
+
"case": "copy-04",
|
| 236 |
+
"options": {
|
| 237 |
+
"enable_thinking": false
|
| 238 |
+
},
|
| 239 |
+
"rendered_equal": true,
|
| 240 |
+
"tokens_equal": true,
|
| 241 |
+
"rendered_sha256": "0d7641637466c7079c2bc3e9e79a92397c06d7622bb8472c475f0fe452654c83",
|
| 242 |
+
"token_ids_sha256": "f283875df94548c1657a5550db42828ce955ec3b20fa148e646bbf042f6f0d2b"
|
| 243 |
+
},
|
| 244 |
+
{
|
| 245 |
+
"case": "copy-04",
|
| 246 |
+
"options": {
|
| 247 |
+
"reasoning_effort": "low"
|
| 248 |
+
},
|
| 249 |
+
"rendered_equal": true,
|
| 250 |
+
"tokens_equal": true,
|
| 251 |
+
"rendered_sha256": "05353d7dc1f61ff121bf6598e0936277bd9ca84fbc19fd91e286d6e4b45bc059",
|
| 252 |
+
"token_ids_sha256": "2f715ed2fb5ec71a98be5bd3ed990a1e70d0678f168da4306a5f27dddc0b6856"
|
| 253 |
+
},
|
| 254 |
+
{
|
| 255 |
+
"case": "copy-04",
|
| 256 |
+
"options": {
|
| 257 |
+
"reasoning_effort": "medium"
|
| 258 |
+
},
|
| 259 |
+
"rendered_equal": true,
|
| 260 |
+
"tokens_equal": true,
|
| 261 |
+
"rendered_sha256": "f1a18e28b7392715dc638885ae8d79244fbd278f43e7c13f69fe8fb2b93da608",
|
| 262 |
+
"token_ids_sha256": "433b7e2976986230f0a2e200c658f3a7f00f0e38fe8906970aaedddc66fa59d9"
|
| 263 |
+
},
|
| 264 |
+
{
|
| 265 |
+
"case": "copy-04",
|
| 266 |
+
"options": {
|
| 267 |
+
"reasoning_effort": "xhigh"
|
| 268 |
+
},
|
| 269 |
+
"rendered_equal": true,
|
| 270 |
+
"tokens_equal": true,
|
| 271 |
+
"rendered_sha256": "93cd159f2fb657d1616693847e4f5c43af88edb03234c0b2dcc0181ff408b6ed",
|
| 272 |
+
"token_ids_sha256": "9cca472a04965a233f1a5e45043c6f112b9ee441dd9b26aa23de8b4ca61a626c"
|
| 273 |
+
},
|
| 274 |
+
{
|
| 275 |
+
"case": "copy-05",
|
| 276 |
+
"options": {},
|
| 277 |
+
"rendered_equal": true,
|
| 278 |
+
"tokens_equal": true,
|
| 279 |
+
"rendered_sha256": "fb61ba28f75ad7405020c6d3241f3728b010b8633fdc1642e129b81523e87ad3",
|
| 280 |
+
"token_ids_sha256": "c0337ac4d3e6f3afd6fb5313d1ae35c3fba5fdc1d3b32c615ea1a9d469b23426"
|
| 281 |
+
},
|
| 282 |
+
{
|
| 283 |
+
"case": "copy-05",
|
| 284 |
+
"options": {
|
| 285 |
+
"enable_thinking": false
|
| 286 |
+
},
|
| 287 |
+
"rendered_equal": true,
|
| 288 |
+
"tokens_equal": true,
|
| 289 |
+
"rendered_sha256": "a6bf42558b20071884725645d2ff092639c819386f92af80f95cf87951eceb25",
|
| 290 |
+
"token_ids_sha256": "c1f030f36157b04cdd7a5599f05578720ef484f3300982179014968be81ea065"
|
| 291 |
+
},
|
| 292 |
+
{
|
| 293 |
+
"case": "copy-05",
|
| 294 |
+
"options": {
|
| 295 |
+
"reasoning_effort": "low"
|
| 296 |
+
},
|
| 297 |
+
"rendered_equal": true,
|
| 298 |
+
"tokens_equal": true,
|
| 299 |
+
"rendered_sha256": "ef76dafe530370c7baa9a57c590899bfd62f6814b9c6c36735e28002e382a072",
|
| 300 |
+
"token_ids_sha256": "587c1d346c730fdf014d7e27e58f57344dc0d1e2c3a95a80dce943a16b5d21a6"
|
| 301 |
+
},
|
| 302 |
+
{
|
| 303 |
+
"case": "copy-05",
|
| 304 |
+
"options": {
|
| 305 |
+
"reasoning_effort": "medium"
|
| 306 |
+
},
|
| 307 |
+
"rendered_equal": true,
|
| 308 |
+
"tokens_equal": true,
|
| 309 |
+
"rendered_sha256": "96eaf3b174a72fcabbd9115c37f1a8c180a2ed19340a0cab757c80887a7b06dd",
|
| 310 |
+
"token_ids_sha256": "99598ba689281150a6a056699b14f24b499fc7c0a882ef22e4b2a2a682ff0057"
|
| 311 |
+
},
|
| 312 |
+
{
|
| 313 |
+
"case": "copy-05",
|
| 314 |
+
"options": {
|
| 315 |
+
"reasoning_effort": "xhigh"
|
| 316 |
+
},
|
| 317 |
+
"rendered_equal": true,
|
| 318 |
+
"tokens_equal": true,
|
| 319 |
+
"rendered_sha256": "fb61ba28f75ad7405020c6d3241f3728b010b8633fdc1642e129b81523e87ad3",
|
| 320 |
+
"token_ids_sha256": "c0337ac4d3e6f3afd6fb5313d1ae35c3fba5fdc1d3b32c615ea1a9d469b23426"
|
| 321 |
+
},
|
| 322 |
+
{
|
| 323 |
+
"case": "arithmetic-01",
|
| 324 |
+
"options": {},
|
| 325 |
+
"rendered_equal": true,
|
| 326 |
+
"tokens_equal": true,
|
| 327 |
+
"rendered_sha256": "2a3e217d73ae1cdf4118b870a9ec322dc88de707843c83f0f5481f813faa99a4",
|
| 328 |
+
"token_ids_sha256": "56a79c0ee7bb6e52c284a19a16146c231142c47b22bfd0a27dac2330822afb49"
|
| 329 |
+
},
|
| 330 |
+
{
|
| 331 |
+
"case": "arithmetic-01",
|
| 332 |
+
"options": {
|
| 333 |
+
"enable_thinking": false
|
| 334 |
+
},
|
| 335 |
+
"rendered_equal": true,
|
| 336 |
+
"tokens_equal": true,
|
| 337 |
+
"rendered_sha256": "ee9178c74035beb407c016586ef958578e5be4041b572aa2bf5409dcddf07739",
|
| 338 |
+
"token_ids_sha256": "b520feeac9ab433d35a057c9dc8e2a169254fa0db38e76955d042a2f91c774a7"
|
| 339 |
+
},
|
| 340 |
+
{
|
| 341 |
+
"case": "arithmetic-01",
|
| 342 |
+
"options": {
|
| 343 |
+
"reasoning_effort": "low"
|
| 344 |
+
},
|
| 345 |
+
"rendered_equal": true,
|
| 346 |
+
"tokens_equal": true,
|
| 347 |
+
"rendered_sha256": "3c43b55f9ffffff2dcf76e9b6ae04a1311b330b2c0757ed1fe664cd64c469506",
|
| 348 |
+
"token_ids_sha256": "3b9b091b00ae6093fb726ab7fa7c5e5bdaf6aa87238eb14291bf52a439e178cb"
|
| 349 |
+
},
|
| 350 |
+
{
|
| 351 |
+
"case": "arithmetic-01",
|
| 352 |
+
"options": {
|
| 353 |
+
"reasoning_effort": "medium"
|
| 354 |
+
},
|
| 355 |
+
"rendered_equal": true,
|
| 356 |
+
"tokens_equal": true,
|
| 357 |
+
"rendered_sha256": "39e3c8c4b7c6b8352df4c942933b289007e0e9ac3c7d3dfa172203f0891ad801",
|
| 358 |
+
"token_ids_sha256": "17ca2fe9b641d0b785ef902f06a0fb4463f8b144e85903dcd0dbf7dea82f54be"
|
| 359 |
+
},
|
| 360 |
+
{
|
| 361 |
+
"case": "arithmetic-01",
|
| 362 |
+
"options": {
|
| 363 |
+
"reasoning_effort": "xhigh"
|
| 364 |
+
},
|
| 365 |
+
"rendered_equal": true,
|
| 366 |
+
"tokens_equal": true,
|
| 367 |
+
"rendered_sha256": "2a3e217d73ae1cdf4118b870a9ec322dc88de707843c83f0f5481f813faa99a4",
|
| 368 |
+
"token_ids_sha256": "56a79c0ee7bb6e52c284a19a16146c231142c47b22bfd0a27dac2330822afb49"
|
| 369 |
+
},
|
| 370 |
+
{
|
| 371 |
+
"case": "arithmetic-02",
|
| 372 |
+
"options": {},
|
| 373 |
+
"rendered_equal": true,
|
| 374 |
+
"tokens_equal": true,
|
| 375 |
+
"rendered_sha256": "1580424514af0e654467483640add4ab4c970be8278db0a7dc51a6634160fafe",
|
| 376 |
+
"token_ids_sha256": "bc696d41dda4cfadb0539d3e6b16bba3012ff8adfd9eeba7f192b3fb020bd1ba"
|
| 377 |
+
},
|
| 378 |
+
{
|
| 379 |
+
"case": "arithmetic-02",
|
| 380 |
+
"options": {
|
| 381 |
+
"enable_thinking": false
|
| 382 |
+
},
|
| 383 |
+
"rendered_equal": true,
|
| 384 |
+
"tokens_equal": true,
|
| 385 |
+
"rendered_sha256": "ed261285116d3895ef5f2209e9cdc6c9abd475a551b8ec212ba201303c02de65",
|
| 386 |
+
"token_ids_sha256": "6440d6812569b88a93b4fb5877d6a13138a10c627b39cd54adee08ddefe19eec"
|
| 387 |
+
},
|
| 388 |
+
{
|
| 389 |
+
"case": "arithmetic-02",
|
| 390 |
+
"options": {
|
| 391 |
+
"reasoning_effort": "low"
|
| 392 |
+
},
|
| 393 |
+
"rendered_equal": true,
|
| 394 |
+
"tokens_equal": true,
|
| 395 |
+
"rendered_sha256": "3956026c853805d5dd053f1cb259f44626617e1c4946148db45c2561fea505ec",
|
| 396 |
+
"token_ids_sha256": "248a53a76b3082f4ca13c376452d9fa450cc372b27ee74681776106bf62f75dc"
|
| 397 |
+
},
|
| 398 |
+
{
|
| 399 |
+
"case": "arithmetic-02",
|
| 400 |
+
"options": {
|
| 401 |
+
"reasoning_effort": "medium"
|
| 402 |
+
},
|
| 403 |
+
"rendered_equal": true,
|
| 404 |
+
"tokens_equal": true,
|
| 405 |
+
"rendered_sha256": "b186fa6f03caeb78d03459674e39e7a017d68a025cb578ad0b68ebd10d082f31",
|
| 406 |
+
"token_ids_sha256": "d436f86318f7c2911a841f3dd3310ee76feffd7eecb427f87addbc87eb8c2607"
|
| 407 |
+
},
|
| 408 |
+
{
|
| 409 |
+
"case": "arithmetic-02",
|
| 410 |
+
"options": {
|
| 411 |
+
"reasoning_effort": "xhigh"
|
| 412 |
+
},
|
| 413 |
+
"rendered_equal": true,
|
| 414 |
+
"tokens_equal": true,
|
| 415 |
+
"rendered_sha256": "1580424514af0e654467483640add4ab4c970be8278db0a7dc51a6634160fafe",
|
| 416 |
+
"token_ids_sha256": "bc696d41dda4cfadb0539d3e6b16bba3012ff8adfd9eeba7f192b3fb020bd1ba"
|
| 417 |
+
},
|
| 418 |
+
{
|
| 419 |
+
"case": "arithmetic-03",
|
| 420 |
+
"options": {},
|
| 421 |
+
"rendered_equal": true,
|
| 422 |
+
"tokens_equal": true,
|
| 423 |
+
"rendered_sha256": "758590c0e51a33e06f51fbffc5bbe0e3f777b0f7bf88ad708b58ebd6faccb390",
|
| 424 |
+
"token_ids_sha256": "bebe998965694a6a237aaa57377f49b2edab3815b787bd14a880e37433951748"
|
| 425 |
+
},
|
| 426 |
+
{
|
| 427 |
+
"case": "arithmetic-03",
|
| 428 |
+
"options": {
|
| 429 |
+
"enable_thinking": false
|
| 430 |
+
},
|
| 431 |
+
"rendered_equal": true,
|
| 432 |
+
"tokens_equal": true,
|
| 433 |
+
"rendered_sha256": "ee6e110a809b16af00e88c49f620155ce1c738fd11950af79743146491eb0200",
|
| 434 |
+
"token_ids_sha256": "ece7b34196ccd3cee4f4533466992cc6819660af56bd1bb4c1e4a2efbd09d1aa"
|
| 435 |
+
},
|
| 436 |
+
{
|
| 437 |
+
"case": "arithmetic-03",
|
| 438 |
+
"options": {
|
| 439 |
+
"reasoning_effort": "low"
|
| 440 |
+
},
|
| 441 |
+
"rendered_equal": true,
|
| 442 |
+
"tokens_equal": true,
|
| 443 |
+
"rendered_sha256": "69fdc96534e7e6c2b009822cfbe68f1b164bd8cc28a38396ac6532c9e3717627",
|
| 444 |
+
"token_ids_sha256": "290d3d9286cc2fa631a68f8d7d7c21e79b101dd6f9d47d2e5fed68cae8dfa9f1"
|
| 445 |
+
},
|
| 446 |
+
{
|
| 447 |
+
"case": "arithmetic-03",
|
| 448 |
+
"options": {
|
| 449 |
+
"reasoning_effort": "medium"
|
| 450 |
+
},
|
| 451 |
+
"rendered_equal": true,
|
| 452 |
+
"tokens_equal": true,
|
| 453 |
+
"rendered_sha256": "4fc7455c07e88c95e3e4b9789d219e4bda857bbd8e75099da123855c41c93a9b",
|
| 454 |
+
"token_ids_sha256": "15384731525c414b4dd4496505a9d1c10db7b09e191ecc1ca1324ce51740b9c8"
|
| 455 |
+
},
|
| 456 |
+
{
|
| 457 |
+
"case": "arithmetic-03",
|
| 458 |
+
"options": {
|
| 459 |
+
"reasoning_effort": "xhigh"
|
| 460 |
+
},
|
| 461 |
+
"rendered_equal": true,
|
| 462 |
+
"tokens_equal": true,
|
| 463 |
+
"rendered_sha256": "758590c0e51a33e06f51fbffc5bbe0e3f777b0f7bf88ad708b58ebd6faccb390",
|
| 464 |
+
"token_ids_sha256": "bebe998965694a6a237aaa57377f49b2edab3815b787bd14a880e37433951748"
|
| 465 |
+
},
|
| 466 |
+
{
|
| 467 |
+
"case": "arithmetic-04",
|
| 468 |
+
"options": {},
|
| 469 |
+
"rendered_equal": true,
|
| 470 |
+
"tokens_equal": true,
|
| 471 |
+
"rendered_sha256": "c91b90926ba37c04a16a7e51163ed88366f6ad1f91eb7a4c40a8213b986f6f2d",
|
| 472 |
+
"token_ids_sha256": "e1706e27836de214be0261eff95fe8145f2945effdc517a7e9115ded3148a67a"
|
| 473 |
+
},
|
| 474 |
+
{
|
| 475 |
+
"case": "arithmetic-04",
|
| 476 |
+
"options": {
|
| 477 |
+
"enable_thinking": false
|
| 478 |
+
},
|
| 479 |
+
"rendered_equal": true,
|
| 480 |
+
"tokens_equal": true,
|
| 481 |
+
"rendered_sha256": "bce2488b1645bb08cb2a157697c4dbc6d634da4e9b1949a9f77e3e987d4ac3e4",
|
| 482 |
+
"token_ids_sha256": "52455a3c634132dfcc0673da9ab990c3def7dac61376fdc9614160b1172b10bc"
|
| 483 |
+
},
|
| 484 |
+
{
|
| 485 |
+
"case": "arithmetic-04",
|
| 486 |
+
"options": {
|
| 487 |
+
"reasoning_effort": "low"
|
| 488 |
+
},
|
| 489 |
+
"rendered_equal": true,
|
| 490 |
+
"tokens_equal": true,
|
| 491 |
+
"rendered_sha256": "9823550d5e522b6cf480c9d82a1726e3b6530437570093e24bf7a82920827c1b",
|
| 492 |
+
"token_ids_sha256": "1aa3c00b507cfb0fda234a8759b649edad21c2e167c4fa77e4632cad6837ed9e"
|
| 493 |
+
},
|
| 494 |
+
{
|
| 495 |
+
"case": "arithmetic-04",
|
| 496 |
+
"options": {
|
| 497 |
+
"reasoning_effort": "medium"
|
| 498 |
+
},
|
| 499 |
+
"rendered_equal": true,
|
| 500 |
+
"tokens_equal": true,
|
| 501 |
+
"rendered_sha256": "60d7fc3ef5d976266dfbe9fa89c6f82bd990fbf2c751aff527871070001fa549",
|
| 502 |
+
"token_ids_sha256": "9115c65f6cc99cbcf2ceccf86f3a62ef18d39afaa429b74cc9297894a6ffe1cb"
|
| 503 |
+
},
|
| 504 |
+
{
|
| 505 |
+
"case": "arithmetic-04",
|
| 506 |
+
"options": {
|
| 507 |
+
"reasoning_effort": "xhigh"
|
| 508 |
+
},
|
| 509 |
+
"rendered_equal": true,
|
| 510 |
+
"tokens_equal": true,
|
| 511 |
+
"rendered_sha256": "c91b90926ba37c04a16a7e51163ed88366f6ad1f91eb7a4c40a8213b986f6f2d",
|
| 512 |
+
"token_ids_sha256": "e1706e27836de214be0261eff95fe8145f2945effdc517a7e9115ded3148a67a"
|
| 513 |
+
},
|
| 514 |
+
{
|
| 515 |
+
"case": "arithmetic-05",
|
| 516 |
+
"options": {},
|
| 517 |
+
"rendered_equal": true,
|
| 518 |
+
"tokens_equal": true,
|
| 519 |
+
"rendered_sha256": "ff43ba2decea43f8543fdd36dd6c5c536c8bb97a54e5890131890fbf0c66c869",
|
| 520 |
+
"token_ids_sha256": "c93f056f94513cd2779bf1ce8f298d406ef3b027cb9f3a7db4a09dd7592ba85b"
|
| 521 |
+
},
|
| 522 |
+
{
|
| 523 |
+
"case": "arithmetic-05",
|
| 524 |
+
"options": {
|
| 525 |
+
"enable_thinking": false
|
| 526 |
+
},
|
| 527 |
+
"rendered_equal": true,
|
| 528 |
+
"tokens_equal": true,
|
| 529 |
+
"rendered_sha256": "3c2c2497661577a7357fa67b079db6b11ff395265a222b0a32b9d1b8bef02b6c",
|
| 530 |
+
"token_ids_sha256": "82acbe5edfb07831dc3d554b178ded8e7bf7f53ff8e743c4a1907b4447f6894f"
|
| 531 |
+
},
|
| 532 |
+
{
|
| 533 |
+
"case": "arithmetic-05",
|
| 534 |
+
"options": {
|
| 535 |
+
"reasoning_effort": "low"
|
| 536 |
+
},
|
| 537 |
+
"rendered_equal": true,
|
| 538 |
+
"tokens_equal": true,
|
| 539 |
+
"rendered_sha256": "81a352decd47f903266075bf8d7d21980e0d39b7f19befdc4ef2565d9ab27760",
|
| 540 |
+
"token_ids_sha256": "3abdcb06a624fcc9f3dc6593e04e92ada7b0666f675fac2a07fabddeebc2d7b4"
|
| 541 |
+
},
|
| 542 |
+
{
|
| 543 |
+
"case": "arithmetic-05",
|
| 544 |
+
"options": {
|
| 545 |
+
"reasoning_effort": "medium"
|
| 546 |
+
},
|
| 547 |
+
"rendered_equal": true,
|
| 548 |
+
"tokens_equal": true,
|
| 549 |
+
"rendered_sha256": "0a9271c8cb020e0a54ed4cc1c04eb582c81d4cafa9eae887b06fcc44d4b44653",
|
| 550 |
+
"token_ids_sha256": "37341803c1c617340a309634f0e56d48636b27377a3b4c254086439a753500a6"
|
| 551 |
+
},
|
| 552 |
+
{
|
| 553 |
+
"case": "arithmetic-05",
|
| 554 |
+
"options": {
|
| 555 |
+
"reasoning_effort": "xhigh"
|
| 556 |
+
},
|
| 557 |
+
"rendered_equal": true,
|
| 558 |
+
"tokens_equal": true,
|
| 559 |
+
"rendered_sha256": "ff43ba2decea43f8543fdd36dd6c5c536c8bb97a54e5890131890fbf0c66c869",
|
| 560 |
+
"token_ids_sha256": "c93f056f94513cd2779bf1ce8f298d406ef3b027cb9f3a7db4a09dd7592ba85b"
|
| 561 |
+
},
|
| 562 |
+
{
|
| 563 |
+
"case": "arithmetic-06",
|
| 564 |
+
"options": {},
|
| 565 |
+
"rendered_equal": true,
|
| 566 |
+
"tokens_equal": true,
|
| 567 |
+
"rendered_sha256": "d9d7029346d3fc3e6f37173c76ec3db19e8668a82698b1345e71b56ec802ce28",
|
| 568 |
+
"token_ids_sha256": "3b45ede402669923581a4b9464a66bded91059bf64aa29c0006bdd81990e01f8"
|
| 569 |
+
},
|
| 570 |
+
{
|
| 571 |
+
"case": "arithmetic-06",
|
| 572 |
+
"options": {
|
| 573 |
+
"enable_thinking": false
|
| 574 |
+
},
|
| 575 |
+
"rendered_equal": true,
|
| 576 |
+
"tokens_equal": true,
|
| 577 |
+
"rendered_sha256": "fe48fab3c6ca13c7db6caa901b0961f231160d5ebac912fe33187ac662b0d3cb",
|
| 578 |
+
"token_ids_sha256": "8f92b0168bc1370747e0e92234e3e472b1d84ee4ac7936c9c58faae6e9f48e50"
|
| 579 |
+
},
|
| 580 |
+
{
|
| 581 |
+
"case": "arithmetic-06",
|
| 582 |
+
"options": {
|
| 583 |
+
"reasoning_effort": "low"
|
| 584 |
+
},
|
| 585 |
+
"rendered_equal": true,
|
| 586 |
+
"tokens_equal": true,
|
| 587 |
+
"rendered_sha256": "5d8e4b8ae6957fa3c0fd3c6243db43414cd8117cb3498cb40d077c1283bfeaaf",
|
| 588 |
+
"token_ids_sha256": "bd4d6941e778d63fe01e72f236a70078db1d5438d9d6b0dea085cf5a2d78b7ca"
|
| 589 |
+
},
|
| 590 |
+
{
|
| 591 |
+
"case": "arithmetic-06",
|
| 592 |
+
"options": {
|
| 593 |
+
"reasoning_effort": "medium"
|
| 594 |
+
},
|
| 595 |
+
"rendered_equal": true,
|
| 596 |
+
"tokens_equal": true,
|
| 597 |
+
"rendered_sha256": "50e45800a302d26ba7ae81e3301201636685303bd7161f4713d8620fc847d504",
|
| 598 |
+
"token_ids_sha256": "a3798779d6db6bb5aeeaa5faa0060644926b9e489488ae7e9318c23351717b50"
|
| 599 |
+
},
|
| 600 |
+
{
|
| 601 |
+
"case": "arithmetic-06",
|
| 602 |
+
"options": {
|
| 603 |
+
"reasoning_effort": "xhigh"
|
| 604 |
+
},
|
| 605 |
+
"rendered_equal": true,
|
| 606 |
+
"tokens_equal": true,
|
| 607 |
+
"rendered_sha256": "d9d7029346d3fc3e6f37173c76ec3db19e8668a82698b1345e71b56ec802ce28",
|
| 608 |
+
"token_ids_sha256": "3b45ede402669923581a4b9464a66bded91059bf64aa29c0006bdd81990e01f8"
|
| 609 |
+
},
|
| 610 |
+
{
|
| 611 |
+
"case": "arithmetic-07",
|
| 612 |
+
"options": {},
|
| 613 |
+
"rendered_equal": true,
|
| 614 |
+
"tokens_equal": true,
|
| 615 |
+
"rendered_sha256": "d4abab4ea9a54502aacc0cc037e6a3d2392eb4f00620de2842db7fcabbb5c6ff",
|
| 616 |
+
"token_ids_sha256": "d4555520da558d82c23f683d6d8bfc85b3662713180da8e247f4db6c6b9a94c1"
|
| 617 |
+
},
|
| 618 |
+
{
|
| 619 |
+
"case": "arithmetic-07",
|
| 620 |
+
"options": {
|
| 621 |
+
"enable_thinking": false
|
| 622 |
+
},
|
| 623 |
+
"rendered_equal": true,
|
| 624 |
+
"tokens_equal": true,
|
| 625 |
+
"rendered_sha256": "4634f6ef7ab3216baa6ae0839b583c8c493bddf057c97228292e1c6493febbe4",
|
| 626 |
+
"token_ids_sha256": "b20040ab0deeea513aeee03ff9e7eadc1af6dfb0c53cc32100297911de879bc7"
|
| 627 |
+
},
|
| 628 |
+
{
|
| 629 |
+
"case": "arithmetic-07",
|
| 630 |
+
"options": {
|
| 631 |
+
"reasoning_effort": "low"
|
| 632 |
+
},
|
| 633 |
+
"rendered_equal": true,
|
| 634 |
+
"tokens_equal": true,
|
| 635 |
+
"rendered_sha256": "9da13b3584b88529d3d4d3afdf40f9dedc2e3259a3575ff617c6fb3eb0279cca",
|
| 636 |
+
"token_ids_sha256": "666ba3da90ecdd0822ff3f0bd76faf857abd0464d497dde69be343644b84f6c9"
|
| 637 |
+
},
|
| 638 |
+
{
|
| 639 |
+
"case": "arithmetic-07",
|
| 640 |
+
"options": {
|
| 641 |
+
"reasoning_effort": "medium"
|
| 642 |
+
},
|
| 643 |
+
"rendered_equal": true,
|
| 644 |
+
"tokens_equal": true,
|
| 645 |
+
"rendered_sha256": "4e3d704c3f85473c586455d9a99d16f244bb2dd8337b78319296b0a36ebe479f",
|
| 646 |
+
"token_ids_sha256": "09095dae80f1f9451b2a58c2aaba62d236e5c6edae31f9d592eea9f3a177f2a1"
|
| 647 |
+
},
|
| 648 |
+
{
|
| 649 |
+
"case": "arithmetic-07",
|
| 650 |
+
"options": {
|
| 651 |
+
"reasoning_effort": "xhigh"
|
| 652 |
+
},
|
| 653 |
+
"rendered_equal": true,
|
| 654 |
+
"tokens_equal": true,
|
| 655 |
+
"rendered_sha256": "d4abab4ea9a54502aacc0cc037e6a3d2392eb4f00620de2842db7fcabbb5c6ff",
|
| 656 |
+
"token_ids_sha256": "d4555520da558d82c23f683d6d8bfc85b3662713180da8e247f4db6c6b9a94c1"
|
| 657 |
+
},
|
| 658 |
+
{
|
| 659 |
+
"case": "arithmetic-08",
|
| 660 |
+
"options": {},
|
| 661 |
+
"rendered_equal": true,
|
| 662 |
+
"tokens_equal": true,
|
| 663 |
+
"rendered_sha256": "f7d3036cc3bc0141cca89e9879ad1a822638eafdd067d0502bf748d895fdbe71",
|
| 664 |
+
"token_ids_sha256": "e980911b51a3c2dc5739a7c33f3f003e083ebbfabf6f60e75791c7825f1e2a95"
|
| 665 |
+
},
|
| 666 |
+
{
|
| 667 |
+
"case": "arithmetic-08",
|
| 668 |
+
"options": {
|
| 669 |
+
"enable_thinking": false
|
| 670 |
+
},
|
| 671 |
+
"rendered_equal": true,
|
| 672 |
+
"tokens_equal": true,
|
| 673 |
+
"rendered_sha256": "84ee45d869045b2f96a220c89040a27c4340529b2f10ba5a362125d9b99255ca",
|
| 674 |
+
"token_ids_sha256": "629913233bfa1e8693053fb398886818deb1c269b49a30ff12d752326dfea49f"
|
| 675 |
+
},
|
| 676 |
+
{
|
| 677 |
+
"case": "arithmetic-08",
|
| 678 |
+
"options": {
|
| 679 |
+
"reasoning_effort": "low"
|
| 680 |
+
},
|
| 681 |
+
"rendered_equal": true,
|
| 682 |
+
"tokens_equal": true,
|
| 683 |
+
"rendered_sha256": "10b71fafeee6fb4c5250eaca77c8d848e0377898e8c4e31e3610fcb31a4bbf95",
|
| 684 |
+
"token_ids_sha256": "c776b00461042b3c38e18d8dff79d402a4ecced8c64c67d622058041ef04cbc6"
|
| 685 |
+
},
|
| 686 |
+
{
|
| 687 |
+
"case": "arithmetic-08",
|
| 688 |
+
"options": {
|
| 689 |
+
"reasoning_effort": "medium"
|
| 690 |
+
},
|
| 691 |
+
"rendered_equal": true,
|
| 692 |
+
"tokens_equal": true,
|
| 693 |
+
"rendered_sha256": "537f1753a07185b06875abe3a1ebb3ea40cd514794ce71f4a6a083f2e0d11fb3",
|
| 694 |
+
"token_ids_sha256": "a5f82822b6d6af6c83758f5e173128bca3c3d50d290cacb42309156672ab606c"
|
| 695 |
+
},
|
| 696 |
+
{
|
| 697 |
+
"case": "arithmetic-08",
|
| 698 |
+
"options": {
|
| 699 |
+
"reasoning_effort": "xhigh"
|
| 700 |
+
},
|
| 701 |
+
"rendered_equal": true,
|
| 702 |
+
"tokens_equal": true,
|
| 703 |
+
"rendered_sha256": "f7d3036cc3bc0141cca89e9879ad1a822638eafdd067d0502bf748d895fdbe71",
|
| 704 |
+
"token_ids_sha256": "e980911b51a3c2dc5739a7c33f3f003e083ebbfabf6f60e75791c7825f1e2a95"
|
| 705 |
+
},
|
| 706 |
+
{
|
| 707 |
+
"case": "arithmetic-09",
|
| 708 |
+
"options": {},
|
| 709 |
+
"rendered_equal": true,
|
| 710 |
+
"tokens_equal": true,
|
| 711 |
+
"rendered_sha256": "bc7d34da11dd014cb41eac5b8ed8758a7a88dcafccb274866a6812b62fef30ec",
|
| 712 |
+
"token_ids_sha256": "62c6cfebfddf285cd89ff58d1833e6e535fb72484b68251bb0d92fe37aa593e3"
|
| 713 |
+
},
|
| 714 |
+
{
|
| 715 |
+
"case": "arithmetic-09",
|
| 716 |
+
"options": {
|
| 717 |
+
"enable_thinking": false
|
| 718 |
+
},
|
| 719 |
+
"rendered_equal": true,
|
| 720 |
+
"tokens_equal": true,
|
| 721 |
+
"rendered_sha256": "0bf19f315da38c20699e3eaebf5f02d9ed76193aa99eaf0bc9167dc210416d12",
|
| 722 |
+
"token_ids_sha256": "0bf26e146c4373d1613d6c9ec028b465601dd2173c8c874cd48e405c35abe5e9"
|
| 723 |
+
},
|
| 724 |
+
{
|
| 725 |
+
"case": "arithmetic-09",
|
| 726 |
+
"options": {
|
| 727 |
+
"reasoning_effort": "low"
|
| 728 |
+
},
|
| 729 |
+
"rendered_equal": true,
|
| 730 |
+
"tokens_equal": true,
|
| 731 |
+
"rendered_sha256": "2a4aed936eaa1a57af5f4e11d45f1c93becbceed7bebf4349e2f5c21965cb183",
|
| 732 |
+
"token_ids_sha256": "cc54e72fe17312e9865a641818fdfc7e78ebe03daf8c53c2096f650d5cda29ad"
|
| 733 |
+
},
|
| 734 |
+
{
|
| 735 |
+
"case": "arithmetic-09",
|
| 736 |
+
"options": {
|
| 737 |
+
"reasoning_effort": "medium"
|
| 738 |
+
},
|
| 739 |
+
"rendered_equal": true,
|
| 740 |
+
"tokens_equal": true,
|
| 741 |
+
"rendered_sha256": "439ed4db5d4c179b66f0d507be08cd06fff0c5017d15f945c53127da81cab47f",
|
| 742 |
+
"token_ids_sha256": "40c23ec4db2ea5e8b6ed8a8591cdd74339f986c05f5474bcd4f928c8ba95fc74"
|
| 743 |
+
},
|
| 744 |
+
{
|
| 745 |
+
"case": "arithmetic-09",
|
| 746 |
+
"options": {
|
| 747 |
+
"reasoning_effort": "xhigh"
|
| 748 |
+
},
|
| 749 |
+
"rendered_equal": true,
|
| 750 |
+
"tokens_equal": true,
|
| 751 |
+
"rendered_sha256": "bc7d34da11dd014cb41eac5b8ed8758a7a88dcafccb274866a6812b62fef30ec",
|
| 752 |
+
"token_ids_sha256": "62c6cfebfddf285cd89ff58d1833e6e535fb72484b68251bb0d92fe37aa593e3"
|
| 753 |
+
},
|
| 754 |
+
{
|
| 755 |
+
"case": "arithmetic-10",
|
| 756 |
+
"options": {},
|
| 757 |
+
"rendered_equal": true,
|
| 758 |
+
"tokens_equal": true,
|
| 759 |
+
"rendered_sha256": "0b724f38e7bd9051ec7c968b1663b1b3635ec23c3b94c91e10aa9222fa7eadd9",
|
| 760 |
+
"token_ids_sha256": "31ef5951966d506a875595669d28381adb7f3eb8ca36e728f849aa0d8458b0cd"
|
| 761 |
+
},
|
| 762 |
+
{
|
| 763 |
+
"case": "arithmetic-10",
|
| 764 |
+
"options": {
|
| 765 |
+
"enable_thinking": false
|
| 766 |
+
},
|
| 767 |
+
"rendered_equal": true,
|
| 768 |
+
"tokens_equal": true,
|
| 769 |
+
"rendered_sha256": "6062a96149481c62ced98da104245bb90e591cb34292c12eadfc3d9fb67299a2",
|
| 770 |
+
"token_ids_sha256": "80b76dc69c7844e058fe435e5c28373408aaf2b9f5dc24f6aafc735cf75b4b61"
|
| 771 |
+
},
|
| 772 |
+
{
|
| 773 |
+
"case": "arithmetic-10",
|
| 774 |
+
"options": {
|
| 775 |
+
"reasoning_effort": "low"
|
| 776 |
+
},
|
| 777 |
+
"rendered_equal": true,
|
| 778 |
+
"tokens_equal": true,
|
| 779 |
+
"rendered_sha256": "884f8cf268a54b70f40569b1a039037963471f5ece48c681f117920ccae1fdea",
|
| 780 |
+
"token_ids_sha256": "b6fabf136f2e5a33c007f475cbd3b7f87bdce0cc1da9196ea00b679d62ce151c"
|
| 781 |
+
},
|
| 782 |
+
{
|
| 783 |
+
"case": "arithmetic-10",
|
| 784 |
+
"options": {
|
| 785 |
+
"reasoning_effort": "medium"
|
| 786 |
+
},
|
| 787 |
+
"rendered_equal": true,
|
| 788 |
+
"tokens_equal": true,
|
| 789 |
+
"rendered_sha256": "0dc637f9d7ed2ed1fca6922a413f5c47ebf3ab6579aa31b4ce3bff07af300ab9",
|
| 790 |
+
"token_ids_sha256": "4363a2a13106c422c12752f4b87b3581eef342b6a2340ada93f635851c45f37d"
|
| 791 |
+
},
|
| 792 |
+
{
|
| 793 |
+
"case": "arithmetic-10",
|
| 794 |
+
"options": {
|
| 795 |
+
"reasoning_effort": "xhigh"
|
| 796 |
+
},
|
| 797 |
+
"rendered_equal": true,
|
| 798 |
+
"tokens_equal": true,
|
| 799 |
+
"rendered_sha256": "0b724f38e7bd9051ec7c968b1663b1b3635ec23c3b94c91e10aa9222fa7eadd9",
|
| 800 |
+
"token_ids_sha256": "31ef5951966d506a875595669d28381adb7f3eb8ca36e728f849aa0d8458b0cd"
|
| 801 |
+
},
|
| 802 |
+
{
|
| 803 |
+
"case": "json-01",
|
| 804 |
+
"options": {},
|
| 805 |
+
"rendered_equal": true,
|
| 806 |
+
"tokens_equal": true,
|
| 807 |
+
"rendered_sha256": "4de0442df7ac09fc61d43b9ffa738f4f2d3573f71ac77dcec22aba786bc0342e",
|
| 808 |
+
"token_ids_sha256": "e4b144f0c08aa87b573f59f54bf96d10641d30ddfb373ad355bb3938075682c0"
|
| 809 |
+
},
|
| 810 |
+
{
|
| 811 |
+
"case": "json-01",
|
| 812 |
+
"options": {
|
| 813 |
+
"enable_thinking": false
|
| 814 |
+
},
|
| 815 |
+
"rendered_equal": true,
|
| 816 |
+
"tokens_equal": true,
|
| 817 |
+
"rendered_sha256": "5f50a83fafc47f078151ce396bbc1ba2fb64795e38165ab27adb8513a9aae264",
|
| 818 |
+
"token_ids_sha256": "bbbfd4ba0e5b27f3914e50c9be5a2bbf8c7cbedc83bd8ee3ffccf36090b042e6"
|
| 819 |
+
},
|
| 820 |
+
{
|
| 821 |
+
"case": "json-01",
|
| 822 |
+
"options": {
|
| 823 |
+
"reasoning_effort": "low"
|
| 824 |
+
},
|
| 825 |
+
"rendered_equal": true,
|
| 826 |
+
"tokens_equal": true,
|
| 827 |
+
"rendered_sha256": "31a143c5a416e7f3a93ba3739fd66634ca3a728482405636c7048ec40161619d",
|
| 828 |
+
"token_ids_sha256": "13a83c0266c974090ef5736aa8cade8685638d64637e2787534440dab7152c6e"
|
| 829 |
+
},
|
| 830 |
+
{
|
| 831 |
+
"case": "json-01",
|
| 832 |
+
"options": {
|
| 833 |
+
"reasoning_effort": "medium"
|
| 834 |
+
},
|
| 835 |
+
"rendered_equal": true,
|
| 836 |
+
"tokens_equal": true,
|
| 837 |
+
"rendered_sha256": "9dcf381dbeb544ab3054db3afdc5ff7d33833027519c5c03d98d59de2d76b9c8",
|
| 838 |
+
"token_ids_sha256": "7debf297e3e6f800a92cccece7deecb3f1edcdd30c80ca6beaf3194c66c267da"
|
| 839 |
+
},
|
| 840 |
+
{
|
| 841 |
+
"case": "json-01",
|
| 842 |
+
"options": {
|
| 843 |
+
"reasoning_effort": "xhigh"
|
| 844 |
+
},
|
| 845 |
+
"rendered_equal": true,
|
| 846 |
+
"tokens_equal": true,
|
| 847 |
+
"rendered_sha256": "4de0442df7ac09fc61d43b9ffa738f4f2d3573f71ac77dcec22aba786bc0342e",
|
| 848 |
+
"token_ids_sha256": "e4b144f0c08aa87b573f59f54bf96d10641d30ddfb373ad355bb3938075682c0"
|
| 849 |
+
},
|
| 850 |
+
{
|
| 851 |
+
"case": "json-02",
|
| 852 |
+
"options": {},
|
| 853 |
+
"rendered_equal": true,
|
| 854 |
+
"tokens_equal": true,
|
| 855 |
+
"rendered_sha256": "f52a34ad0f6b545d6d81c4ccd7ec54604a733c172a8f4f13e51fa28ef276d803",
|
| 856 |
+
"token_ids_sha256": "1eb009c158c67adfb279a1d55cfc67b2559b54a9ee95b6771952fde76795ad6b"
|
| 857 |
+
},
|
| 858 |
+
{
|
| 859 |
+
"case": "json-02",
|
| 860 |
+
"options": {
|
| 861 |
+
"enable_thinking": false
|
| 862 |
+
},
|
| 863 |
+
"rendered_equal": true,
|
| 864 |
+
"tokens_equal": true,
|
| 865 |
+
"rendered_sha256": "1a2f1c8bb1b3286ab8a957f85f575a0d4d5a0f1bb971b742e69c4990fec9577f",
|
| 866 |
+
"token_ids_sha256": "09f7a63ef1188c209d80f1a7cc6ccf071e931b268cd115601c98ae083609b5b9"
|
| 867 |
+
},
|
| 868 |
+
{
|
| 869 |
+
"case": "json-02",
|
| 870 |
+
"options": {
|
| 871 |
+
"reasoning_effort": "low"
|
| 872 |
+
},
|
| 873 |
+
"rendered_equal": true,
|
| 874 |
+
"tokens_equal": true,
|
| 875 |
+
"rendered_sha256": "0fa5d71515f9c8233ad41e135dc72cf6cca670d4a56253727155ec1071ce271b",
|
| 876 |
+
"token_ids_sha256": "a630c470d9a5e52e1e429dd2b3c84cadbfbbf02803317d58008c99d1fe4c51e2"
|
| 877 |
+
},
|
| 878 |
+
{
|
| 879 |
+
"case": "json-02",
|
| 880 |
+
"options": {
|
| 881 |
+
"reasoning_effort": "medium"
|
| 882 |
+
},
|
| 883 |
+
"rendered_equal": true,
|
| 884 |
+
"tokens_equal": true,
|
| 885 |
+
"rendered_sha256": "ea329dcbf37dc55489fd11c37d464c2bc3ac63e0e9a81b8c56d3d875fcec3a74",
|
| 886 |
+
"token_ids_sha256": "e940fea90dfa2c71564f797a50cb8dad160f993fe006bc1a4b25b1f27f603a9c"
|
| 887 |
+
},
|
| 888 |
+
{
|
| 889 |
+
"case": "json-02",
|
| 890 |
+
"options": {
|
| 891 |
+
"reasoning_effort": "xhigh"
|
| 892 |
+
},
|
| 893 |
+
"rendered_equal": true,
|
| 894 |
+
"tokens_equal": true,
|
| 895 |
+
"rendered_sha256": "f52a34ad0f6b545d6d81c4ccd7ec54604a733c172a8f4f13e51fa28ef276d803",
|
| 896 |
+
"token_ids_sha256": "1eb009c158c67adfb279a1d55cfc67b2559b54a9ee95b6771952fde76795ad6b"
|
| 897 |
+
},
|
| 898 |
+
{
|
| 899 |
+
"case": "json-03",
|
| 900 |
+
"options": {},
|
| 901 |
+
"rendered_equal": true,
|
| 902 |
+
"tokens_equal": true,
|
| 903 |
+
"rendered_sha256": "8a3dbb38d2827e057168fb8a3d6a2de8e032ec6852a8e87c0b361543f8f6056f",
|
| 904 |
+
"token_ids_sha256": "b34856c2e771c03911bab8353efb901ca50653e99bb8fa22c52970ca9437387f"
|
| 905 |
+
},
|
| 906 |
+
{
|
| 907 |
+
"case": "json-03",
|
| 908 |
+
"options": {
|
| 909 |
+
"enable_thinking": false
|
| 910 |
+
},
|
| 911 |
+
"rendered_equal": true,
|
| 912 |
+
"tokens_equal": true,
|
| 913 |
+
"rendered_sha256": "37bd9133255a681630a15fbf5f902a6c60689d4b6cb7a7fe1631eac26bda9142",
|
| 914 |
+
"token_ids_sha256": "6ca400f3330a08f46318460cafd0f658af05cb80994f132a306a291dcc6e3aea"
|
| 915 |
+
},
|
| 916 |
+
{
|
| 917 |
+
"case": "json-03",
|
| 918 |
+
"options": {
|
| 919 |
+
"reasoning_effort": "low"
|
| 920 |
+
},
|
| 921 |
+
"rendered_equal": true,
|
| 922 |
+
"tokens_equal": true,
|
| 923 |
+
"rendered_sha256": "15eda6413cbfe554fd979fe671f9b29d3460190424f4fad532170efd3eed6fee",
|
| 924 |
+
"token_ids_sha256": "d8bb4ed4c951d432251f174077cf19e53716afd602d49e5fa3a561cd9c7e0324"
|
| 925 |
+
},
|
| 926 |
+
{
|
| 927 |
+
"case": "json-03",
|
| 928 |
+
"options": {
|
| 929 |
+
"reasoning_effort": "medium"
|
| 930 |
+
},
|
| 931 |
+
"rendered_equal": true,
|
| 932 |
+
"tokens_equal": true,
|
| 933 |
+
"rendered_sha256": "e13d3dcfb7025ae479066fa806518c2e558c8f3c154d0c907c6263e67349ca95",
|
| 934 |
+
"token_ids_sha256": "1e5cfb4792450de79b24f3850daec9b92b2aaeaf090e31c9c2d0ec65db03f1a1"
|
| 935 |
+
},
|
| 936 |
+
{
|
| 937 |
+
"case": "json-03",
|
| 938 |
+
"options": {
|
| 939 |
+
"reasoning_effort": "xhigh"
|
| 940 |
+
},
|
| 941 |
+
"rendered_equal": true,
|
| 942 |
+
"tokens_equal": true,
|
| 943 |
+
"rendered_sha256": "8a3dbb38d2827e057168fb8a3d6a2de8e032ec6852a8e87c0b361543f8f6056f",
|
| 944 |
+
"token_ids_sha256": "b34856c2e771c03911bab8353efb901ca50653e99bb8fa22c52970ca9437387f"
|
| 945 |
+
},
|
| 946 |
+
{
|
| 947 |
+
"case": "json-04",
|
| 948 |
+
"options": {},
|
| 949 |
+
"rendered_equal": true,
|
| 950 |
+
"tokens_equal": true,
|
| 951 |
+
"rendered_sha256": "1f303eab286c8e0b2dfd1e037488ced9ec2ad631c83baa367f2e7ce84c0d754b",
|
| 952 |
+
"token_ids_sha256": "7ba01d3705a9a2fc2c44adebb589fe7c4cc55d32f4f34b4c171b0e004c68cfeb"
|
| 953 |
+
},
|
| 954 |
+
{
|
| 955 |
+
"case": "json-04",
|
| 956 |
+
"options": {
|
| 957 |
+
"enable_thinking": false
|
| 958 |
+
},
|
| 959 |
+
"rendered_equal": true,
|
| 960 |
+
"tokens_equal": true,
|
| 961 |
+
"rendered_sha256": "8653dbe405bebf2ae11a4e03ce412656fe2c8edac19590eddd7683ff0a161a41",
|
| 962 |
+
"token_ids_sha256": "12c6581c2d8aca475d83a32e06a2c4c13acaebe759c2559bb9d0b0072bd01eea"
|
| 963 |
+
},
|
| 964 |
+
{
|
| 965 |
+
"case": "json-04",
|
| 966 |
+
"options": {
|
| 967 |
+
"reasoning_effort": "low"
|
| 968 |
+
},
|
| 969 |
+
"rendered_equal": true,
|
| 970 |
+
"tokens_equal": true,
|
| 971 |
+
"rendered_sha256": "390532466ee5550aeeab6067168146cfc47eaffb3423ff6758df6d6733a4d59a",
|
| 972 |
+
"token_ids_sha256": "9ae37ad8259608f3968e7aecd6ae80cca934d185231a2b18ab6dfd0ff50dab36"
|
| 973 |
+
},
|
| 974 |
+
{
|
| 975 |
+
"case": "json-04",
|
| 976 |
+
"options": {
|
| 977 |
+
"reasoning_effort": "medium"
|
| 978 |
+
},
|
| 979 |
+
"rendered_equal": true,
|
| 980 |
+
"tokens_equal": true,
|
| 981 |
+
"rendered_sha256": "33f30604fafeb5471321edce74a26ec52381f03eabfd6acfa4a79784124d9855",
|
| 982 |
+
"token_ids_sha256": "9fb15ad820d73935b93d25cc15c9277639804a93d7fca097cfaa1704ff4862e0"
|
| 983 |
+
},
|
| 984 |
+
{
|
| 985 |
+
"case": "json-04",
|
| 986 |
+
"options": {
|
| 987 |
+
"reasoning_effort": "xhigh"
|
| 988 |
+
},
|
| 989 |
+
"rendered_equal": true,
|
| 990 |
+
"tokens_equal": true,
|
| 991 |
+
"rendered_sha256": "1f303eab286c8e0b2dfd1e037488ced9ec2ad631c83baa367f2e7ce84c0d754b",
|
| 992 |
+
"token_ids_sha256": "7ba01d3705a9a2fc2c44adebb589fe7c4cc55d32f4f34b4c171b0e004c68cfeb"
|
| 993 |
+
},
|
| 994 |
+
{
|
| 995 |
+
"case": "json-05",
|
| 996 |
+
"options": {},
|
| 997 |
+
"rendered_equal": true,
|
| 998 |
+
"tokens_equal": true,
|
| 999 |
+
"rendered_sha256": "8ed29d2b59a460fa3e6dbee839a9635edbbaf50eea80b88bff5eacdc78e73fc1",
|
| 1000 |
+
"token_ids_sha256": "4139c153e92d79a41aea986199662c5f31289a0f8b774855c7c4f66dc6b8db17"
|
| 1001 |
+
},
|
| 1002 |
+
{
|
| 1003 |
+
"case": "json-05",
|
| 1004 |
+
"options": {
|
| 1005 |
+
"enable_thinking": false
|
| 1006 |
+
},
|
| 1007 |
+
"rendered_equal": true,
|
| 1008 |
+
"tokens_equal": true,
|
| 1009 |
+
"rendered_sha256": "a3818397f7583a07006ca0feefadf46f8f09f4f14123cb7e61e2eed7b3549b5e",
|
| 1010 |
+
"token_ids_sha256": "8184a5cc8b187c66285b51417a2655460c534ae8a98581f6abbeea0db3d9d7fc"
|
| 1011 |
+
},
|
| 1012 |
+
{
|
| 1013 |
+
"case": "json-05",
|
| 1014 |
+
"options": {
|
| 1015 |
+
"reasoning_effort": "low"
|
| 1016 |
+
},
|
| 1017 |
+
"rendered_equal": true,
|
| 1018 |
+
"tokens_equal": true,
|
| 1019 |
+
"rendered_sha256": "54972f2f1eef05bb9bb6905aac8573dc4e6074740cf6e74633295c307d00e256",
|
| 1020 |
+
"token_ids_sha256": "331548692bf3d1c450ffe65bafac49565037ecb0bc078b03b794d88e3a55395f"
|
| 1021 |
+
},
|
| 1022 |
+
{
|
| 1023 |
+
"case": "json-05",
|
| 1024 |
+
"options": {
|
| 1025 |
+
"reasoning_effort": "medium"
|
| 1026 |
+
},
|
| 1027 |
+
"rendered_equal": true,
|
| 1028 |
+
"tokens_equal": true,
|
| 1029 |
+
"rendered_sha256": "9cb233dad0e7c052b679c8abcbd1c37f806f8771ddef95a255739e1aadbbeb30",
|
| 1030 |
+
"token_ids_sha256": "d9a08463d3373938a3b098b85182894715e811c42f08dea12d3b3c699d65696d"
|
| 1031 |
+
},
|
| 1032 |
+
{
|
| 1033 |
+
"case": "json-05",
|
| 1034 |
+
"options": {
|
| 1035 |
+
"reasoning_effort": "xhigh"
|
| 1036 |
+
},
|
| 1037 |
+
"rendered_equal": true,
|
| 1038 |
+
"tokens_equal": true,
|
| 1039 |
+
"rendered_sha256": "8ed29d2b59a460fa3e6dbee839a9635edbbaf50eea80b88bff5eacdc78e73fc1",
|
| 1040 |
+
"token_ids_sha256": "4139c153e92d79a41aea986199662c5f31289a0f8b774855c7c4f66dc6b8db17"
|
| 1041 |
+
},
|
| 1042 |
+
{
|
| 1043 |
+
"case": "unicode-01",
|
| 1044 |
+
"options": {},
|
| 1045 |
+
"rendered_equal": true,
|
| 1046 |
+
"tokens_equal": true,
|
| 1047 |
+
"rendered_sha256": "873831a91e22b06c76fc5f676cf413eb134887725518f0915bb5e84d7f06b2b5",
|
| 1048 |
+
"token_ids_sha256": "f3baf0dc6982eaece8c4cdd4c4671b1ad756619ae32530bd08481c691a4986c8"
|
| 1049 |
+
},
|
| 1050 |
+
{
|
| 1051 |
+
"case": "unicode-01",
|
| 1052 |
+
"options": {
|
| 1053 |
+
"enable_thinking": false
|
| 1054 |
+
},
|
| 1055 |
+
"rendered_equal": true,
|
| 1056 |
+
"tokens_equal": true,
|
| 1057 |
+
"rendered_sha256": "e73da63a506d2412fe58c20add9e44337afcc80e82ea3f8149529b0a5be5c989",
|
| 1058 |
+
"token_ids_sha256": "b556477b09485ca4d3c36829cd8f61f1145fae0b1eb1efef0aeab02853ceae18"
|
| 1059 |
+
},
|
| 1060 |
+
{
|
| 1061 |
+
"case": "unicode-01",
|
| 1062 |
+
"options": {
|
| 1063 |
+
"reasoning_effort": "low"
|
| 1064 |
+
},
|
| 1065 |
+
"rendered_equal": true,
|
| 1066 |
+
"tokens_equal": true,
|
| 1067 |
+
"rendered_sha256": "749b9ab5744f103026bc7b97cb021f820aec8a708ef3117ed9ffb3c82dc727a6",
|
| 1068 |
+
"token_ids_sha256": "c04c84f9c01ef219732a2a5a12df123c7596e297e5c286aa0929648a7e3f4a71"
|
| 1069 |
+
},
|
| 1070 |
+
{
|
| 1071 |
+
"case": "unicode-01",
|
| 1072 |
+
"options": {
|
| 1073 |
+
"reasoning_effort": "medium"
|
| 1074 |
+
},
|
| 1075 |
+
"rendered_equal": true,
|
| 1076 |
+
"tokens_equal": true,
|
| 1077 |
+
"rendered_sha256": "7222991af7ce9ca6c332f1004b1447347009c19ad2c6e305872c9b885e58ee6e",
|
| 1078 |
+
"token_ids_sha256": "c4e35e4934451ebe9cdff2d460d661d4c2f4d2b10cfc3885a233d1aca0671af3"
|
| 1079 |
+
},
|
| 1080 |
+
{
|
| 1081 |
+
"case": "unicode-01",
|
| 1082 |
+
"options": {
|
| 1083 |
+
"reasoning_effort": "xhigh"
|
| 1084 |
+
},
|
| 1085 |
+
"rendered_equal": true,
|
| 1086 |
+
"tokens_equal": true,
|
| 1087 |
+
"rendered_sha256": "873831a91e22b06c76fc5f676cf413eb134887725518f0915bb5e84d7f06b2b5",
|
| 1088 |
+
"token_ids_sha256": "f3baf0dc6982eaece8c4cdd4c4671b1ad756619ae32530bd08481c691a4986c8"
|
| 1089 |
+
},
|
| 1090 |
+
{
|
| 1091 |
+
"case": "unicode-02",
|
| 1092 |
+
"options": {},
|
| 1093 |
+
"rendered_equal": true,
|
| 1094 |
+
"tokens_equal": true,
|
| 1095 |
+
"rendered_sha256": "7d29c826bee76e345dcad80d469e0c238f48af54819f1912de0f6038169538c7",
|
| 1096 |
+
"token_ids_sha256": "4a3f23fdbd290986351a2d30596196a47868493013f89a206e7a94d6ada39ad4"
|
| 1097 |
+
},
|
| 1098 |
+
{
|
| 1099 |
+
"case": "unicode-02",
|
| 1100 |
+
"options": {
|
| 1101 |
+
"enable_thinking": false
|
| 1102 |
+
},
|
| 1103 |
+
"rendered_equal": true,
|
| 1104 |
+
"tokens_equal": true,
|
| 1105 |
+
"rendered_sha256": "2941f77f6d53b2f4123fedbb77ecfc009e7da0970021af7cbdbf5ff5d5e27749",
|
| 1106 |
+
"token_ids_sha256": "08c986d3979914a9a4ccc7205f9acb2969db0063df8ed2eddf8850891b3b2ae8"
|
| 1107 |
+
},
|
| 1108 |
+
{
|
| 1109 |
+
"case": "unicode-02",
|
| 1110 |
+
"options": {
|
| 1111 |
+
"reasoning_effort": "low"
|
| 1112 |
+
},
|
| 1113 |
+
"rendered_equal": true,
|
| 1114 |
+
"tokens_equal": true,
|
| 1115 |
+
"rendered_sha256": "abf48e9b182940d04cd3ae1b89bbe6d2558044551682fc80660e82b6cf7270d8",
|
| 1116 |
+
"token_ids_sha256": "662cc9514c92de9469ecb2c47fedfcf0f1468d481445cbb5fa73950e6ca8310d"
|
| 1117 |
+
},
|
| 1118 |
+
{
|
| 1119 |
+
"case": "unicode-02",
|
| 1120 |
+
"options": {
|
| 1121 |
+
"reasoning_effort": "medium"
|
| 1122 |
+
},
|
| 1123 |
+
"rendered_equal": true,
|
| 1124 |
+
"tokens_equal": true,
|
| 1125 |
+
"rendered_sha256": "998ab000c7531bd04a91be93ebbae3b10bf0128784a4dcbfad895249f02de0dc",
|
| 1126 |
+
"token_ids_sha256": "306a80c5aeb1708c537527547590859a3adcfa5951fb9937ffd177b0349a5199"
|
| 1127 |
+
},
|
| 1128 |
+
{
|
| 1129 |
+
"case": "unicode-02",
|
| 1130 |
+
"options": {
|
| 1131 |
+
"reasoning_effort": "xhigh"
|
| 1132 |
+
},
|
| 1133 |
+
"rendered_equal": true,
|
| 1134 |
+
"tokens_equal": true,
|
| 1135 |
+
"rendered_sha256": "7d29c826bee76e345dcad80d469e0c238f48af54819f1912de0f6038169538c7",
|
| 1136 |
+
"token_ids_sha256": "4a3f23fdbd290986351a2d30596196a47868493013f89a206e7a94d6ada39ad4"
|
| 1137 |
+
},
|
| 1138 |
+
{
|
| 1139 |
+
"case": "unicode-03",
|
| 1140 |
+
"options": {},
|
| 1141 |
+
"rendered_equal": true,
|
| 1142 |
+
"tokens_equal": true,
|
| 1143 |
+
"rendered_sha256": "bf4b5f71c04f51824c51cc1426cfcd0c437171656133c7c369c23c357223b486",
|
| 1144 |
+
"token_ids_sha256": "e00642a1e34a12ef656d09970b2324751d6af2271b01c433d7d1b16e56740d9f"
|
| 1145 |
+
},
|
| 1146 |
+
{
|
| 1147 |
+
"case": "unicode-03",
|
| 1148 |
+
"options": {
|
| 1149 |
+
"enable_thinking": false
|
| 1150 |
+
},
|
| 1151 |
+
"rendered_equal": true,
|
| 1152 |
+
"tokens_equal": true,
|
| 1153 |
+
"rendered_sha256": "12fbc9a75e8f80f90e604940aec261dce857bd6a9a29b44155c780b7da72da34",
|
| 1154 |
+
"token_ids_sha256": "a2974c301f5ce702b9c5c3046d5f83c4c435d41bed622d4c48874b40a580861f"
|
| 1155 |
+
},
|
| 1156 |
+
{
|
| 1157 |
+
"case": "unicode-03",
|
| 1158 |
+
"options": {
|
| 1159 |
+
"reasoning_effort": "low"
|
| 1160 |
+
},
|
| 1161 |
+
"rendered_equal": true,
|
| 1162 |
+
"tokens_equal": true,
|
| 1163 |
+
"rendered_sha256": "6add51b230cd93bf48a49f4db9373b3ec1e551d2ec96a3b4dbea5a7d015b144f",
|
| 1164 |
+
"token_ids_sha256": "8416686c5324dacd87e006bae5782e6bbf64b80d63173dab546e2e9818d3f641"
|
| 1165 |
+
},
|
| 1166 |
+
{
|
| 1167 |
+
"case": "unicode-03",
|
| 1168 |
+
"options": {
|
| 1169 |
+
"reasoning_effort": "medium"
|
| 1170 |
+
},
|
| 1171 |
+
"rendered_equal": true,
|
| 1172 |
+
"tokens_equal": true,
|
| 1173 |
+
"rendered_sha256": "fb1f80d916cbd5dfb8280688956eadd738271c2bc2337b80815bb9fc51731c32",
|
| 1174 |
+
"token_ids_sha256": "b81d42ed82db2354b3340df6024f1231000a5325ccbb914db8358283a0532e62"
|
| 1175 |
+
},
|
| 1176 |
+
{
|
| 1177 |
+
"case": "unicode-03",
|
| 1178 |
+
"options": {
|
| 1179 |
+
"reasoning_effort": "xhigh"
|
| 1180 |
+
},
|
| 1181 |
+
"rendered_equal": true,
|
| 1182 |
+
"tokens_equal": true,
|
| 1183 |
+
"rendered_sha256": "bf4b5f71c04f51824c51cc1426cfcd0c437171656133c7c369c23c357223b486",
|
| 1184 |
+
"token_ids_sha256": "e00642a1e34a12ef656d09970b2324751d6af2271b01c433d7d1b16e56740d9f"
|
| 1185 |
+
},
|
| 1186 |
+
{
|
| 1187 |
+
"case": "unicode-04",
|
| 1188 |
+
"options": {},
|
| 1189 |
+
"rendered_equal": true,
|
| 1190 |
+
"tokens_equal": true,
|
| 1191 |
+
"rendered_sha256": "d7142c4d4ade7ba1b87072e8aacf73c17f08e255dea6eb1b06a621353211c5a1",
|
| 1192 |
+
"token_ids_sha256": "4ed5ff2c7b6a2f8ae5c264e871a1d758a316b2f28f5870331b4458bfe1d8caf0"
|
| 1193 |
+
},
|
| 1194 |
+
{
|
| 1195 |
+
"case": "unicode-04",
|
| 1196 |
+
"options": {
|
| 1197 |
+
"enable_thinking": false
|
| 1198 |
+
},
|
| 1199 |
+
"rendered_equal": true,
|
| 1200 |
+
"tokens_equal": true,
|
| 1201 |
+
"rendered_sha256": "cc557c74d6c9a5c41b9ec54c4924315e2976080858c08f18c03110223f8aead6",
|
| 1202 |
+
"token_ids_sha256": "f0309c2a3ee2ca5a83c54e5b1c23482a075686d5e997824788a572193bce952f"
|
| 1203 |
+
},
|
| 1204 |
+
{
|
| 1205 |
+
"case": "unicode-04",
|
| 1206 |
+
"options": {
|
| 1207 |
+
"reasoning_effort": "low"
|
| 1208 |
+
},
|
| 1209 |
+
"rendered_equal": true,
|
| 1210 |
+
"tokens_equal": true,
|
| 1211 |
+
"rendered_sha256": "0f4e07bf9c8129f5ecfe3c815adff8d78d3013cf8157d85f113f6035966762cb",
|
| 1212 |
+
"token_ids_sha256": "f0c31548432c48ba755043292d19a9dcc64e81677e3a0c4129b663d664df1fe8"
|
| 1213 |
+
},
|
| 1214 |
+
{
|
| 1215 |
+
"case": "unicode-04",
|
| 1216 |
+
"options": {
|
| 1217 |
+
"reasoning_effort": "medium"
|
| 1218 |
+
},
|
| 1219 |
+
"rendered_equal": true,
|
| 1220 |
+
"tokens_equal": true,
|
| 1221 |
+
"rendered_sha256": "515d47b9366bdbff3c4da92f763fcdd382487ae4dbc97c88dc4f677e600ffdd7",
|
| 1222 |
+
"token_ids_sha256": "14f6bce785b2517a53fc15d776f89d688fac43e4b11d434a63903fb451628e3d"
|
| 1223 |
+
},
|
| 1224 |
+
{
|
| 1225 |
+
"case": "unicode-04",
|
| 1226 |
+
"options": {
|
| 1227 |
+
"reasoning_effort": "xhigh"
|
| 1228 |
+
},
|
| 1229 |
+
"rendered_equal": true,
|
| 1230 |
+
"tokens_equal": true,
|
| 1231 |
+
"rendered_sha256": "d7142c4d4ade7ba1b87072e8aacf73c17f08e255dea6eb1b06a621353211c5a1",
|
| 1232 |
+
"token_ids_sha256": "4ed5ff2c7b6a2f8ae5c264e871a1d758a316b2f28f5870331b4458bfe1d8caf0"
|
| 1233 |
+
},
|
| 1234 |
+
{
|
| 1235 |
+
"case": "unicode-05",
|
| 1236 |
+
"options": {},
|
| 1237 |
+
"rendered_equal": true,
|
| 1238 |
+
"tokens_equal": true,
|
| 1239 |
+
"rendered_sha256": "c29c6cf2be9160e98648fa8dc071fece6ea6660cf69f08e1f7b0aa54fe316b7e",
|
| 1240 |
+
"token_ids_sha256": "25632625ac135dc1d449c78798e64ada84f0ae48804aafbc09914e8b026d3146"
|
| 1241 |
+
},
|
| 1242 |
+
{
|
| 1243 |
+
"case": "unicode-05",
|
| 1244 |
+
"options": {
|
| 1245 |
+
"enable_thinking": false
|
| 1246 |
+
},
|
| 1247 |
+
"rendered_equal": true,
|
| 1248 |
+
"tokens_equal": true,
|
| 1249 |
+
"rendered_sha256": "44b83f63cdda91288fca02c6155eea41a474b6cb2fcdad68ff9587cc055a2fab",
|
| 1250 |
+
"token_ids_sha256": "1fd9dc706e9b32b1af44b066e7abe40afa5f6636a645a3c9879f9dd0d6cccf6d"
|
| 1251 |
+
},
|
| 1252 |
+
{
|
| 1253 |
+
"case": "unicode-05",
|
| 1254 |
+
"options": {
|
| 1255 |
+
"reasoning_effort": "low"
|
| 1256 |
+
},
|
| 1257 |
+
"rendered_equal": true,
|
| 1258 |
+
"tokens_equal": true,
|
| 1259 |
+
"rendered_sha256": "54513566862c2e37446c1bf5d746b65b4c32e938f68764673ee100ab40c0f71d",
|
| 1260 |
+
"token_ids_sha256": "c7871f918bec46deeddf3630e2fe8a1b39970eb5b8efb50c135b2ea9801c82c3"
|
| 1261 |
+
},
|
| 1262 |
+
{
|
| 1263 |
+
"case": "unicode-05",
|
| 1264 |
+
"options": {
|
| 1265 |
+
"reasoning_effort": "medium"
|
| 1266 |
+
},
|
| 1267 |
+
"rendered_equal": true,
|
| 1268 |
+
"tokens_equal": true,
|
| 1269 |
+
"rendered_sha256": "0857bea7133e43b4ef19f718421ae2a03622f96d921ab05042503fd15895d2dc",
|
| 1270 |
+
"token_ids_sha256": "ebf3da501675389d42d06b41329a53a3f90650cc2ec38c8319c9ae9088ffc866"
|
| 1271 |
+
},
|
| 1272 |
+
{
|
| 1273 |
+
"case": "unicode-05",
|
| 1274 |
+
"options": {
|
| 1275 |
+
"reasoning_effort": "xhigh"
|
| 1276 |
+
},
|
| 1277 |
+
"rendered_equal": true,
|
| 1278 |
+
"tokens_equal": true,
|
| 1279 |
+
"rendered_sha256": "c29c6cf2be9160e98648fa8dc071fece6ea6660cf69f08e1f7b0aa54fe316b7e",
|
| 1280 |
+
"token_ids_sha256": "25632625ac135dc1d449c78798e64ada84f0ae48804aafbc09914e8b026d3146"
|
| 1281 |
+
},
|
| 1282 |
+
{
|
| 1283 |
+
"case": "roles-01",
|
| 1284 |
+
"options": {},
|
| 1285 |
+
"rendered_equal": true,
|
| 1286 |
+
"tokens_equal": true,
|
| 1287 |
+
"rendered_sha256": "69197243135d48e4810d294922e7cf658a4be3dee7774ef4c990645dda560c23",
|
| 1288 |
+
"token_ids_sha256": "678d6c1d5b98f94c37677b7eccaf46dd0cad48028bf1da9d26ca95b8bbb5c07c"
|
| 1289 |
+
},
|
| 1290 |
+
{
|
| 1291 |
+
"case": "roles-01",
|
| 1292 |
+
"options": {
|
| 1293 |
+
"enable_thinking": false
|
| 1294 |
+
},
|
| 1295 |
+
"rendered_equal": true,
|
| 1296 |
+
"tokens_equal": true,
|
| 1297 |
+
"rendered_sha256": "be4e59de4ee724c6ad88fa7bd5ba7e3b720d10007ddb784bf816c159a5177638",
|
| 1298 |
+
"token_ids_sha256": "dedb5f6a296d441e6ae9f0800da3ff20185aa7679704d810bee4f7e4cb688866"
|
| 1299 |
+
},
|
| 1300 |
+
{
|
| 1301 |
+
"case": "roles-01",
|
| 1302 |
+
"options": {
|
| 1303 |
+
"reasoning_effort": "low"
|
| 1304 |
+
},
|
| 1305 |
+
"rendered_equal": true,
|
| 1306 |
+
"tokens_equal": true,
|
| 1307 |
+
"rendered_sha256": "b18660722791b356c87ecaca8b311901c0c1c7998c333b9f1fb4a30e4db71cdb",
|
| 1308 |
+
"token_ids_sha256": "d814d754001623d861b248019f7b6217520c75b930e0e35bba3c17e58cb7d5fb"
|
| 1309 |
+
},
|
| 1310 |
+
{
|
| 1311 |
+
"case": "roles-01",
|
| 1312 |
+
"options": {
|
| 1313 |
+
"reasoning_effort": "medium"
|
| 1314 |
+
},
|
| 1315 |
+
"rendered_equal": true,
|
| 1316 |
+
"tokens_equal": true,
|
| 1317 |
+
"rendered_sha256": "eee7dec1e6469d438b5d21989ef21095f287efd1eae13b4734fb56cfb84f1959",
|
| 1318 |
+
"token_ids_sha256": "ceeb56c216d9df66e9942193cc03ad169bfa40959d8d381188443e2006f8ebda"
|
| 1319 |
+
},
|
| 1320 |
+
{
|
| 1321 |
+
"case": "roles-01",
|
| 1322 |
+
"options": {
|
| 1323 |
+
"reasoning_effort": "xhigh"
|
| 1324 |
+
},
|
| 1325 |
+
"rendered_equal": true,
|
| 1326 |
+
"tokens_equal": true,
|
| 1327 |
+
"rendered_sha256": "69197243135d48e4810d294922e7cf658a4be3dee7774ef4c990645dda560c23",
|
| 1328 |
+
"token_ids_sha256": "678d6c1d5b98f94c37677b7eccaf46dd0cad48028bf1da9d26ca95b8bbb5c07c"
|
| 1329 |
+
},
|
| 1330 |
+
{
|
| 1331 |
+
"case": "roles-02",
|
| 1332 |
+
"options": {},
|
| 1333 |
+
"rendered_equal": true,
|
| 1334 |
+
"tokens_equal": true,
|
| 1335 |
+
"rendered_sha256": "712d00c38b9e83916c4835a7fd39282d23ac9320c9f19bc16c16eb4a4f040011",
|
| 1336 |
+
"token_ids_sha256": "e2bf0f7a3aae6e78f914021f4402fea5d91d6c707ce5a4cbf620829cf3c0764e"
|
| 1337 |
+
},
|
| 1338 |
+
{
|
| 1339 |
+
"case": "roles-02",
|
| 1340 |
+
"options": {
|
| 1341 |
+
"enable_thinking": false
|
| 1342 |
+
},
|
| 1343 |
+
"rendered_equal": true,
|
| 1344 |
+
"tokens_equal": true,
|
| 1345 |
+
"rendered_sha256": "7fa28a820c16c0cdb7bd520ce67584863bc2621963b5ca86b0ff9b31bb4e595c",
|
| 1346 |
+
"token_ids_sha256": "2cd4c83c774cd9f5d4cd6cb831fc524e56177ada3fe18441cb5dc90c9ed40a91"
|
| 1347 |
+
},
|
| 1348 |
+
{
|
| 1349 |
+
"case": "roles-02",
|
| 1350 |
+
"options": {
|
| 1351 |
+
"reasoning_effort": "low"
|
| 1352 |
+
},
|
| 1353 |
+
"rendered_equal": true,
|
| 1354 |
+
"tokens_equal": true,
|
| 1355 |
+
"rendered_sha256": "13e1946a670a1e3fb4f611341760b334e9a0e451ae65eccf52b2a6d03e4fbe61",
|
| 1356 |
+
"token_ids_sha256": "6ee01320aa8b8230d8d9fce35bdf2cf5379524e389f2fcaef27b4a8c1d8360bd"
|
| 1357 |
+
},
|
| 1358 |
+
{
|
| 1359 |
+
"case": "roles-02",
|
| 1360 |
+
"options": {
|
| 1361 |
+
"reasoning_effort": "medium"
|
| 1362 |
+
},
|
| 1363 |
+
"rendered_equal": true,
|
| 1364 |
+
"tokens_equal": true,
|
| 1365 |
+
"rendered_sha256": "040d17c8416b169af8829d4ac474fb2f59b4df2c3a1e05b97798f97b702f5d85",
|
| 1366 |
+
"token_ids_sha256": "bfad556e9b5da0ccd563f009ee1b2b332165bf7e740db9118d0b3293d34227b9"
|
| 1367 |
+
},
|
| 1368 |
+
{
|
| 1369 |
+
"case": "roles-02",
|
| 1370 |
+
"options": {
|
| 1371 |
+
"reasoning_effort": "xhigh"
|
| 1372 |
+
},
|
| 1373 |
+
"rendered_equal": true,
|
| 1374 |
+
"tokens_equal": true,
|
| 1375 |
+
"rendered_sha256": "712d00c38b9e83916c4835a7fd39282d23ac9320c9f19bc16c16eb4a4f040011",
|
| 1376 |
+
"token_ids_sha256": "e2bf0f7a3aae6e78f914021f4402fea5d91d6c707ce5a4cbf620829cf3c0764e"
|
| 1377 |
+
},
|
| 1378 |
+
{
|
| 1379 |
+
"case": "roles-03",
|
| 1380 |
+
"options": {},
|
| 1381 |
+
"rendered_equal": true,
|
| 1382 |
+
"tokens_equal": true,
|
| 1383 |
+
"rendered_sha256": "3b85188652babd19a119f9bb6970d704077a93af91a2b0d16f24a787188a4068",
|
| 1384 |
+
"token_ids_sha256": "d94af0af1c092b4782cba4ad4b25b38414db15ee002a375a2fd0c75ba6d05dd8"
|
| 1385 |
+
},
|
| 1386 |
+
{
|
| 1387 |
+
"case": "roles-03",
|
| 1388 |
+
"options": {
|
| 1389 |
+
"enable_thinking": false
|
| 1390 |
+
},
|
| 1391 |
+
"rendered_equal": true,
|
| 1392 |
+
"tokens_equal": true,
|
| 1393 |
+
"rendered_sha256": "ce4853f4464de61b59ff75e37680c4dd1ae59aedddebcbea809f3a2c4f1affca",
|
| 1394 |
+
"token_ids_sha256": "12248951e0fdecd25101bc14b252df89f96b821450e55e896c8f6e12615206a8"
|
| 1395 |
+
},
|
| 1396 |
+
{
|
| 1397 |
+
"case": "roles-03",
|
| 1398 |
+
"options": {
|
| 1399 |
+
"reasoning_effort": "low"
|
| 1400 |
+
},
|
| 1401 |
+
"rendered_equal": true,
|
| 1402 |
+
"tokens_equal": true,
|
| 1403 |
+
"rendered_sha256": "dfb78b9b5145697a1185231bc1af8f91785880221c5da5154fb7f91459ebd927",
|
| 1404 |
+
"token_ids_sha256": "a61aacd7a56e3427d13f7c06794de7b3903885140d063a8a9373ed2d21507c3f"
|
| 1405 |
+
},
|
| 1406 |
+
{
|
| 1407 |
+
"case": "roles-03",
|
| 1408 |
+
"options": {
|
| 1409 |
+
"reasoning_effort": "medium"
|
| 1410 |
+
},
|
| 1411 |
+
"rendered_equal": true,
|
| 1412 |
+
"tokens_equal": true,
|
| 1413 |
+
"rendered_sha256": "d9381db20bf9a23be308fc95f4ff07b7af74b610c2c2c3daeb886c545bc647fc",
|
| 1414 |
+
"token_ids_sha256": "42408fa09b988dd65ee60fe0f098d82323f1a9a3c60e2067263549573d9e8a8a"
|
| 1415 |
+
},
|
| 1416 |
+
{
|
| 1417 |
+
"case": "roles-03",
|
| 1418 |
+
"options": {
|
| 1419 |
+
"reasoning_effort": "xhigh"
|
| 1420 |
+
},
|
| 1421 |
+
"rendered_equal": true,
|
| 1422 |
+
"tokens_equal": true,
|
| 1423 |
+
"rendered_sha256": "3b85188652babd19a119f9bb6970d704077a93af91a2b0d16f24a787188a4068",
|
| 1424 |
+
"token_ids_sha256": "d94af0af1c092b4782cba4ad4b25b38414db15ee002a375a2fd0c75ba6d05dd8"
|
| 1425 |
+
},
|
| 1426 |
+
{
|
| 1427 |
+
"case": "roles-04",
|
| 1428 |
+
"options": {},
|
| 1429 |
+
"rendered_equal": true,
|
| 1430 |
+
"tokens_equal": true,
|
| 1431 |
+
"rendered_sha256": "9cebda0d117eae0f377f38014a909a8ff59a7c9813803ab4be09faae59f3edff",
|
| 1432 |
+
"token_ids_sha256": "00ab1f28e66ffa06478fa3d42dbe05c1b7b243e73cc1324147361bc2e71fcf27"
|
| 1433 |
+
},
|
| 1434 |
+
{
|
| 1435 |
+
"case": "roles-04",
|
| 1436 |
+
"options": {
|
| 1437 |
+
"enable_thinking": false
|
| 1438 |
+
},
|
| 1439 |
+
"rendered_equal": true,
|
| 1440 |
+
"tokens_equal": true,
|
| 1441 |
+
"rendered_sha256": "78fb14a7cf8badcc8b7c4b2dc1deb5f18d49d1c2e08f682b3508982f9274d5f1",
|
| 1442 |
+
"token_ids_sha256": "395aca8a9be097ba2cdd5e11bcf9fb67928fb9ec72fc39e9097414249f120f56"
|
| 1443 |
+
},
|
| 1444 |
+
{
|
| 1445 |
+
"case": "roles-04",
|
| 1446 |
+
"options": {
|
| 1447 |
+
"reasoning_effort": "low"
|
| 1448 |
+
},
|
| 1449 |
+
"rendered_equal": true,
|
| 1450 |
+
"tokens_equal": true,
|
| 1451 |
+
"rendered_sha256": "580a0ed251e3ae771fe6d9dc098cc46198d1512615318b3c360c0ad93c7f0b37",
|
| 1452 |
+
"token_ids_sha256": "d03a56676074998e963716039d4fbeee0404bff282283e3eba2bcdc534e48527"
|
| 1453 |
+
},
|
| 1454 |
+
{
|
| 1455 |
+
"case": "roles-04",
|
| 1456 |
+
"options": {
|
| 1457 |
+
"reasoning_effort": "medium"
|
| 1458 |
+
},
|
| 1459 |
+
"rendered_equal": true,
|
| 1460 |
+
"tokens_equal": true,
|
| 1461 |
+
"rendered_sha256": "43603f71f3d781afd5495449e11ddbcfb123e4bbfcb91d49127b8f3d38c1d525",
|
| 1462 |
+
"token_ids_sha256": "e0ef1daabe4baf72ddcaf1569e2896647a3170e7eeabb5bfcf56df297a19f300"
|
| 1463 |
+
},
|
| 1464 |
+
{
|
| 1465 |
+
"case": "roles-04",
|
| 1466 |
+
"options": {
|
| 1467 |
+
"reasoning_effort": "xhigh"
|
| 1468 |
+
},
|
| 1469 |
+
"rendered_equal": true,
|
| 1470 |
+
"tokens_equal": true,
|
| 1471 |
+
"rendered_sha256": "9cebda0d117eae0f377f38014a909a8ff59a7c9813803ab4be09faae59f3edff",
|
| 1472 |
+
"token_ids_sha256": "00ab1f28e66ffa06478fa3d42dbe05c1b7b243e73cc1324147361bc2e71fcf27"
|
| 1473 |
+
},
|
| 1474 |
+
{
|
| 1475 |
+
"case": "roles-05",
|
| 1476 |
+
"options": {},
|
| 1477 |
+
"rendered_equal": true,
|
| 1478 |
+
"tokens_equal": true,
|
| 1479 |
+
"rendered_sha256": "221adbad330129783e9a8df3a43fa0f498b8bcbfb3812c655de79639ec91790b",
|
| 1480 |
+
"token_ids_sha256": "d7a18d6d1252cb2703786b18e1d3eaa16a9648eea36b93a1ded2006f85a37091"
|
| 1481 |
+
},
|
| 1482 |
+
{
|
| 1483 |
+
"case": "roles-05",
|
| 1484 |
+
"options": {
|
| 1485 |
+
"enable_thinking": false
|
| 1486 |
+
},
|
| 1487 |
+
"rendered_equal": true,
|
| 1488 |
+
"tokens_equal": true,
|
| 1489 |
+
"rendered_sha256": "12516193a253ae877876f64b85f7e4b494e26eea096266af085340cb58053c64",
|
| 1490 |
+
"token_ids_sha256": "e2cccb2f8693bc68d97b17c93bd70a633deaa59bce1000d60277300e8bec630a"
|
| 1491 |
+
},
|
| 1492 |
+
{
|
| 1493 |
+
"case": "roles-05",
|
| 1494 |
+
"options": {
|
| 1495 |
+
"reasoning_effort": "low"
|
| 1496 |
+
},
|
| 1497 |
+
"rendered_equal": true,
|
| 1498 |
+
"tokens_equal": true,
|
| 1499 |
+
"rendered_sha256": "accba5632f386b18f07a489f2533b56bf288f4dacc67092747c164c02c8d1410",
|
| 1500 |
+
"token_ids_sha256": "320f0dae8da2a7da89b861a88cbdb0681c059aa2c32becbfd1ca61cd1d51118c"
|
| 1501 |
+
},
|
| 1502 |
+
{
|
| 1503 |
+
"case": "roles-05",
|
| 1504 |
+
"options": {
|
| 1505 |
+
"reasoning_effort": "medium"
|
| 1506 |
+
},
|
| 1507 |
+
"rendered_equal": true,
|
| 1508 |
+
"tokens_equal": true,
|
| 1509 |
+
"rendered_sha256": "cb560837a0396a76b67755d82e2f085f3579679fee20d2439cd3091e12c021f3",
|
| 1510 |
+
"token_ids_sha256": "ef56d5a979147ce65ac1fdd78283b8f25c0a80d8321e1d41b92c512712cd7506"
|
| 1511 |
+
},
|
| 1512 |
+
{
|
| 1513 |
+
"case": "roles-05",
|
| 1514 |
+
"options": {
|
| 1515 |
+
"reasoning_effort": "xhigh"
|
| 1516 |
+
},
|
| 1517 |
+
"rendered_equal": true,
|
| 1518 |
+
"tokens_equal": true,
|
| 1519 |
+
"rendered_sha256": "221adbad330129783e9a8df3a43fa0f498b8bcbfb3812c655de79639ec91790b",
|
| 1520 |
+
"token_ids_sha256": "d7a18d6d1252cb2703786b18e1d3eaa16a9648eea36b93a1ded2006f85a37091"
|
| 1521 |
+
},
|
| 1522 |
+
{
|
| 1523 |
+
"case": "coding-01",
|
| 1524 |
+
"options": {},
|
| 1525 |
+
"rendered_equal": true,
|
| 1526 |
+
"tokens_equal": true,
|
| 1527 |
+
"rendered_sha256": "051b7aa8df5fde373f9f96fca41c7d670d7b11fcd2ddb142a390bea76999b5f8",
|
| 1528 |
+
"token_ids_sha256": "b1ad5965c18fb4f6e2b2fa341dae0f025c989df9bf0e3283189e551a7b96da82"
|
| 1529 |
+
},
|
| 1530 |
+
{
|
| 1531 |
+
"case": "coding-01",
|
| 1532 |
+
"options": {
|
| 1533 |
+
"enable_thinking": false
|
| 1534 |
+
},
|
| 1535 |
+
"rendered_equal": true,
|
| 1536 |
+
"tokens_equal": true,
|
| 1537 |
+
"rendered_sha256": "c6fc7d3512acc9d7d7bd3c0788be368e86ddf7cee0036b70e86e293a10e89596",
|
| 1538 |
+
"token_ids_sha256": "d095663e2e962f0090c4e595ae1454d546a5528db6aeb791bc4c90ef35117d40"
|
| 1539 |
+
},
|
| 1540 |
+
{
|
| 1541 |
+
"case": "coding-01",
|
| 1542 |
+
"options": {
|
| 1543 |
+
"reasoning_effort": "low"
|
| 1544 |
+
},
|
| 1545 |
+
"rendered_equal": true,
|
| 1546 |
+
"tokens_equal": true,
|
| 1547 |
+
"rendered_sha256": "04300fbdce4d473786e1ad0f4fcc7e198d4bcdef5f266c1ad05fff21cd456200",
|
| 1548 |
+
"token_ids_sha256": "c62e1d77b8b548ea85c60177e753441b267e5935ce5a017139594a0cf104d456"
|
| 1549 |
+
},
|
| 1550 |
+
{
|
| 1551 |
+
"case": "coding-01",
|
| 1552 |
+
"options": {
|
| 1553 |
+
"reasoning_effort": "medium"
|
| 1554 |
+
},
|
| 1555 |
+
"rendered_equal": true,
|
| 1556 |
+
"tokens_equal": true,
|
| 1557 |
+
"rendered_sha256": "712e6076d40ff56ab6beb8b543193f01de8ff494109f916e79e351e9051c2bcd",
|
| 1558 |
+
"token_ids_sha256": "0722a8a5fb8124f7a028af8507b238963d8bc82429a6726fed54c4694a8cce04"
|
| 1559 |
+
},
|
| 1560 |
+
{
|
| 1561 |
+
"case": "coding-01",
|
| 1562 |
+
"options": {
|
| 1563 |
+
"reasoning_effort": "xhigh"
|
| 1564 |
+
},
|
| 1565 |
+
"rendered_equal": true,
|
| 1566 |
+
"tokens_equal": true,
|
| 1567 |
+
"rendered_sha256": "051b7aa8df5fde373f9f96fca41c7d670d7b11fcd2ddb142a390bea76999b5f8",
|
| 1568 |
+
"token_ids_sha256": "b1ad5965c18fb4f6e2b2fa341dae0f025c989df9bf0e3283189e551a7b96da82"
|
| 1569 |
+
},
|
| 1570 |
+
{
|
| 1571 |
+
"case": "coding-02",
|
| 1572 |
+
"options": {},
|
| 1573 |
+
"rendered_equal": true,
|
| 1574 |
+
"tokens_equal": true,
|
| 1575 |
+
"rendered_sha256": "411d173959d148e172d44867aef97f6367f1208c5086c1c656b8c61bdaa1ad97",
|
| 1576 |
+
"token_ids_sha256": "c21a74da2b8d69aa0a51e372ee4bb83480a380d34c8a5e5c8e9cbd437ffd456c"
|
| 1577 |
+
},
|
| 1578 |
+
{
|
| 1579 |
+
"case": "coding-02",
|
| 1580 |
+
"options": {
|
| 1581 |
+
"enable_thinking": false
|
| 1582 |
+
},
|
| 1583 |
+
"rendered_equal": true,
|
| 1584 |
+
"tokens_equal": true,
|
| 1585 |
+
"rendered_sha256": "580edec3aba6a11165ebf4fdf0740108cc3d7b0382cd1e4aeb46b4ba749cfc8a",
|
| 1586 |
+
"token_ids_sha256": "e6a92c6cf675c02b37b416cfb3e7dffa09e52a2260cbc79165a2073f6a09ec13"
|
| 1587 |
+
},
|
| 1588 |
+
{
|
| 1589 |
+
"case": "coding-02",
|
| 1590 |
+
"options": {
|
| 1591 |
+
"reasoning_effort": "low"
|
| 1592 |
+
},
|
| 1593 |
+
"rendered_equal": true,
|
| 1594 |
+
"tokens_equal": true,
|
| 1595 |
+
"rendered_sha256": "7e86786de23289534a245e624822a9e0de18e1e9fafdb381cd7a833d840b474b",
|
| 1596 |
+
"token_ids_sha256": "f69df4a17b6dac41f1b470bd58a9b05b5c396b5b763f0d658b26b5fd9ab2f2f9"
|
| 1597 |
+
},
|
| 1598 |
+
{
|
| 1599 |
+
"case": "coding-02",
|
| 1600 |
+
"options": {
|
| 1601 |
+
"reasoning_effort": "medium"
|
| 1602 |
+
},
|
| 1603 |
+
"rendered_equal": true,
|
| 1604 |
+
"tokens_equal": true,
|
| 1605 |
+
"rendered_sha256": "bbcc8f29071b25d8fb0b525aa9fcdbfa344f77559069b617a5883ceefac21dc9",
|
| 1606 |
+
"token_ids_sha256": "29a24edf2946e8334424a9eb1c654efbd861c71def8c72e9cbd43cd3f25e282e"
|
| 1607 |
+
},
|
| 1608 |
+
{
|
| 1609 |
+
"case": "coding-02",
|
| 1610 |
+
"options": {
|
| 1611 |
+
"reasoning_effort": "xhigh"
|
| 1612 |
+
},
|
| 1613 |
+
"rendered_equal": true,
|
| 1614 |
+
"tokens_equal": true,
|
| 1615 |
+
"rendered_sha256": "411d173959d148e172d44867aef97f6367f1208c5086c1c656b8c61bdaa1ad97",
|
| 1616 |
+
"token_ids_sha256": "c21a74da2b8d69aa0a51e372ee4bb83480a380d34c8a5e5c8e9cbd437ffd456c"
|
| 1617 |
+
},
|
| 1618 |
+
{
|
| 1619 |
+
"case": "coding-03",
|
| 1620 |
+
"options": {},
|
| 1621 |
+
"rendered_equal": true,
|
| 1622 |
+
"tokens_equal": true,
|
| 1623 |
+
"rendered_sha256": "c8b31bcbabdc40e027ff96975825c9e8e1c707b34ad353efa4349d1eeb105e43",
|
| 1624 |
+
"token_ids_sha256": "a0c8029475104f3da2c240b437c2611571e30faa137278d9dbb144ae8a69d719"
|
| 1625 |
+
},
|
| 1626 |
+
{
|
| 1627 |
+
"case": "coding-03",
|
| 1628 |
+
"options": {
|
| 1629 |
+
"enable_thinking": false
|
| 1630 |
+
},
|
| 1631 |
+
"rendered_equal": true,
|
| 1632 |
+
"tokens_equal": true,
|
| 1633 |
+
"rendered_sha256": "6a2ced8824a9a8b8f5198c6a05c27504fa89fc64fbec2ecb6ad7dc60945c3f01",
|
| 1634 |
+
"token_ids_sha256": "40e5461c319001a2e97fb9bbafd7cb867634caaecdc07b65c941415002402daf"
|
| 1635 |
+
},
|
| 1636 |
+
{
|
| 1637 |
+
"case": "coding-03",
|
| 1638 |
+
"options": {
|
| 1639 |
+
"reasoning_effort": "low"
|
| 1640 |
+
},
|
| 1641 |
+
"rendered_equal": true,
|
| 1642 |
+
"tokens_equal": true,
|
| 1643 |
+
"rendered_sha256": "3830b62bb1d8d8bb3ae2632340987db3c294e516bb169422217377831e816b4a",
|
| 1644 |
+
"token_ids_sha256": "de27378bdd6efb851642482fa6dfe3f11d39c52265218c6fec331890b0945b55"
|
| 1645 |
+
},
|
| 1646 |
+
{
|
| 1647 |
+
"case": "coding-03",
|
| 1648 |
+
"options": {
|
| 1649 |
+
"reasoning_effort": "medium"
|
| 1650 |
+
},
|
| 1651 |
+
"rendered_equal": true,
|
| 1652 |
+
"tokens_equal": true,
|
| 1653 |
+
"rendered_sha256": "dff5aa85158115d29350b91444084fac347e49f1f8286ecd3ffa1875e66a7594",
|
| 1654 |
+
"token_ids_sha256": "3349f46bfc31fc3682bfc4c96ddaaa3738c886eb37c61e7464f5887f74a2efc1"
|
| 1655 |
+
},
|
| 1656 |
+
{
|
| 1657 |
+
"case": "coding-03",
|
| 1658 |
+
"options": {
|
| 1659 |
+
"reasoning_effort": "xhigh"
|
| 1660 |
+
},
|
| 1661 |
+
"rendered_equal": true,
|
| 1662 |
+
"tokens_equal": true,
|
| 1663 |
+
"rendered_sha256": "c8b31bcbabdc40e027ff96975825c9e8e1c707b34ad353efa4349d1eeb105e43",
|
| 1664 |
+
"token_ids_sha256": "a0c8029475104f3da2c240b437c2611571e30faa137278d9dbb144ae8a69d719"
|
| 1665 |
+
},
|
| 1666 |
+
{
|
| 1667 |
+
"case": "coding-04",
|
| 1668 |
+
"options": {},
|
| 1669 |
+
"rendered_equal": true,
|
| 1670 |
+
"tokens_equal": true,
|
| 1671 |
+
"rendered_sha256": "525527a25652337c7b127cc17ef22ff8ab41b8624bc5231067ae32d9f7a83f39",
|
| 1672 |
+
"token_ids_sha256": "fc9272e512c52fb5862355801f76a9f0e1fa8612c04397f30b63b85bc0edd39d"
|
| 1673 |
+
},
|
| 1674 |
+
{
|
| 1675 |
+
"case": "coding-04",
|
| 1676 |
+
"options": {
|
| 1677 |
+
"enable_thinking": false
|
| 1678 |
+
},
|
| 1679 |
+
"rendered_equal": true,
|
| 1680 |
+
"tokens_equal": true,
|
| 1681 |
+
"rendered_sha256": "072168df13573a942e2940693badc6bafa7f11669572d6fc2f229001b4469653",
|
| 1682 |
+
"token_ids_sha256": "a66ea75e01bfc1615c9f537012258e3f087b634feb08fa4ffd8d8ba340e0f305"
|
| 1683 |
+
},
|
| 1684 |
+
{
|
| 1685 |
+
"case": "coding-04",
|
| 1686 |
+
"options": {
|
| 1687 |
+
"reasoning_effort": "low"
|
| 1688 |
+
},
|
| 1689 |
+
"rendered_equal": true,
|
| 1690 |
+
"tokens_equal": true,
|
| 1691 |
+
"rendered_sha256": "208f77c8f98b9ee4f04a355793762383877e67d6aaa289b2dfcf1bd75fbddebd",
|
| 1692 |
+
"token_ids_sha256": "40c119c2ad05ffe426d8e69e5b341ca118babdcf8b7818b236d0d352d1d58741"
|
| 1693 |
+
},
|
| 1694 |
+
{
|
| 1695 |
+
"case": "coding-04",
|
| 1696 |
+
"options": {
|
| 1697 |
+
"reasoning_effort": "medium"
|
| 1698 |
+
},
|
| 1699 |
+
"rendered_equal": true,
|
| 1700 |
+
"tokens_equal": true,
|
| 1701 |
+
"rendered_sha256": "6e7390f1ec457eda8db0918223dc25c095c8f4172ea6b09b831437185f02c427",
|
| 1702 |
+
"token_ids_sha256": "0499243975895f7c92a2d18281d1f17e2c36c5846b221d289fe34306c39df9e2"
|
| 1703 |
+
},
|
| 1704 |
+
{
|
| 1705 |
+
"case": "coding-04",
|
| 1706 |
+
"options": {
|
| 1707 |
+
"reasoning_effort": "xhigh"
|
| 1708 |
+
},
|
| 1709 |
+
"rendered_equal": true,
|
| 1710 |
+
"tokens_equal": true,
|
| 1711 |
+
"rendered_sha256": "525527a25652337c7b127cc17ef22ff8ab41b8624bc5231067ae32d9f7a83f39",
|
| 1712 |
+
"token_ids_sha256": "fc9272e512c52fb5862355801f76a9f0e1fa8612c04397f30b63b85bc0edd39d"
|
| 1713 |
+
},
|
| 1714 |
+
{
|
| 1715 |
+
"case": "coding-05",
|
| 1716 |
+
"options": {},
|
| 1717 |
+
"rendered_equal": true,
|
| 1718 |
+
"tokens_equal": true,
|
| 1719 |
+
"rendered_sha256": "9f2ad75fb0b84ce9efd65a3efb8010b701fcf92941cde2ba6a6ef20940bc8ccf",
|
| 1720 |
+
"token_ids_sha256": "4bd80bdd05badf800ad6c69d84e685cb702dd393a4409cffded2e4579467560b"
|
| 1721 |
+
},
|
| 1722 |
+
{
|
| 1723 |
+
"case": "coding-05",
|
| 1724 |
+
"options": {
|
| 1725 |
+
"enable_thinking": false
|
| 1726 |
+
},
|
| 1727 |
+
"rendered_equal": true,
|
| 1728 |
+
"tokens_equal": true,
|
| 1729 |
+
"rendered_sha256": "cd8d48627da73de9ab073e5d0622f81210cac59854b54da2bf2aae54bf55370b",
|
| 1730 |
+
"token_ids_sha256": "eaae104ce5b9c9eb5a26f34ce473f160fd29f32830097ac8d142f51f2e5827cf"
|
| 1731 |
+
},
|
| 1732 |
+
{
|
| 1733 |
+
"case": "coding-05",
|
| 1734 |
+
"options": {
|
| 1735 |
+
"reasoning_effort": "low"
|
| 1736 |
+
},
|
| 1737 |
+
"rendered_equal": true,
|
| 1738 |
+
"tokens_equal": true,
|
| 1739 |
+
"rendered_sha256": "4e769996021bd0ea7f66d57b712c999869e42e96463efa83e93369b6b60fc86e",
|
| 1740 |
+
"token_ids_sha256": "a7586d4d012fb8954d08416f41f08b3cf130aa756497f3f20cebbb7ace39f2b1"
|
| 1741 |
+
},
|
| 1742 |
+
{
|
| 1743 |
+
"case": "coding-05",
|
| 1744 |
+
"options": {
|
| 1745 |
+
"reasoning_effort": "medium"
|
| 1746 |
+
},
|
| 1747 |
+
"rendered_equal": true,
|
| 1748 |
+
"tokens_equal": true,
|
| 1749 |
+
"rendered_sha256": "50912990af564be675422742d3f8d089638d94c8816fec6c89cbe50e289247a8",
|
| 1750 |
+
"token_ids_sha256": "33732ad475a97239de800bf23cff2107361231851a056386d34492ad51bdcbcd"
|
| 1751 |
+
},
|
| 1752 |
+
{
|
| 1753 |
+
"case": "coding-05",
|
| 1754 |
+
"options": {
|
| 1755 |
+
"reasoning_effort": "xhigh"
|
| 1756 |
+
},
|
| 1757 |
+
"rendered_equal": true,
|
| 1758 |
+
"tokens_equal": true,
|
| 1759 |
+
"rendered_sha256": "9f2ad75fb0b84ce9efd65a3efb8010b701fcf92941cde2ba6a6ef20940bc8ccf",
|
| 1760 |
+
"token_ids_sha256": "4bd80bdd05badf800ad6c69d84e685cb702dd393a4409cffded2e4579467560b"
|
| 1761 |
+
},
|
| 1762 |
+
{
|
| 1763 |
+
"case": "coding-06",
|
| 1764 |
+
"options": {},
|
| 1765 |
+
"rendered_equal": true,
|
| 1766 |
+
"tokens_equal": true,
|
| 1767 |
+
"rendered_sha256": "82b4aa32308ea9227904a64f15d1e6d04c19de98e6ac96c29e48c9b128ec06fd",
|
| 1768 |
+
"token_ids_sha256": "267b2aa4000603afed98cede64f743b1d7595e2b821e8a3fcd3ff4e508ddaedd"
|
| 1769 |
+
},
|
| 1770 |
+
{
|
| 1771 |
+
"case": "coding-06",
|
| 1772 |
+
"options": {
|
| 1773 |
+
"enable_thinking": false
|
| 1774 |
+
},
|
| 1775 |
+
"rendered_equal": true,
|
| 1776 |
+
"tokens_equal": true,
|
| 1777 |
+
"rendered_sha256": "81fcfdfd7d5fcb963098331741f221d85160d3282b0ec492a8b12e3bd21a574d",
|
| 1778 |
+
"token_ids_sha256": "bfe93c4c4646449437207262ad6b630c0f47d7099de75dc72f39834928f9ea12"
|
| 1779 |
+
},
|
| 1780 |
+
{
|
| 1781 |
+
"case": "coding-06",
|
| 1782 |
+
"options": {
|
| 1783 |
+
"reasoning_effort": "low"
|
| 1784 |
+
},
|
| 1785 |
+
"rendered_equal": true,
|
| 1786 |
+
"tokens_equal": true,
|
| 1787 |
+
"rendered_sha256": "4d5147f44a60a4825fd8a217b46811224cf80183f9d53f5ce6c8cb9788aae7bc",
|
| 1788 |
+
"token_ids_sha256": "0dd4cd614a3f9d968a52cfbff7d2db4d8e8efebc9d91d8bb48a6f3753c253ea6"
|
| 1789 |
+
},
|
| 1790 |
+
{
|
| 1791 |
+
"case": "coding-06",
|
| 1792 |
+
"options": {
|
| 1793 |
+
"reasoning_effort": "medium"
|
| 1794 |
+
},
|
| 1795 |
+
"rendered_equal": true,
|
| 1796 |
+
"tokens_equal": true,
|
| 1797 |
+
"rendered_sha256": "06189fca5fb668321f952582429ceb9d88c42c9636b4b355d5d3a3e553f091be",
|
| 1798 |
+
"token_ids_sha256": "f707a9bf1f7e54764c1d9d85b6249e4476477f0dd2740e0d79ce1c9743dc063c"
|
| 1799 |
+
},
|
| 1800 |
+
{
|
| 1801 |
+
"case": "coding-06",
|
| 1802 |
+
"options": {
|
| 1803 |
+
"reasoning_effort": "xhigh"
|
| 1804 |
+
},
|
| 1805 |
+
"rendered_equal": true,
|
| 1806 |
+
"tokens_equal": true,
|
| 1807 |
+
"rendered_sha256": "82b4aa32308ea9227904a64f15d1e6d04c19de98e6ac96c29e48c9b128ec06fd",
|
| 1808 |
+
"token_ids_sha256": "267b2aa4000603afed98cede64f743b1d7595e2b821e8a3fcd3ff4e508ddaedd"
|
| 1809 |
+
},
|
| 1810 |
+
{
|
| 1811 |
+
"case": "coding-07",
|
| 1812 |
+
"options": {},
|
| 1813 |
+
"rendered_equal": true,
|
| 1814 |
+
"tokens_equal": true,
|
| 1815 |
+
"rendered_sha256": "b0d7e700a9fac7b48229de675455ed2940caa11f4b1cc49c209a37301a6c2b8f",
|
| 1816 |
+
"token_ids_sha256": "c71180eb108ca429cb4ca6dffcab936a64ab26f63badea18129a4ab6c940d1e5"
|
| 1817 |
+
},
|
| 1818 |
+
{
|
| 1819 |
+
"case": "coding-07",
|
| 1820 |
+
"options": {
|
| 1821 |
+
"enable_thinking": false
|
| 1822 |
+
},
|
| 1823 |
+
"rendered_equal": true,
|
| 1824 |
+
"tokens_equal": true,
|
| 1825 |
+
"rendered_sha256": "e4bcb00c59182c545871cd2c67195403005b03152d8796bf0beae9c047dcd617",
|
| 1826 |
+
"token_ids_sha256": "c56e5386106e5377b9e81ee81fa50c575d4088c26b9971cdd59f76fb6e85cb5a"
|
| 1827 |
+
},
|
| 1828 |
+
{
|
| 1829 |
+
"case": "coding-07",
|
| 1830 |
+
"options": {
|
| 1831 |
+
"reasoning_effort": "low"
|
| 1832 |
+
},
|
| 1833 |
+
"rendered_equal": true,
|
| 1834 |
+
"tokens_equal": true,
|
| 1835 |
+
"rendered_sha256": "5caae3bccbe931fe69c7b7fe5005227be953a288044615e8314a64c6955200a1",
|
| 1836 |
+
"token_ids_sha256": "db7915bbe12598651b963d0cf689f970021965a932800c1b982695c305803c32"
|
| 1837 |
+
},
|
| 1838 |
+
{
|
| 1839 |
+
"case": "coding-07",
|
| 1840 |
+
"options": {
|
| 1841 |
+
"reasoning_effort": "medium"
|
| 1842 |
+
},
|
| 1843 |
+
"rendered_equal": true,
|
| 1844 |
+
"tokens_equal": true,
|
| 1845 |
+
"rendered_sha256": "8a6a197dceef434429c6436feced1f1e6d1d9bd8365c1b701164c25b7ad1019c",
|
| 1846 |
+
"token_ids_sha256": "d18ff1d4baf16bb9fc113e3880da3d144bfe41318982afc841747d1e1fa210cf"
|
| 1847 |
+
},
|
| 1848 |
+
{
|
| 1849 |
+
"case": "coding-07",
|
| 1850 |
+
"options": {
|
| 1851 |
+
"reasoning_effort": "xhigh"
|
| 1852 |
+
},
|
| 1853 |
+
"rendered_equal": true,
|
| 1854 |
+
"tokens_equal": true,
|
| 1855 |
+
"rendered_sha256": "b0d7e700a9fac7b48229de675455ed2940caa11f4b1cc49c209a37301a6c2b8f",
|
| 1856 |
+
"token_ids_sha256": "c71180eb108ca429cb4ca6dffcab936a64ab26f63badea18129a4ab6c940d1e5"
|
| 1857 |
+
},
|
| 1858 |
+
{
|
| 1859 |
+
"case": "coding-08",
|
| 1860 |
+
"options": {},
|
| 1861 |
+
"rendered_equal": true,
|
| 1862 |
+
"tokens_equal": true,
|
| 1863 |
+
"rendered_sha256": "6450b7356a6c99f5fa6ee088f4cd053ea337b1a2acc88f8e02f9b3cd5d55e0dc",
|
| 1864 |
+
"token_ids_sha256": "3c5750c4c0067dfc14491dcb8fcece2fd17c0b7803757705ffa9e148b5448df0"
|
| 1865 |
+
},
|
| 1866 |
+
{
|
| 1867 |
+
"case": "coding-08",
|
| 1868 |
+
"options": {
|
| 1869 |
+
"enable_thinking": false
|
| 1870 |
+
},
|
| 1871 |
+
"rendered_equal": true,
|
| 1872 |
+
"tokens_equal": true,
|
| 1873 |
+
"rendered_sha256": "f8c20776c7229a2a1f91e51a268039b936f8146a12f2b6db1d8dc69d06655a88",
|
| 1874 |
+
"token_ids_sha256": "567bd1194c16fb99264033311094691bb98e2682faf3cf9a3c2fd205b6f123c4"
|
| 1875 |
+
},
|
| 1876 |
+
{
|
| 1877 |
+
"case": "coding-08",
|
| 1878 |
+
"options": {
|
| 1879 |
+
"reasoning_effort": "low"
|
| 1880 |
+
},
|
| 1881 |
+
"rendered_equal": true,
|
| 1882 |
+
"tokens_equal": true,
|
| 1883 |
+
"rendered_sha256": "be22db21ec1ad4e3462089e8a95c744b8b9e0f759efebbaf1da7cecd4f47c2d6",
|
| 1884 |
+
"token_ids_sha256": "de26d7e88adda3545ad0dbeb5bd563c07df82e0e33e2a16e3d7a510d8a64f36b"
|
| 1885 |
+
},
|
| 1886 |
+
{
|
| 1887 |
+
"case": "coding-08",
|
| 1888 |
+
"options": {
|
| 1889 |
+
"reasoning_effort": "medium"
|
| 1890 |
+
},
|
| 1891 |
+
"rendered_equal": true,
|
| 1892 |
+
"tokens_equal": true,
|
| 1893 |
+
"rendered_sha256": "393e28f2aabec5fbd8eadbae4c2143d4bc31bba3810ade122b069dab5a3348a9",
|
| 1894 |
+
"token_ids_sha256": "0660e04b0b6c1a679a7aa1ba2a8d25aed5bce7953a4e808628020fa9e78377f1"
|
| 1895 |
+
},
|
| 1896 |
+
{
|
| 1897 |
+
"case": "coding-08",
|
| 1898 |
+
"options": {
|
| 1899 |
+
"reasoning_effort": "xhigh"
|
| 1900 |
+
},
|
| 1901 |
+
"rendered_equal": true,
|
| 1902 |
+
"tokens_equal": true,
|
| 1903 |
+
"rendered_sha256": "6450b7356a6c99f5fa6ee088f4cd053ea337b1a2acc88f8e02f9b3cd5d55e0dc",
|
| 1904 |
+
"token_ids_sha256": "3c5750c4c0067dfc14491dcb8fcece2fd17c0b7803757705ffa9e148b5448df0"
|
| 1905 |
+
},
|
| 1906 |
+
{
|
| 1907 |
+
"case": "coding-09",
|
| 1908 |
+
"options": {},
|
| 1909 |
+
"rendered_equal": true,
|
| 1910 |
+
"tokens_equal": true,
|
| 1911 |
+
"rendered_sha256": "8087587422b7ee2873c562eb9c4e06eac2a07978ccf0b937a29c02fc3b4c2356",
|
| 1912 |
+
"token_ids_sha256": "bcfe76e47c160f14ab2d450be69d2323d7937287d3f5f9c1f534dc8a9d7efdb6"
|
| 1913 |
+
},
|
| 1914 |
+
{
|
| 1915 |
+
"case": "coding-09",
|
| 1916 |
+
"options": {
|
| 1917 |
+
"enable_thinking": false
|
| 1918 |
+
},
|
| 1919 |
+
"rendered_equal": true,
|
| 1920 |
+
"tokens_equal": true,
|
| 1921 |
+
"rendered_sha256": "e18a2c027cdedd8cda071243f4be301285a09f18a3369d6ede946a304d930aae",
|
| 1922 |
+
"token_ids_sha256": "dc1b5e6e60fdd50123ad7e05ec4cf7b82469e54b47bc00b123eb4f1de8cf1e82"
|
| 1923 |
+
},
|
| 1924 |
+
{
|
| 1925 |
+
"case": "coding-09",
|
| 1926 |
+
"options": {
|
| 1927 |
+
"reasoning_effort": "low"
|
| 1928 |
+
},
|
| 1929 |
+
"rendered_equal": true,
|
| 1930 |
+
"tokens_equal": true,
|
| 1931 |
+
"rendered_sha256": "8d8bdcc536f5c82c277280b4a64e08d1d326a7c073a5255304f0c6de30da5e65",
|
| 1932 |
+
"token_ids_sha256": "cd8a8a5bc78a2f006d9feea1d4a338d567a851dfe999e89326a65aac3dfe7486"
|
| 1933 |
+
},
|
| 1934 |
+
{
|
| 1935 |
+
"case": "coding-09",
|
| 1936 |
+
"options": {
|
| 1937 |
+
"reasoning_effort": "medium"
|
| 1938 |
+
},
|
| 1939 |
+
"rendered_equal": true,
|
| 1940 |
+
"tokens_equal": true,
|
| 1941 |
+
"rendered_sha256": "897bc62dc9b88b47342347d094c357b25197a7686e3931356184f20228a0be89",
|
| 1942 |
+
"token_ids_sha256": "449614cdc8ddbe692df31591b26e4cbb9f97ff69ebcdbe2785fcbc76c74a52ef"
|
| 1943 |
+
},
|
| 1944 |
+
{
|
| 1945 |
+
"case": "coding-09",
|
| 1946 |
+
"options": {
|
| 1947 |
+
"reasoning_effort": "xhigh"
|
| 1948 |
+
},
|
| 1949 |
+
"rendered_equal": true,
|
| 1950 |
+
"tokens_equal": true,
|
| 1951 |
+
"rendered_sha256": "8087587422b7ee2873c562eb9c4e06eac2a07978ccf0b937a29c02fc3b4c2356",
|
| 1952 |
+
"token_ids_sha256": "bcfe76e47c160f14ab2d450be69d2323d7937287d3f5f9c1f534dc8a9d7efdb6"
|
| 1953 |
+
},
|
| 1954 |
+
{
|
| 1955 |
+
"case": "coding-10",
|
| 1956 |
+
"options": {},
|
| 1957 |
+
"rendered_equal": true,
|
| 1958 |
+
"tokens_equal": true,
|
| 1959 |
+
"rendered_sha256": "94354515b7bcb3d0493082d7a923fc6a3f828576f84c7851187462d32e08b4ce",
|
| 1960 |
+
"token_ids_sha256": "d1006418b971215d68426eca0929c46e7e55c66c36e5bfb8f1b125297ee415ad"
|
| 1961 |
+
},
|
| 1962 |
+
{
|
| 1963 |
+
"case": "coding-10",
|
| 1964 |
+
"options": {
|
| 1965 |
+
"enable_thinking": false
|
| 1966 |
+
},
|
| 1967 |
+
"rendered_equal": true,
|
| 1968 |
+
"tokens_equal": true,
|
| 1969 |
+
"rendered_sha256": "425363c857a6ab7ece15aae285272fb08356c01fe91e2e85809a337a8f7007ed",
|
| 1970 |
+
"token_ids_sha256": "276077d7b9ded956051ce9ab980fefa8c761f423d570286b49defa34d1e71f92"
|
| 1971 |
+
},
|
| 1972 |
+
{
|
| 1973 |
+
"case": "coding-10",
|
| 1974 |
+
"options": {
|
| 1975 |
+
"reasoning_effort": "low"
|
| 1976 |
+
},
|
| 1977 |
+
"rendered_equal": true,
|
| 1978 |
+
"tokens_equal": true,
|
| 1979 |
+
"rendered_sha256": "a78a50f74c7edbdc09efa5c1ae67361be98cffdaa4836461445c57feb5bd901d",
|
| 1980 |
+
"token_ids_sha256": "c6e9c7e1d58b531f655fadfa24efdd5580004bf88258d5fd93be5429873869be"
|
| 1981 |
+
},
|
| 1982 |
+
{
|
| 1983 |
+
"case": "coding-10",
|
| 1984 |
+
"options": {
|
| 1985 |
+
"reasoning_effort": "medium"
|
| 1986 |
+
},
|
| 1987 |
+
"rendered_equal": true,
|
| 1988 |
+
"tokens_equal": true,
|
| 1989 |
+
"rendered_sha256": "87d4ff617dfc4d3b7389dd945a6244a020ef8751963faab8d1e11eb69772eda3",
|
| 1990 |
+
"token_ids_sha256": "eeb894ad3f8837c9d0cfb00d24e654f6d489b991cd4dda621e9619fa452fc2ab"
|
| 1991 |
+
},
|
| 1992 |
+
{
|
| 1993 |
+
"case": "coding-10",
|
| 1994 |
+
"options": {
|
| 1995 |
+
"reasoning_effort": "xhigh"
|
| 1996 |
+
},
|
| 1997 |
+
"rendered_equal": true,
|
| 1998 |
+
"tokens_equal": true,
|
| 1999 |
+
"rendered_sha256": "94354515b7bcb3d0493082d7a923fc6a3f828576f84c7851187462d32e08b4ce",
|
| 2000 |
+
"token_ids_sha256": "d1006418b971215d68426eca0929c46e7e55c66c36e5bfb8f1b125297ee415ad"
|
| 2001 |
+
}
|
| 2002 |
+
],
|
| 2003 |
+
"special_token_ids": {
|
| 2004 |
+
"bos_token_id": {
|
| 2005 |
+
"reference": null,
|
| 2006 |
+
"candidate": null
|
| 2007 |
+
},
|
| 2008 |
+
"eos_token_id": {
|
| 2009 |
+
"reference": 248046,
|
| 2010 |
+
"candidate": 248046
|
| 2011 |
+
},
|
| 2012 |
+
"pad_token_id": {
|
| 2013 |
+
"reference": 248044,
|
| 2014 |
+
"candidate": 248044
|
| 2015 |
+
},
|
| 2016 |
+
"unk_token_id": {
|
| 2017 |
+
"reference": null,
|
| 2018 |
+
"candidate": null
|
| 2019 |
+
}
|
| 2020 |
+
},
|
| 2021 |
+
"reference_commit": "5ad04445d2686f525e9fbe5c077e6fa0c7df4200",
|
| 2022 |
+
"scope": "Actual tokenizer/template comparison only, no model generation"
|
| 2023 |
+
},
|
| 2024 |
+
"full_generation": "NOT_RUN",
|
| 2025 |
+
"weight_value_equivalence_to_source": "NOT_RUN",
|
| 2026 |
+
"model_quality": "NOT_RUN",
|
| 2027 |
+
"script_sha256": "59470d94d54adef20c6413a9fbabdb0c19cdc6cbe225dfd760507cb28a6e906f"
|
| 2028 |
+
}
|
config.json
ADDED
|
@@ -0,0 +1,138 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"architectures": [
|
| 3 |
+
"Qwen3_5ForConditionalGeneration"
|
| 4 |
+
],
|
| 5 |
+
"eos_token_id": [
|
| 6 |
+
248046,
|
| 7 |
+
248044
|
| 8 |
+
],
|
| 9 |
+
"image_token_id": 248056,
|
| 10 |
+
"language_model_only": true,
|
| 11 |
+
"model_type": "qwen3_5",
|
| 12 |
+
"quantization": {
|
| 13 |
+
"bits": 3,
|
| 14 |
+
"group_size": 64,
|
| 15 |
+
"mode": "affine"
|
| 16 |
+
},
|
| 17 |
+
"quantization_config": {
|
| 18 |
+
"bits": 3,
|
| 19 |
+
"group_size": 64,
|
| 20 |
+
"mode": "affine"
|
| 21 |
+
},
|
| 22 |
+
"text_config": {
|
| 23 |
+
"attention_bias": false,
|
| 24 |
+
"attention_dropout": 0.0,
|
| 25 |
+
"attn_output_gate": true,
|
| 26 |
+
"bos_token_id": 248044,
|
| 27 |
+
"dtype": "bfloat16",
|
| 28 |
+
"eos_token_id": 248044,
|
| 29 |
+
"full_attention_interval": 4,
|
| 30 |
+
"head_dim": 256,
|
| 31 |
+
"hidden_act": "silu",
|
| 32 |
+
"hidden_size": 5120,
|
| 33 |
+
"initializer_range": 0.02,
|
| 34 |
+
"intermediate_size": 17408,
|
| 35 |
+
"layer_types": [
|
| 36 |
+
"linear_attention",
|
| 37 |
+
"linear_attention",
|
| 38 |
+
"linear_attention",
|
| 39 |
+
"full_attention",
|
| 40 |
+
"linear_attention",
|
| 41 |
+
"linear_attention",
|
| 42 |
+
"linear_attention",
|
| 43 |
+
"full_attention",
|
| 44 |
+
"linear_attention",
|
| 45 |
+
"linear_attention",
|
| 46 |
+
"linear_attention",
|
| 47 |
+
"full_attention",
|
| 48 |
+
"linear_attention",
|
| 49 |
+
"linear_attention",
|
| 50 |
+
"linear_attention",
|
| 51 |
+
"full_attention",
|
| 52 |
+
"linear_attention",
|
| 53 |
+
"linear_attention",
|
| 54 |
+
"linear_attention",
|
| 55 |
+
"full_attention",
|
| 56 |
+
"linear_attention",
|
| 57 |
+
"linear_attention",
|
| 58 |
+
"linear_attention",
|
| 59 |
+
"full_attention",
|
| 60 |
+
"linear_attention",
|
| 61 |
+
"linear_attention",
|
| 62 |
+
"linear_attention",
|
| 63 |
+
"full_attention",
|
| 64 |
+
"linear_attention",
|
| 65 |
+
"linear_attention",
|
| 66 |
+
"linear_attention",
|
| 67 |
+
"full_attention",
|
| 68 |
+
"linear_attention",
|
| 69 |
+
"linear_attention",
|
| 70 |
+
"linear_attention",
|
| 71 |
+
"full_attention",
|
| 72 |
+
"linear_attention",
|
| 73 |
+
"linear_attention",
|
| 74 |
+
"linear_attention",
|
| 75 |
+
"full_attention",
|
| 76 |
+
"linear_attention",
|
| 77 |
+
"linear_attention",
|
| 78 |
+
"linear_attention",
|
| 79 |
+
"full_attention",
|
| 80 |
+
"linear_attention",
|
| 81 |
+
"linear_attention",
|
| 82 |
+
"linear_attention",
|
| 83 |
+
"full_attention",
|
| 84 |
+
"linear_attention",
|
| 85 |
+
"linear_attention",
|
| 86 |
+
"linear_attention",
|
| 87 |
+
"full_attention",
|
| 88 |
+
"linear_attention",
|
| 89 |
+
"linear_attention",
|
| 90 |
+
"linear_attention",
|
| 91 |
+
"full_attention",
|
| 92 |
+
"linear_attention",
|
| 93 |
+
"linear_attention",
|
| 94 |
+
"linear_attention",
|
| 95 |
+
"full_attention",
|
| 96 |
+
"linear_attention",
|
| 97 |
+
"linear_attention",
|
| 98 |
+
"linear_attention",
|
| 99 |
+
"full_attention"
|
| 100 |
+
],
|
| 101 |
+
"linear_conv_kernel_dim": 4,
|
| 102 |
+
"linear_key_head_dim": 128,
|
| 103 |
+
"linear_num_key_heads": 16,
|
| 104 |
+
"linear_num_value_heads": 48,
|
| 105 |
+
"linear_value_head_dim": 128,
|
| 106 |
+
"mamba_ssm_dtype": "float32",
|
| 107 |
+
"max_position_embeddings": 262144,
|
| 108 |
+
"model_type": "qwen3_5_text",
|
| 109 |
+
"mtp_num_hidden_layers": 1,
|
| 110 |
+
"mtp_use_dedicated_embeddings": false,
|
| 111 |
+
"num_attention_heads": 24,
|
| 112 |
+
"num_hidden_layers": 64,
|
| 113 |
+
"num_key_value_heads": 4,
|
| 114 |
+
"output_gate_type": "swish",
|
| 115 |
+
"pad_token_id": null,
|
| 116 |
+
"partial_rotary_factor": 0.25,
|
| 117 |
+
"rms_norm_eps": 1e-06,
|
| 118 |
+
"rope_parameters": {
|
| 119 |
+
"mrope_interleaved": true,
|
| 120 |
+
"mrope_section": [
|
| 121 |
+
11,
|
| 122 |
+
11,
|
| 123 |
+
10
|
| 124 |
+
],
|
| 125 |
+
"partial_rotary_factor": 0.25,
|
| 126 |
+
"rope_theta": 10000000,
|
| 127 |
+
"type": "default"
|
| 128 |
+
},
|
| 129 |
+
"tie_word_embeddings": false,
|
| 130 |
+
"use_cache": true,
|
| 131 |
+
"vocab_size": 248320
|
| 132 |
+
},
|
| 133 |
+
"tie_word_embeddings": false,
|
| 134 |
+
"transformers_version": "5.8.0.dev0",
|
| 135 |
+
"video_token_id": 248057,
|
| 136 |
+
"vision_end_token_id": 248054,
|
| 137 |
+
"vision_start_token_id": 248053
|
| 138 |
+
}
|
generation_config.json
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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 |
+
}
|
model-00001-of-00003.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:c25d854fbadb5c1546037e460143d8210c47d2c35069274f70fe8985899ac764
|
| 3 |
+
size 5348273323
|
model-00002-of-00003.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:5ee45939124c133dccfb73cd99027db34b03f1adbba9f35bcd2680729472b14a
|
| 3 |
+
size 5368521504
|
model-00003-of-00003.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:db78dce8b21d34e9f2a329080851593d862730549ed1f0cb41615737339c2554
|
| 3 |
+
size 1054579630
|
model.safetensors.index.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
swift-1.5-planet-demo.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:1cda6924169e8b83e5d6d7299baf8329ed1b1a182a481aa0e06344e0f5c00111
|
| 3 |
+
size 4738825
|
tokenizer.json
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:06b9509352d2af50381ab2247e083b80d32d5c0aba91c272ca9ff729b6a0e523
|
| 3 |
+
size 19989325
|
tokenizer_config.json
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"add_prefix_space": false,
|
| 3 |
+
"audio_bos_token": "<|audio_start|>",
|
| 4 |
+
"audio_eos_token": "<|audio_end|>",
|
| 5 |
+
"audio_token": "<|audio_pad|>",
|
| 6 |
+
"backend": "tokenizers",
|
| 7 |
+
"bos_token": null,
|
| 8 |
+
"clean_up_tokenization_spaces": false,
|
| 9 |
+
"eos_token": "<|im_end|>",
|
| 10 |
+
"errors": "replace",
|
| 11 |
+
"image_token": "<|image_pad|>",
|
| 12 |
+
"is_local": true,
|
| 13 |
+
"local_files_only": false,
|
| 14 |
+
"model_max_length": 262144,
|
| 15 |
+
"model_specific_special_tokens": {
|
| 16 |
+
"audio_bos_token": "<|audio_start|>",
|
| 17 |
+
"audio_eos_token": "<|audio_end|>",
|
| 18 |
+
"audio_token": "<|audio_pad|>",
|
| 19 |
+
"image_token": "<|image_pad|>",
|
| 20 |
+
"video_token": "<|video_pad|>",
|
| 21 |
+
"vision_bos_token": "<|vision_start|>",
|
| 22 |
+
"vision_eos_token": "<|vision_end|>"
|
| 23 |
+
},
|
| 24 |
+
"pad_token": "<|endoftext|>",
|
| 25 |
+
"pretokenize_regex": "(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\\r\\n\\p{L}\\p{N}]?[\\p{L}\\p{M}]+|\\p{N}| ?[^\\s\\p{L}\\p{M}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+",
|
| 26 |
+
"split_special_tokens": false,
|
| 27 |
+
"tokenizer_class": "Qwen2Tokenizer",
|
| 28 |
+
"tool_parser_type": "qwen3_coder",
|
| 29 |
+
"unk_token": null,
|
| 30 |
+
"video_token": "<|video_pad|>",
|
| 31 |
+
"vision_bos_token": "<|vision_start|>",
|
| 32 |
+
"vision_eos_token": "<|vision_end|>"
|
| 33 |
+
}
|
ukisai-banner.png
ADDED
|
Git LFS Details
|
verify_release.py
ADDED
|
@@ -0,0 +1,152 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""Offline, bounded-memory file/index integrity check. Does not execute model code."""
|
| 2 |
+
import argparse
|
| 3 |
+
import hashlib
|
| 4 |
+
import json
|
| 5 |
+
import math
|
| 6 |
+
from pathlib import Path, PurePosixPath
|
| 7 |
+
import re
|
| 8 |
+
import struct
|
| 9 |
+
|
| 10 |
+
|
| 11 |
+
def unique(pairs):
|
| 12 |
+
result = {}
|
| 13 |
+
for key, value in pairs:
|
| 14 |
+
if key in result:
|
| 15 |
+
raise ValueError('duplicate JSON key')
|
| 16 |
+
result[key] = value
|
| 17 |
+
return result
|
| 18 |
+
|
| 19 |
+
|
| 20 |
+
def read_json(path):
|
| 21 |
+
return json.loads(path.read_text(encoding='utf-8'), object_pairs_hook=unique)
|
| 22 |
+
|
| 23 |
+
|
| 24 |
+
def safe_path(root, name):
|
| 25 |
+
if not isinstance(name, str) or not name or '\\' in name:
|
| 26 |
+
raise ValueError('unsafe file path')
|
| 27 |
+
p = PurePosixPath(name)
|
| 28 |
+
if p.is_absolute() or '..' in p.parts or str(p) != name:
|
| 29 |
+
raise ValueError('unsafe file path')
|
| 30 |
+
target = root.joinpath(*p.parts)
|
| 31 |
+
if any(parent.is_symlink() for parent in (target, *target.parents) if parent != root.parent):
|
| 32 |
+
raise ValueError('symlink path not allowed')
|
| 33 |
+
target.resolve().relative_to(root.resolve())
|
| 34 |
+
return target
|
| 35 |
+
|
| 36 |
+
|
| 37 |
+
def file_hashes(path):
|
| 38 |
+
size = path.stat().st_size
|
| 39 |
+
sha = hashlib.sha256()
|
| 40 |
+
blob = hashlib.sha1(f'blob {size}\0'.encode())
|
| 41 |
+
with path.open('rb') as stream:
|
| 42 |
+
for chunk in iter(lambda: stream.read(8 * 1024**2), b''):
|
| 43 |
+
sha.update(chunk)
|
| 44 |
+
blob.update(chunk)
|
| 45 |
+
return size, sha.hexdigest(), blob.hexdigest()
|
| 46 |
+
|
| 47 |
+
|
| 48 |
+
def tensor_header(path):
|
| 49 |
+
size = path.stat().st_size
|
| 50 |
+
with path.open('rb') as stream:
|
| 51 |
+
prefix = stream.read(8)
|
| 52 |
+
if len(prefix) != 8:
|
| 53 |
+
raise ValueError('short safetensors prefix')
|
| 54 |
+
n = struct.unpack('<Q', prefix)[0]
|
| 55 |
+
if n > 16 * 1024**2 or 8+n > size:
|
| 56 |
+
raise ValueError('invalid header boundary')
|
| 57 |
+
header = json.loads(stream.read(n), object_pairs_hook=unique)
|
| 58 |
+
widths = {'BF16': 2, 'F16': 2, 'F32': 4, 'F64': 8, 'U32': 4, 'I32': 4,
|
| 59 |
+
'U8': 1, 'I8': 1, 'U16': 2, 'I16': 2, 'U64': 8, 'I64': 8, 'BOOL': 1}
|
| 60 |
+
spans, names = [], set()
|
| 61 |
+
for name, value in header.items():
|
| 62 |
+
if name == '__metadata__':
|
| 63 |
+
continue
|
| 64 |
+
shape = value['shape']
|
| 65 |
+
if not isinstance(shape, list) or any(type(x) is not int or x < 0 for x in shape):
|
| 66 |
+
raise ValueError('invalid tensor shape')
|
| 67 |
+
start, end = value['data_offsets']
|
| 68 |
+
if type(start) is not int or type(end) is not int or not 0 <= start <= end <= size-8-n:
|
| 69 |
+
raise ValueError('invalid tensor payload boundary')
|
| 70 |
+
if end-start != math.prod(shape)*widths[value['dtype']]:
|
| 71 |
+
raise ValueError('dtype/shape byte count mismatch')
|
| 72 |
+
spans.append((start, end))
|
| 73 |
+
names.add(name)
|
| 74 |
+
cursor = 0
|
| 75 |
+
for start, end in sorted(spans):
|
| 76 |
+
if start != cursor:
|
| 77 |
+
raise ValueError('payload gap or overlap')
|
| 78 |
+
cursor = end
|
| 79 |
+
if cursor != size-8-n:
|
| 80 |
+
raise ValueError('unreferenced or truncated payload')
|
| 81 |
+
return names
|
| 82 |
+
|
| 83 |
+
|
| 84 |
+
def verify(root, expected_manifest_sha256=None):
|
| 85 |
+
root = Path(root).absolute()
|
| 86 |
+
errors, checked = [], []
|
| 87 |
+
try:
|
| 88 |
+
manifest_path = safe_path(root, 'UPLOAD_MANIFEST.json')
|
| 89 |
+
_, manifest_sha, _ = file_hashes(manifest_path)
|
| 90 |
+
if expected_manifest_sha256 and expected_manifest_sha256 != manifest_sha:
|
| 91 |
+
raise ValueError('trusted manifest hash mismatch')
|
| 92 |
+
manifest = read_json(manifest_path)
|
| 93 |
+
entries = manifest['files']
|
| 94 |
+
names = [e['path'] for e in entries]
|
| 95 |
+
if len(names) != len(set(names)):
|
| 96 |
+
raise ValueError('duplicate manifest file')
|
| 97 |
+
if any(type(e['bytes']) is not int or e['bytes'] < 0 for e in entries):
|
| 98 |
+
raise ValueError('invalid manifest size')
|
| 99 |
+
if len(entries) != manifest['file_count'] or sum(e['bytes'] for e in entries) != manifest['total_bytes']:
|
| 100 |
+
raise ValueError('manifest aggregates mismatch')
|
| 101 |
+
for e in entries:
|
| 102 |
+
if e['path'] == 'UPLOAD_MANIFEST.json' or not re.fullmatch('[a-f0-9]{64}', e['sha256']):
|
| 103 |
+
raise ValueError('invalid manifest entry')
|
| 104 |
+
p = safe_path(root, e['path'])
|
| 105 |
+
if not p.is_file():
|
| 106 |
+
errors.append({'file': e['path'], 'reason': 'missing file'})
|
| 107 |
+
continue
|
| 108 |
+
size, sha, blob = file_hashes(p)
|
| 109 |
+
if size != e['bytes'] or sha != e['sha256'] or (e.get('git_blob_sha1') and blob != e['git_blob_sha1']):
|
| 110 |
+
errors.append({'file': e['path'], 'reason': 'size or full-file hash mismatch'})
|
| 111 |
+
continue
|
| 112 |
+
if p.suffix == '.json':
|
| 113 |
+
read_json(p)
|
| 114 |
+
checked.append(e['path'])
|
| 115 |
+
index_name = 'model.safetensors.index.json'
|
| 116 |
+
if index_name not in names:
|
| 117 |
+
errors.append({'file': index_name, 'reason': 'required index not in manifest'})
|
| 118 |
+
elif index_name in checked:
|
| 119 |
+
index = read_json(root/index_name)['weight_map']
|
| 120 |
+
if not isinstance(index, dict) or not index:
|
| 121 |
+
raise ValueError('invalid weight map')
|
| 122 |
+
shards = set(index.values())
|
| 123 |
+
expected_shards = {n for n in names if n.endswith('.safetensors')}
|
| 124 |
+
if shards != expected_shards:
|
| 125 |
+
errors.append({'reason': 'index/manifest shard set mismatch'})
|
| 126 |
+
actual = {}
|
| 127 |
+
for shard in sorted(shards):
|
| 128 |
+
safe_path(root, shard)
|
| 129 |
+
if shard not in checked:
|
| 130 |
+
errors.append({'file': shard, 'reason': 'referenced shard missing or not hash-verified'})
|
| 131 |
+
continue
|
| 132 |
+
for tensor in tensor_header(root/shard):
|
| 133 |
+
if tensor in actual:
|
| 134 |
+
raise ValueError('duplicate tensor across shards')
|
| 135 |
+
actual[tensor] = shard
|
| 136 |
+
if actual != index:
|
| 137 |
+
errors.append({'reason': 'actual tensor inventory differs from weight map'})
|
| 138 |
+
except (OSError, ValueError, TypeError, KeyError, AttributeError) as exc:
|
| 139 |
+
errors.append({'reason': 'invalid or incomplete package', 'exception_type': type(exc).__name__})
|
| 140 |
+
return {'status': 'FAIL' if errors else 'PASS', 'errors': errors,
|
| 141 |
+
'fully_hashed_files': len(checked), 'manifest_pinned': bool(expected_manifest_sha256),
|
| 142 |
+
'scope': 'File integrity and tensor index only; not generation, finite-value or quality validation'}
|
| 143 |
+
|
| 144 |
+
|
| 145 |
+
if __name__ == '__main__':
|
| 146 |
+
parser = argparse.ArgumentParser(description=__doc__)
|
| 147 |
+
parser.add_argument('snapshot', type=Path)
|
| 148 |
+
parser.add_argument('--manifest-sha256')
|
| 149 |
+
args = parser.parse_args()
|
| 150 |
+
result = verify(args.snapshot, args.manifest_sha256)
|
| 151 |
+
print(json.dumps(result, indent=2))
|
| 152 |
+
raise SystemExit(0 if result['status'] == 'PASS' else 1)
|