@@ -1078,6 +1078,9 @@ def get_vocab_base_pre(self, tokenizer) -> str:
10781078 if chkhsh == "b3d1dd861f1d4c5c0d2569ce36baf3f90fe8a102db3de50dd71ff860d91be3df":
10791079 # ref: https://huggingface.co/aari1995/German_Semantic_V3
10801080 res = "jina-v2-de"
1081+ if chkhsh == "cdf5f35325780597efd76153d4d1c16778f766173908894c04afc20108536267":
1082+ # ref: https://huggingface.co/zai-org/GLM-4.7-Flash
1083+ res = "glm4"
10811084 if chkhsh == "0ef9807a4087ebef797fc749390439009c3b9eda9ad1a097abbe738f486c01e5":
10821085 # ref: https://huggingface.co/meta-llama/Meta-Llama-3-8B
10831086 res = "llama-bpe"
@@ -7458,7 +7461,7 @@ def prepare_tensors(self):
74587461 "DeepseekV3ForCausalLM",
74597462 "KimiVLForConditionalGeneration",
74607463 "YoutuForCausalLM",
7461- "YoutuVLForConditionalGeneration"
7464+ "YoutuVLForConditionalGeneration",
74627465)
74637466class DeepseekV2Model(TextModel):
74647467 model_arch = gguf.MODEL_ARCH.DEEPSEEK2
@@ -8446,6 +8449,32 @@ def prepare_tensors(self):
84468449 raise ValueError(f"Unprocessed experts: {experts}")
84478450
84488451
8452+ @ModelBase.register("Glm4MoeLiteForCausalLM")
8453+ class Glm4MoeLiteModel(DeepseekV2Model):
8454+ model_arch = gguf.MODEL_ARCH.DEEPSEEK2
8455+
8456+ # copied from Glm4MoeModel
8457+ def set_vocab(self):
8458+ from transformers import AutoTokenizer
8459+
8460+ tokenizer = AutoTokenizer.from_pretrained(self.dir_model)
8461+ special_vocab = gguf.SpecialVocab(self.dir_model, load_merges=True)
8462+ tokens, toktypes, tokpre = self.get_vocab_base()
8463+ self.gguf_writer.add_tokenizer_model("gpt2")
8464+ self.gguf_writer.add_tokenizer_pre(tokpre)
8465+ self.gguf_writer.add_token_list(tokens)
8466+ self.gguf_writer.add_token_types(toktypes)
8467+
8468+ # Special tokens
8469+ # Note: Using <|endoftext|> (151329) for eot causes endless generation
8470+ special_vocab._set_special_token("bos", tokenizer.get_added_vocab()["[gMASK]"]) # 151331
8471+ special_vocab._set_special_token("eot", tokenizer.get_added_vocab()["<|user|>"]) # 151336
8472+ special_vocab._set_special_token("unk", tokenizer.get_added_vocab()["<|endoftext|>"]) # 151329
8473+ special_vocab._set_special_token("eom", tokenizer.get_added_vocab()["<|observation|>"]) # 151338
8474+
8475+ special_vocab.add_to_gguf(self.gguf_writer)
8476+
8477+
84498478@ModelBase.register("GlmForCausalLM", "ChatGLMModel", "ChatGLMForConditionalGeneration")
84508479class ChatGLMModel(TextModel):
84518480 model_arch = gguf.MODEL_ARCH.CHATGLM
0 commit comments