From 517a2fc964a11f6bb8f910442802b1c2af5977b6 Mon Sep 17 00:00:00 2001 From: ModelHub XC Date: Tue, 5 May 2026 13:45:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=EF=BC=8C=E7=94=B1ModelHub=20XC=E7=A4=BE=E5=8C=BA=E6=8F=90?= =?UTF-8?q?=E4=BE=9B=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Model: C10X/Nanbeige4-3B-Thinking-2511-Claude-4.5-Opus-High-Reasoning-Distill-V2 Source: Original Platform --- .gitattributes | 39 ++++ Nanbeige4-3B-Technical-Report.pdf | 3 + README.md | 136 ++++++++++++++ added_tokens.json | 9 + config.json | 32 ++++ figures/nbg.png | Bin 0 -> 15639 bytes figures/nbg_performance.png | 3 + figures/performance_2511.png | 3 + figures/performance_reasoning.png | Bin 0 -> 53654 bytes generation_config.json | 7 + model-00001-of-00002.safetensors | 3 + model-00002-of-00002.safetensors | 3 + model.safetensors.index.json | 298 ++++++++++++++++++++++++++++++ special_tokens_map.json | 33 ++++ tokenizer.json | 3 + tokenizer.model | 3 + tokenizer_config.json | 101 ++++++++++ 17 files changed, 676 insertions(+) create mode 100644 .gitattributes create mode 100644 Nanbeige4-3B-Technical-Report.pdf create mode 100644 README.md create mode 100644 added_tokens.json create mode 100644 config.json create mode 100644 figures/nbg.png create mode 100644 figures/nbg_performance.png create mode 100644 figures/performance_2511.png create mode 100644 figures/performance_reasoning.png create mode 100644 generation_config.json create mode 100644 model-00001-of-00002.safetensors create mode 100644 model-00002-of-00002.safetensors create mode 100644 model.safetensors.index.json create mode 100644 special_tokens_map.json create mode 100644 tokenizer.json create mode 100644 tokenizer.model create mode 100644 tokenizer_config.json diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..ff9d58d --- /dev/null +++ b/.gitattributes @@ -0,0 +1,39 @@ +*.7z filter=lfs diff=lfs merge=lfs -text +*.arrow filter=lfs diff=lfs merge=lfs -text +*.bin filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.ckpt 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 +*.mlmodel filter=lfs diff=lfs merge=lfs -text +*.model filter=lfs diff=lfs merge=lfs -text +*.msgpack filter=lfs diff=lfs merge=lfs -text +*.npy filter=lfs diff=lfs merge=lfs -text +*.npz 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 +*.pickle filter=lfs diff=lfs merge=lfs -text +*.pkl 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 +*.safetensors filter=lfs diff=lfs merge=lfs -text +saved_model/**/* filter=lfs diff=lfs merge=lfs -text +*.tar.* 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 +*.wasm filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text +*tfevents* filter=lfs diff=lfs merge=lfs -text +figures/performance_2511.png filter=lfs diff=lfs merge=lfs -text +tokenizer.json filter=lfs diff=lfs merge=lfs -text +Nanbeige4-3B-Technical-Report.pdf filter=lfs diff=lfs merge=lfs -text +figures/nbg_performance.png filter=lfs diff=lfs merge=lfs -text diff --git a/Nanbeige4-3B-Technical-Report.pdf b/Nanbeige4-3B-Technical-Report.pdf new file mode 100644 index 0000000..a261249 --- /dev/null +++ b/Nanbeige4-3B-Technical-Report.pdf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f98631b379cf45a0f7423a01166f9b96af6e693ccacc5bbe0874a76ec6cc1070 +size 610647 diff --git a/README.md b/README.md new file mode 100644 index 0000000..f5afb8b --- /dev/null +++ b/README.md @@ -0,0 +1,136 @@ +--- +license: apache-2.0 +language: +- en +- zh +library_name: transformers +pipeline_tag: text-generation +tags: +- llm +- nanbeige +base_model: +- Nanbeige/Nanbeige4-3B-Base +--- +
+ +Nanbeige Logo +
+ + +# News + +🎉 Nanbeige4-3B-Thinking-2511 debuts at #11 on [**WritingBench**](https://huggingface.co/spaces/WritingBench/WritingBench)! Despite only 3B parameters, its creative-writing ability chops rival those of hundred-billion-parameter giants. + +🎉 Nanbeige4-3B-Thinking-2511 ranks #15 on [**EQBench3**](https://eqbench.com/), demonstrating human-preference alignment and emotional intelligence comparable to much larger models. + +# Introduction +Nanbeige4-3B-Thinking-2511 is an enhanced iteration over our previous Nanbeige4-3B-Thinking-2510. +Through advanced knowledge distillation techniques and targeted reinforcement learning (RL) optimization, we have significantly scaled the model’s reasoning capabilities, delivering stronger and more reliable performance on diverse challenging benchmarks. +This version establishes new state-of-the-art (SOTA) results among open models under 32B parameters on AIME, GPQA-Diamond, Arena-Hard-V2, and BFCL-V4, which marks a major milestone in delivering powerful yet efficient reasoning capabilities at a compact scale. + +* Technical Report: https://arxiv.org/pdf/2512.06266 + +
+ + +
+ + + + + +## Quickstart + +For inference hyperparameters, we recommend the following settings: +* Temperature: 0.6 +* Top-p: 0.95 +* Repeat penalty: 1.0 + +For the chat scenario: +``` +from transformers import AutoModelForCausalLM, AutoTokenizer +tokenizer = AutoTokenizer.from_pretrained( + 'Nanbeige/Nanbeige4-3B-Thinking-2511', + use_fast=False, + trust_remote_code=True +) +model = AutoModelForCausalLM.from_pretrained( + 'Nanbeige/Nanbeige4-3B-Thinking-2511', + torch_dtype='auto', + device_map='auto', + trust_remote_code=True +) +messages = [ + {'role': 'user', 'content': 'Which number is bigger, 9.11 or 9.8?'} +] +prompt = tokenizer.apply_chat_template( + messages, + add_generation_prompt=True, + tokenize=False +) +input_ids = tokenizer(prompt, add_special_tokens=False, return_tensors='pt').input_ids +output_ids = model.generate(input_ids.to('cuda'), eos_token_id=166101) +resp = tokenizer.decode(output_ids[0][len(input_ids[0]):], skip_special_tokens=True) +print(resp) +``` + +For the tool use scenario: +``` +from transformers import AutoModelForCausalLM, AutoTokenizer +tokenizer = AutoTokenizer.from_pretrained( + 'Nanbeige/Nanbeige4-3B-Thinking-2511', + use_fast=False, + trust_remote_code=True +) +model = AutoModelForCausalLM.from_pretrained( + 'Nanbeige/Nanbeige4-3B-Thinking-2511', + torch_dtype='auto', + device_map='auto', + trust_remote_code=True +) +messages = [ + {'role': 'user', 'content': 'Help me check the weather in Beijing now'} +] +tools = [{'type': 'function', + 'function': {'name': 'SearchWeather', + 'description': 'Find out current weather in a certain place on a certain day.', + 'parameters': {'type': 'dict', + 'properties': {'location': {'type': 'string', + 'description': 'A city in china.'}, + 'required': ['location']}}}}] +prompt = tokenizer.apply_chat_template( + messages, + tools, + add_generation_prompt=True, + tokenize=False +) +input_ids = tokenizer(prompt, add_special_tokens=False, return_tensors='pt').input_ids +output_ids = model.generate(input_ids.to('cuda'), eos_token_id=166101) +resp = tokenizer.decode(output_ids[0][len(input_ids[0]):], skip_special_tokens=True) +print(resp) +``` + + +# Limitations + +While we place great emphasis on the safety of the model during the training process, striving to ensure that its outputs align with ethical and legal requirements, it may not completely avoid generating unexpected outputs due to the model's size and probabilistic nature. These outputs may include harmful content such as bias or discrimination. Please don't propagate such content. We do not assume any responsibility for the consequences resulting from the dissemination of inappropriate information. +
+ +# Citation +If you find our model useful or want to use it in your projects, please cite as follows: +``` +@misc{yang2025nanbeige43btechnicalreportexploring, + title={Nanbeige4-3B Technical Report: Exploring the Frontier of Small Language Models}, + author={Chen Yang and Guangyue Peng and Jiaying Zhu and Ran Le and Ruixiang Feng and Tao Zhang and Wei Ruan and Xiaoqi Liu and Xiaoxue Cheng and Xiyun Xu and Yang Song and Yanzipeng Gao and Yiming Jia and Yun Xing and Yuntao Wen and Zekai Wang and Zhenwei An and Zhicong Sun and Zongchao Chen}, + year={2025}, + eprint={2512.06266}, + archivePrefix={arXiv}, + primaryClass={cs.CL}, + url={https://arxiv.org/abs/2512.06266}, +} +``` +
+ +# Contact +If you have any questions, please raise an issue or contact us at nanbeige@126.com. +
\ No newline at end of file diff --git a/added_tokens.json b/added_tokens.json new file mode 100644 index 0000000..8805f6d --- /dev/null +++ b/added_tokens.json @@ -0,0 +1,9 @@ +{ + "": 166104, + "": 166106, + "": 166103, + "": 166105, + "<|endoftext|>": 166102, + "<|im_end|>": 166101, + "<|im_start|>": 166100 +} diff --git a/config.json b/config.json new file mode 100644 index 0000000..5bb8f83 --- /dev/null +++ b/config.json @@ -0,0 +1,32 @@ +{ + "architectures": [ + "LlamaForCausalLM" + ], + "attention_bias": false, + "attention_dropout": 0.0, + "bos_token_id": 166100, + "embd_pdrop": 0.0, + "eos_token_id": 166101, + "head_dim": 128, + "hidden_act": "silu", + "hidden_size": 2560, + "initializer_range": 0.02, + "intermediate_size": 10496, + "max_position_embeddings": 65536, + "mlp_bias": false, + "model_type": "llama", + "num_attention_heads": 20, + "num_hidden_layers": 32, + "num_key_value_heads": 4, + "pad_token_id": 0, + "pretraining_tp": 1, + "resid_pdrop": 0.0, + "rms_norm_eps": 1e-05, + "rope_scaling": null, + "rope_theta": 5000000, + "tie_word_embeddings": false, + "torch_dtype": "bfloat16", + "transformers_version": "4.51.3", + "use_cache": true, + "vocab_size": 166144 +} diff --git a/figures/nbg.png b/figures/nbg.png new file mode 100644 index 0000000000000000000000000000000000000000..3466c5a7576bf8a142a80596cb73707fbc523d6c GIT binary patch literal 15639 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 literal 0 HcmV?d00001 diff --git a/figures/nbg_performance.png b/figures/nbg_performance.png new file mode 100644 index 0000000..82f8df4 --- /dev/null +++ b/figures/nbg_performance.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a3ad52df2a216cf7867ca678fb678e9c632b843f910552524252a9f08f77f1a +size 179853 diff --git a/figures/performance_2511.png b/figures/performance_2511.png new file mode 100644 index 0000000..0403ff1 --- /dev/null +++ b/figures/performance_2511.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7cd4d45102a187a2e388f008f33645d9b296ce6431435f21cc4773937db76ffc +size 304917 diff --git a/figures/performance_reasoning.png b/figures/performance_reasoning.png new file mode 100644 index 0000000000000000000000000000000000000000..c4922eb20843aff6ef2d6c96bd624e60f9f0b15c GIT binary patch literal 53654 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

;Qjh1I-=watK9YN; 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 literal 0 HcmV?d00001 diff --git a/generation_config.json b/generation_config.json new file mode 100644 index 0000000..33736ee --- /dev/null +++ b/generation_config.json @@ -0,0 +1,7 @@ +{ + "_from_model_config": true, + "bos_token_id": 166100, + "eos_token_id": 166101, + "pad_token_id": 0, + "transformers_version": "4.51.3" +} diff --git a/model-00001-of-00002.safetensors b/model-00001-of-00002.safetensors new file mode 100644 index 0000000..863bc4c --- /dev/null +++ b/model-00001-of-00002.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd8bdb5ab02abd29352c71a2478f9b305023146d3cce2fc8bbcf6b94be96793d +size 4987548472 diff --git a/model-00002-of-00002.safetensors b/model-00002-of-00002.safetensors new file mode 100644 index 0000000..8107514 --- /dev/null +++ b/model-00002-of-00002.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06b368f8f89fb4c3459daf63385d5a336eeef288b9554b8d42f3ad5a5bee7e06 +size 2879759592 diff --git a/model.safetensors.index.json b/model.safetensors.index.json new file mode 100644 index 0000000..0a4ff93 --- /dev/null +++ b/model.safetensors.index.json @@ -0,0 +1,298 @@ +{ + "metadata": { + "total_size": 7867274240 + }, + "weight_map": { + "lm_head.weight": "model-00002-of-00002.safetensors", + "model.embed_tokens.weight": "model-00001-of-00002.safetensors", + "model.layers.0.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.0.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.0.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.0.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.0.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.0.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.0.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.0.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.0.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.1.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.1.mlp.down_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.1.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.1.mlp.up_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.1.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.1.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.1.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.1.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.1.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.10.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.10.mlp.down_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.10.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.10.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.10.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.10.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.10.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.10.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.10.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.11.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.11.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.11.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.11.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.11.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.11.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.11.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.11.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.11.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.12.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.12.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.12.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.12.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.12.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.12.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.12.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.12.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.12.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.13.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.13.mlp.down_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.13.mlp.gate_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.13.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.13.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.13.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.13.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.13.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.13.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.14.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.14.mlp.down_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.14.mlp.gate_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.14.mlp.up_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.14.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.14.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.14.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.14.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.14.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.15.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.15.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.15.mlp.gate_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.15.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.15.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.15.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.15.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.15.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.15.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.16.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.16.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.16.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.16.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.16.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.16.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.16.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.16.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.16.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.17.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.17.mlp.down_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.17.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.17.mlp.up_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.17.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.17.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.17.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.17.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.17.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.18.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.18.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.18.mlp.gate_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.18.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.18.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.18.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.18.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.18.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.18.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.19.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.19.mlp.down_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.19.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.19.mlp.up_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.19.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.19.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.19.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.19.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.19.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.2.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.2.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.2.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.2.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.2.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.2.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.2.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.2.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.2.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.20.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.20.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.20.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.20.mlp.up_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.20.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.20.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.20.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.20.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.20.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.21.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.21.mlp.down_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.21.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.21.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.21.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.21.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.21.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.21.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.21.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.22.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.22.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.22.mlp.gate_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.22.mlp.up_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.22.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.22.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.22.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.22.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.22.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.23.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.23.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.23.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.23.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.23.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.23.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.23.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.23.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.23.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.24.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.24.mlp.down_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.24.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.24.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.24.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.24.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.24.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.24.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.24.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.25.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.25.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.25.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.25.mlp.up_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.25.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.25.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.25.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.25.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.25.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.26.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.26.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.26.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.26.mlp.up_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.26.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.26.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.26.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.26.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.26.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.27.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.27.mlp.down_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.27.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.27.mlp.up_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.27.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.27.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.27.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.27.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.27.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.28.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.28.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.28.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.28.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.28.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.28.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.28.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.28.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.28.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.29.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.29.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.29.mlp.gate_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.29.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.29.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.29.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.29.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.29.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.29.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.3.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.3.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.3.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.3.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.3.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.3.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.3.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.3.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.3.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.30.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.30.mlp.down_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.30.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.30.mlp.up_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.30.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.30.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.30.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.30.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.30.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.31.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.31.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.31.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.31.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.31.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.31.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.31.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.31.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.31.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.4.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.4.mlp.down_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.4.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.4.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.4.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.4.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.4.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.4.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.4.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.5.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.5.mlp.down_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.5.mlp.gate_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.5.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.5.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.5.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.5.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.5.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.5.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.6.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.6.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.6.mlp.gate_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.6.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.6.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.6.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.6.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.6.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.6.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.7.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.7.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.7.mlp.gate_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.7.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.7.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.7.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.7.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.7.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.7.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.8.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.8.mlp.down_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.8.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.8.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.8.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.8.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.8.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.8.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.8.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.9.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.9.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.9.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.9.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.9.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.9.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.9.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.9.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.9.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.norm.weight": "model-00001-of-00002.safetensors" + } +} diff --git a/special_tokens_map.json b/special_tokens_map.json new file mode 100644 index 0000000..fb83292 --- /dev/null +++ b/special_tokens_map.json @@ -0,0 +1,33 @@ +{ + "additional_special_tokens": [ + "<|endoftext|>" + ], + "bos_token": { + "content": "<|im_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + "eos_token": { + "content": "<|im_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + "pad_token": { + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false + }, + "unk_token": { + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false + } +} diff --git a/tokenizer.json b/tokenizer.json new file mode 100644 index 0000000..f23c3b2 --- /dev/null +++ b/tokenizer.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d8f0326910136aca20831249220b38ce5299527647bc8c6b65404485c479740 +size 18451122 diff --git a/tokenizer.model b/tokenizer.model new file mode 100644 index 0000000..5dc56ce --- /dev/null +++ b/tokenizer.model @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb41d04798b714520a9b075727b0226538b7330254299062742c50ec8374bc36 +size 2782298 diff --git a/tokenizer_config.json b/tokenizer_config.json new file mode 100644 index 0000000..6292b03 --- /dev/null +++ b/tokenizer_config.json @@ -0,0 +1,101 @@ +{ + "add_bos_token": true, + "add_eos_token": false, + "add_prefix_space": true, + "added_tokens_decoder": { + "0": { + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false, + "special": true + }, + "1": { + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false, + "special": true + }, + "2": { + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false, + "special": true + }, + "166100": { + "content": "<|im_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "166101": { + "content": "<|im_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "166102": { + "content": "<|endoftext|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "166103": { + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false, + "special": false + }, + "166104": { + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false, + "special": false + }, + "166105": { + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false, + "special": false + }, + "166106": { + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false, + "special": false + } + }, + "additional_special_tokens": [], + "bos_token": "<|im_start|>", + "chat_template": "\n {%- if tools %}\n {{- '<|im_start|>system\n' }}\n {%- if messages[0].role == 'system' %}\n {{- messages[0].content + '\n\n' }}\n {%- else %} \n {{- '你是一位工具函数调用专家,你会得到一个问题和一组可能的工具函数。根据问题,你需要进行一个或多个函数/工具调用以实现目的,请尽量尝试探索通过工具解决问题。\n如果没有一个函数可以使用,请直接使用自然语言回复用户。\n如果给定的问题缺少函数所需的参数,请使用自然语言进行提问,向用户询问必要信息。\n如果调用结果已经足够回答用户问题,请对历史结果进行总结,使用自然语言回复用户。' }} \n {%- endif %}\n {{- \"# Tools\n\nYou may call one or more functions to assist with the user query.\n\nYou are provided with function signatures within XML tags:\n\" }}\n {%- for tool in tools %}\n {{- \"\n\" }}\n {{- tool | tojson }}\n {%- endfor %}\n {{- \"\n\n\nFor each function call, return a json object with function name and arguments within XML tags:\n\n{\\\"name\\\": , \\\"arguments\\\": }\n<|im_end|>\n\" }}\n {%- else %}\n {%- if messages[0].role == 'system' %}\n {{- '<|im_start|>system\n' + messages[0].content + '<|im_end|>\n' }}\n {%- else %} \n {{- '<|im_start|>system\n你是南北阁,一款由BOSS直聘自主研发并训练的专业大语言模型。<|im_end|>\n' }} \n {%- endif %}\n {%- endif %}\n {%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}\n {%- for message in messages[::-1] %}\n {%- set index = (messages|length - 1) - loop.index0 %}\n {%- if ns.multi_step_tool and message.role == \"user\" and message.content is string and not(message.content.startswith('') and message.content.endswith('')) %}\n {%- set ns.multi_step_tool = false %}\n {%- set ns.last_query_index = index %}\n {%- endif %}\n {%- endfor %}\n {%- for message in messages %}\n {%- if message.content is string %}\n {%- set content = message.content %}\n {%- else %}\n {%- set content = '' %}\n {%- endif %}\n {%- if (message.role == \"user\") or (message.role == \"system\" and not loop.first) %}\n {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}\n {%- elif message.role == \"assistant\" %}\n {%- set reasoning_content = '' %}\n {%- if message.reasoning_content is string %}\n {%- set reasoning_content = message.reasoning_content %}\n {%- else %}\n {%- if '' in content %}\n {%- set reasoning_content = content.split('')[0].rstrip('\n').split('')[-1].lstrip('\n') %}\n {%- set content = content.split('')[-1].lstrip('\n') %}\n {%- endif %}\n {%- endif %}\n {%- if loop.index0 > ns.last_query_index %}\n {%- if loop.last or (not loop.last and reasoning_content) %}\n {{- '<|im_start|>' + message.role + '\n\n' + reasoning_content.strip('\n') + '\n\n\n' + content.lstrip('\n') }}\n {%- else %}\n {{- '<|im_start|>' + message.role + '\n' + content }}\n {%- endif %}\n {%- else %}\n {{- '<|im_start|>' + message.role + '\n' + content }}\n {%- endif %}\n {%- if message.tool_calls %}\n {%- for tool_call in message.tool_calls %}\n {%- if (loop.first and content) or (not loop.first) %}\n {{- '\n' }}\n {%- endif %}\n {%- if tool_call.function %}\n {%- set tool_call = tool_call.function %}\n {%- endif %}\n {{- '\n{\"name\": \"' }}\n {{- tool_call.name }}\n {{- '\", \"arguments\": ' }}\n {%- if tool_call.arguments is string %}\n {{- tool_call.arguments }}\n {%- else %}\n {{- tool_call.arguments | tojson }}\n {%- endif %}\n {{- '}\n' }}\n {%- endfor %}\n {%- endif %}\n {{- '<|im_end|>\n' }}\n {%- elif message.role == \"tool\" %}\n {%- if loop.first or (messages[loop.index0 - 1].role != \"tool\") %}\n {{- '<|im_start|>user' }}\n {%- endif %}\n {{- '\n\n' }}\n {{- content }}\n {{- '\n' }}\n {%- if loop.last or (messages[loop.index0 + 1].role != \"tool\") %}\n {{- '<|im_end|>\n' }}\n {%- endif %}\n {%- endif %}\n {%- endfor %}\n {%- if add_generation_prompt %}\n {{- '<|im_start|>assistant\n' }}\n {%- endif %}\n", + "clean_up_tokenization_spaces": false, + "eos_token": "<|im_end|>", + "extra_special_tokens": {}, + "legacy": true, + "model_max_length": 1000000000000000019884624838656, + "pad_token": "", + "sp_model_kwargs": {}, + "spaces_between_special_tokens": false, + "tokenizer_class": "LlamaTokenizer", + "unk_token": "", + "use_default_system_prompt": false +} \ No newline at end of file