初始化项目,由ModelHub XC社区提供模型

Model: FutureWater/FST-ET1-1.5B
Source: Original Platform
This commit is contained in:
ModelHub XC
2026-05-16 17:23:31 +08:00
commit 9971bbc667
11 changed files with 758220 additions and 0 deletions

48
.gitattributes vendored Normal file
View File

@@ -0,0 +1,48 @@
*.7z filter=lfs diff=lfs merge=lfs -text
*.arrow filter=lfs diff=lfs merge=lfs -text
*.bin filter=lfs diff=lfs merge=lfs -text
*.bin.* filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.ftz filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.h5 filter=lfs diff=lfs merge=lfs -text
*.joblib filter=lfs diff=lfs merge=lfs -text
*.lfs.* filter=lfs diff=lfs merge=lfs -text
*.model filter=lfs diff=lfs merge=lfs -text
*.msgpack filter=lfs diff=lfs merge=lfs -text
*.onnx filter=lfs diff=lfs merge=lfs -text
*.ot filter=lfs diff=lfs merge=lfs -text
*.parquet filter=lfs diff=lfs merge=lfs -text
*.pb filter=lfs diff=lfs merge=lfs -text
*.pt filter=lfs diff=lfs merge=lfs -text
*.pth filter=lfs diff=lfs merge=lfs -text
*.rar filter=lfs diff=lfs merge=lfs -text
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
*.tar.* filter=lfs diff=lfs merge=lfs -text
*.tflite filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zstandard filter=lfs diff=lfs merge=lfs -text
*.tfevents* filter=lfs diff=lfs merge=lfs -text
*.db* filter=lfs diff=lfs merge=lfs -text
*.ark* filter=lfs diff=lfs merge=lfs -text
**/*ckpt*data* filter=lfs diff=lfs merge=lfs -text
**/*ckpt*.meta filter=lfs diff=lfs merge=lfs -text
**/*ckpt*.index filter=lfs diff=lfs merge=lfs -text
*.safetensors filter=lfs diff=lfs merge=lfs -text
*.ckpt filter=lfs diff=lfs merge=lfs -text
*.gguf* filter=lfs diff=lfs merge=lfs -text
*.ggml filter=lfs diff=lfs merge=lfs -text
*.llamafile* filter=lfs diff=lfs merge=lfs -text
*.pt2 filter=lfs diff=lfs merge=lfs -text
*.mlmodel filter=lfs diff=lfs merge=lfs -text
*.npy filter=lfs diff=lfs merge=lfs -text
*.npz filter=lfs diff=lfs merge=lfs -text
*.pickle filter=lfs diff=lfs merge=lfs -text
*.pkl filter=lfs diff=lfs merge=lfs -text
*.tar filter=lfs diff=lfs merge=lfs -text
*.wasm filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text
*tfevents* filter=lfs diff=lfs merge=lfs -text
*.gguf filter=lfs diff=lfs merge=lfs -text

200
LICENSE-APACHE Normal file
View File

@@ -0,0 +1,200 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
Copyright 2024 Alibaba Cloud
Copyright 2025 北京境界探微技术有限公司
Copyright 2025 苏州镃源科技有限公司
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.

23
LICENSE-MIT Normal file
View File

@@ -0,0 +1,23 @@
MIT License
Copyright (c) 2023 DeepSeek
Copyright (c) 2025 北京境界探微技术有限公司
Copyright (c) 2025 苏州镃源科技有限公司
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

195
README.md Normal file
View File

@@ -0,0 +1,195 @@
---
frameworks:
- Pytorch
license: "MIT License"
tasks:
- text-generation
tags:
- 污水处理
- 环境
---
## 1. 简介
FST-ET1Future Sewage Treatment-Engineer and Teacher 1是专为污水处理行业打造的小型推理模型可胜任教师 / 工程师级别的专业问答,面向学生、一线运维人员、科研与行政岗位、法务、培训等多种角色。
**开源版本**:为了支持研究社区,我们已经开源了 **FST-ET1-1.5B**、**FST-ET1-7B**、**FST-ET1-14B** 三个密集小参数模型。
**特色与定位**:我们尝试并提出了使用专业领域内数据定制化训练小参数模型的路径,形成参数规模小、专业度高、颗粒度高、成本低、可在消费级计算机本地部署、保障数据安全的模型。模型训练可牺牲部分非专业领域内的泛化性能来提升本领域专业性能,打造一个“生活小白,行业专家” 的小模型。
**国产全链路**:本模型的训练框架采用国产 [ms-swift](https://github.com/Spectrelight/ms-swift),算力设施使用国产 ppu保证了模型训练的可控性并且显著降低了训练成本。1.5B 模型进行 3 亿 token 级别训练的算力成本约为 1500 元单次训练成本实际训练中常需多次调整训练7B 模型约 3300 元14B 模型约 6400 元。
### 模型规格速览
| 模型 | 格式 | 适用场景 | 最低显存需求 |
|------|------|----------|--------------|
| FST-ET1-1.5B | BF16 | 行业基础 / 简单问题 | 4 GB |
| FST-ET1-7B | BF16 | 科研、运维、行政等专业问题 | 16 GB |
| FST-ET1-14B | BF16 | 逻辑较复杂、专业要求较高的问题 | 32 GB |
## 2. 模型概述
### 2.1 训练数据包含的 17 类污水处理领域知识
1. 基础知识与技术
2. 科研与技术创新
3. 运营管理与实践
4. 商业与市场分析
5. 政策与法规体系
6. 可持续发展与循环经济
7. 国际经验与区域差异
8. 跨领域协同与系统集成
9. 职业发展与教育体系
10. 未来挑战与战略机遇
11. 环境监测与影响评估
12. 公共卫生与疾病防控
13. 数据安全与数字化治理
14. 公众参与社会治理
15. 伦理与法律争议
16. 分散式与农村污水处理
17. 气候变化适应与韧性建设
### 2.2 数据来源
- [DeepSeek-R1](https://github.com/deepseek-ai/DeepSeek) 蒸馏后人工审核语料
- 污水处理行业日常运维记录
- 专家及从业人员经验总结
共形成 **9 万条 ≈ 3 亿 token**
## 3. 本地部署指南
**我们提供了 FP16、INT8、INT4、q8_0、q4_K_M 等不同版本的量化模型**,试验性运行 / 训练推荐使用 BF16 版本,本地部署运行推荐使用 FP16 / INT8 / q8_0 版本。
### 3.1 GPU / NPU 依赖
- **NVIDIA**:驱动 + CUDA Toolkit
- **Apple Silicon (M1-M4)**Metal Performance Shaders (MPS)
- **华为 Ascend**NPU 驱动与计算库
### 3.2 快速启动示例
**(1) [GGUF](https://github.com/ggerganov/llama.cpp/tree/master/gguf) 格式推荐使用 [Ollama](https://github.com/ollama/ollama) 或 [Llama.cpp](https://github.com/ggerganov/llama.cpp) 进行本地部署推理与加速。**
GGUF 格式模型均配有 **Modelfile**(内含模型创建参数与对话设置等)。请将该文件与模型权重置于同一文件夹,`ollama` 会使用该文件完成模型导入与参数配置。
```bash
# Ollama
ollama create <model-name> -f /path/to/Modelfile
ollama run <model-name>
# Llama.cpp
./main -m /path/to/model.gguf --interactive
```
**(2) Safetensors (FP16 / BF16) 可使用 [Hugging Face Transformers](https://huggingface.co/docs/transformers/index) 或 [vLLM](https://github.com/vllm-project/vllm) 快速启动。**
```python
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained(
"模型路径",
torch_dtype="torch.float16",
device_map="auto"
)
```
```bash
python -m vllm.entrypoints.api_server --model 模型路径 --dtype half
```
**(3) Safetensors (GPTQ) 可使用 [AutoGPTQ](https://github.com/PanQiWei/AutoGPTQ) 或 [ExLlamaV2](https://github.com/turboderp/exllamav2) 快速启动。**
```python
from auto_gptq import AutoGPTQForCausalLM
model = AutoGPTQForCausalLM.from_quantized("模型路径", device="cuda:0")
```
```python
from exllama import ExLlama, ExLlamaCache, ExLlamaConfig
config = ExLlamaConfig("模型路径/config.json")
model = ExLlama(config)
```
### 3.3 集成工具推荐
- [Ollama](https://github.com/ollama/ollama)
**Ollama快速启动**
```bash
ollama create <model-name> -f "Modelfile文件路径/Modelfile"
ollama run <model-name>
```
- [ms-swift](https://github.com/Spectrelight/ms-swift)
**ms-swift快速启动**
```bash
CUDA_VISIBLE_DEVICES=0 swift app \
--model 模型路径 \
--model_type deepseek_r1 \
--stream true \
--infer_backend pt或vllm或lmdeploy \
--max_new_tokens 8000
```
### 3.4 使用建议
- 在 `generation_config.json` 或推理框架中调整 `temperature` / `top_p` 等参数。
- 重复性预防:`temperature` 建议 **0.6 0.9**。
- 需要创意输出时:`temperature` **0.9 1.0**。
- 直接提问,无需额外提示词。
- 模型专注污水处理领域,**避免跨域使用**。
### 3.5 量化模型列表
#### FST-ET1-1.5B
| 量化模型 | 说明 |
|----------|------|
| FST-ET1-1.5B-fp16 | 显存需求不变,精度无损 |
| FST-ET1-1.5B-fp16-GGUF | 显存需求不变,精度无损 |
| FST-ET1-1.5B-q8_0-GGUF | 显存需求减少 50%,精度几乎无损 |
| FST-ET1-1.5B-int8-GPTQ | 显存需求减少 50%,精度几乎无损 |
| FST-ET1-1.5B-q4_K_M-GGUF | 显存需求减少 75%,精度略有损失 |
| FST-ET1-1.5B-int4-GPTQ | 显存需求减少 75%,精度略有损失 |
#### FST-ET1-7B
| 量化模型 | 说明 |
|----------|------|
| FST-ET1-7B-fp16 | 显存需求不变,精度无损 |
| FST-ET1-7B-fp16-GGUF | 显存需求不变,精度无损 |
| FST-ET1-7B-q8_0-GGUF | 显存需求减少 50%,精度几乎无损 |
| FST-ET1-7B-int8-GPTQ | 显存需求减少 50%,精度几乎无损 |
| FST-ET1-7B-q4_K_M-GGUF | 显存需求减少 75%,精度略有损失 |
| FST-ET1-7B-int4-GPTQ | 显存需求减少 75%,精度略有损失 |
#### FST-ET1-14B
| 量化模型 | 说明 |
|----------|------|
| FST-ET1-14B-fp16 | 显存需求不变,精度无损 |
| FST-ET1-14B-fp16-GGUF | 显存需求不变,精度无损 |
| FST-ET1-14B-q8_0-GGUF | 显存需求减少 50%,精度几乎无损 |
| FST-ET1-14B-int8-GPTQ | 显存需求减少 50%,精度几乎无损 |
| FST-ET1-14B-q4_K_M-GGUF | 显存需求减少 75%,精度略有损失 |
| FST-ET1-14B-int4-GPTQ | 显存需求减少 75%,精度略有损失 |
> **注:** AutoGPTQ 采用 *symmetric group-wise* 方式量化并在量化过程中进行了数据校准,以提升模型生成精度。该模型需要 compute capability > 8.0Ampere、Ada Lovelace、Hopper 架构)的 Nvidia GPU 来支持 INT8 或 INT4 混合精度计算。
## 4. 许可证
本项目由 **北京境界探微技术有限公司** 与 **苏州镃源科技有限公司** 联合开发。
部分代码和权重源自 **[DeepSeek-R1](https://github.com/deepseek-ai/DeepSeek)**MIT License与 **[Qwen-2.5](https://github.com/QwenLM/Qwen2)**Apache 2.0)。
更多详情请查阅项目根目录下的 `LICENSE-MIT` 与 `LICENSE-APACHE` 文件。
## 5. 贡献者
- 高嵩 博士
- 金正宇 博士
- 邢玉坤 博士
## 6. 联系我们
如有问题或合作意向,请通过 xyk_fst@163.com 与我们联系。

31
config.json Normal file
View File

@@ -0,0 +1,31 @@
{
"_name_or_path": "",
"architectures": [
"Qwen2ForCausalLM"
],
"attention_dropout": 0.0,
"bos_token_id": 151643,
"eos_token_id": 151643,
"hidden_act": "silu",
"hidden_size": 1536,
"initializer_range": 0.02,
"intermediate_size": 8960,
"max_position_embeddings": 131072,
"max_window_layers": 21,
"model_type": "qwen2",
"num_attention_heads": 12,
"num_hidden_layers": 28,
"num_key_value_heads": 2,
"pad_token_id": 151643,
"rms_norm_eps": 1e-06,
"rope_scaling": null,
"rope_theta": 10000,
"sliding_window": null,
"tie_word_embeddings": false,
"torch_dtype": "bfloat16",
"transformers_version": "4.48.3",
"use_cache": false,
"use_mrope": false,
"use_sliding_window": false,
"vocab_size": 151936
}

1
configuration.json Normal file
View File

@@ -0,0 +1 @@
{"task":"text-generation"}

9
generation_config.json Normal file
View File

@@ -0,0 +1,9 @@
{
"_from_model_config": true,
"bos_token_id": 151646,
"do_sample": true,
"eos_token_id": 151643,
"temperature": 0.6,
"top_p": 0.95,
"transformers_version": "4.48.3"
}

3
model.safetensors Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:04ae77c1302af4b68144ba46c880efa0edeeb1f9b844f4f8b6a3d9f37d252747
size 3554214752

23
special_tokens_map.json Normal file
View File

@@ -0,0 +1,23 @@
{
"bos_token": {
"content": "<begin▁of▁sentence>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false
},
"eos_token": {
"content": "<end▁of▁sentence>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false
},
"pad_token": {
"content": "<end▁of▁sentence>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false
}
}

757492
tokenizer.json Normal file

File diff suppressed because it is too large Load Diff

195
tokenizer_config.json Normal file
View File

@@ -0,0 +1,195 @@
{
"add_bos_token": true,
"add_eos_token": false,
"add_prefix_space": null,
"added_tokens_decoder": {
"151643": {
"content": "<end▁of▁sentence>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151644": {
"content": "<User>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": false
},
"151645": {
"content": "<Assistant>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": false
},
"151646": {
"content": "<begin▁of▁sentence>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151647": {
"content": "<|EOT|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": false
},
"151648": {
"content": "<think>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": false
},
"151649": {
"content": "</think>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": false
},
"151650": {
"content": "<|quad_start|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151651": {
"content": "<|quad_end|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151652": {
"content": "<|vision_start|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151653": {
"content": "<|vision_end|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151654": {
"content": "<|vision_pad|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151655": {
"content": "<|image_pad|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151656": {
"content": "<|video_pad|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151657": {
"content": "<tool_call>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": false
},
"151658": {
"content": "</tool_call>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": false
},
"151659": {
"content": "<|fim_prefix|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": false
},
"151660": {
"content": "<|fim_middle|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": false
},
"151661": {
"content": "<|fim_suffix|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": false
},
"151662": {
"content": "<|fim_pad|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": false
},
"151663": {
"content": "<|repo_name|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": false
},
"151664": {
"content": "<|file_sep|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": false
}
},
"bos_token": "<begin▁of▁sentence>",
"chat_template": "{% if not add_generation_prompt is defined %}{% set add_generation_prompt = false %}{% endif %}{% set ns = namespace(is_first=false, is_tool=false, is_output_first=true, system_prompt='') %}{%- for message in messages %}{%- if message['role'] == 'system' %}{% set ns.system_prompt = message['content'] %}{%- endif %}{%- endfor %}{{bos_token}}{{ns.system_prompt}}{%- for message in messages %}{%- if message['role'] == 'user' %}{%- set ns.is_tool = false -%}{{'<User>' + message['content']}}{%- endif %}{%- if message['role'] == 'assistant' and message['content'] is none %}{%- set ns.is_tool = false -%}{%- for tool in message['tool_calls']%}{%- if not ns.is_first %}{{'<Assistant><tool▁calls▁begin><tool▁call▁begin>' + tool['type'] + '<tool▁sep>' + tool['function']['name'] + '\\n' + '```json' + '\\n' + tool['function']['arguments'] + '\\n' + '```' + '<tool▁call▁end>'}}{%- set ns.is_first = true -%}{%- else %}{{'\\n' + '<tool▁call▁begin>' + tool['type'] + '<tool▁sep>' + tool['function']['name'] + '\\n' + '```json' + '\\n' + tool['function']['arguments'] + '\\n' + '```' + '<tool▁call▁end>'}}{{'<tool▁calls▁end><end▁of▁sentence>'}}{%- endif %}{%- endfor %}{%- endif %}{%- if message['role'] == 'assistant' and message['content'] is not none %}{%- if ns.is_tool %}{{'<tool▁outputs▁end>' + message['content'] + '<end▁of▁sentence>'}}{%- set ns.is_tool = false -%}{%- else %}{% set content = message['content'] %}{% if '</think>' in content %}{% set content = content.split('</think>')[-1] %}{% endif %}{{'<Assistant>' + content + '<end▁of▁sentence>'}}{%- endif %}{%- endif %}{%- if message['role'] == 'tool' %}{%- set ns.is_tool = true -%}{%- if ns.is_output_first %}{{'<tool▁outputs▁begin><tool▁output▁begin>' + message['content'] + '<tool▁output▁end>'}}{%- set ns.is_output_first = false %}{%- else %}{{'\\n<tool▁output▁begin>' + message['content'] + '<tool▁output▁end>'}}{%- endif %}{%- endif %}{%- endfor -%}{% if ns.is_tool %}{{'<tool▁outputs▁end>'}}{% endif %}{% if add_generation_prompt and not ns.is_tool %}{{'<Assistant><think>\\n'}}{% endif %}",
"clean_up_tokenization_spaces": false,
"eos_token": "<end▁of▁sentence>",
"extra_special_tokens": {},
"legacy": true,
"model_max_length": 16384,
"pad_token": "<end▁of▁sentence>",
"sp_model_kwargs": {},
"tokenizer_class": "LlamaTokenizer",
"unk_token": null,
"use_default_system_prompt": false
}