mirror of
				https://github.com/ggml-org/llama.cpp.git
				synced 2025-10-31 08:51:55 +00:00 
			
		
		
		
	llama-chat : fix wrong template in GLM4-0414 (#13140)
* fix wrong template in GLM4-0414 * fix spaces * no bos token since it is already in the template * moved the chatgml4 check to higher priority * restored template for old GLM models * moved the GLM4 template check in the correct place with correct check
This commit is contained in:
		| @@ -5154,7 +5154,7 @@ class Glm4Model(TextModel): | |||||||
|         special_vocab._set_special_token("eos", tokenizer.get_added_vocab()["<|endoftext|>"]) |         special_vocab._set_special_token("eos", tokenizer.get_added_vocab()["<|endoftext|>"]) | ||||||
|         special_vocab._set_special_token("eot", tokenizer.get_added_vocab()["<|user|>"]) |         special_vocab._set_special_token("eot", tokenizer.get_added_vocab()["<|user|>"]) | ||||||
|         special_vocab._set_special_token("unk", tokenizer.get_added_vocab()["<|endoftext|>"]) |         special_vocab._set_special_token("unk", tokenizer.get_added_vocab()["<|endoftext|>"]) | ||||||
|         special_vocab._set_special_token("bos", tokenizer.get_added_vocab()["[gMASK]"]) |         special_vocab._set_special_token("bos", tokenizer.get_added_vocab()["<|endoftext|>"]) | ||||||
|         special_vocab.add_to_gguf(self.gguf_writer) |         special_vocab.add_to_gguf(self.gguf_writer) | ||||||
|  |  | ||||||
|     def set_gguf_parameters(self): |     def set_gguf_parameters(self): | ||||||
|   | |||||||
| @@ -122,6 +122,8 @@ llm_chat_template llm_chat_detect_template(const std::string & tmpl) { | |||||||
|         } |         } | ||||||
|     } else if (tmpl_contains("<|assistant|>") && tmpl_contains("<|end|>")) { |     } else if (tmpl_contains("<|assistant|>") && tmpl_contains("<|end|>")) { | ||||||
|         return LLM_CHAT_TEMPLATE_PHI_3; |         return LLM_CHAT_TEMPLATE_PHI_3; | ||||||
|  |     } else if (tmpl_contains("[gMASK]<sop>")) { | ||||||
|  |         return LLM_CHAT_TEMPLATE_CHATGML_4; | ||||||
|     } else if (tmpl_contains("<|assistant|>") && tmpl_contains("<|user|>")) { |     } else if (tmpl_contains("<|assistant|>") && tmpl_contains("<|user|>")) { | ||||||
|         return tmpl_contains("</s>") ? LLM_CHAT_TEMPLATE_FALCON_3 : LLM_CHAT_TEMPLATE_GLMEDGE; |         return tmpl_contains("</s>") ? LLM_CHAT_TEMPLATE_FALCON_3 : LLM_CHAT_TEMPLATE_GLMEDGE; | ||||||
|     } else if (tmpl_contains("<|{{ item['role'] }}|>") && tmpl_contains("<|begin_of_image|>")) { |     } else if (tmpl_contains("<|{{ item['role'] }}|>") && tmpl_contains("<|begin_of_image|>")) { | ||||||
| @@ -155,8 +157,6 @@ llm_chat_template llm_chat_detect_template(const std::string & tmpl) { | |||||||
|     } else if (tmpl_contains("[gMASK]sop")) { |     } else if (tmpl_contains("[gMASK]sop")) { | ||||||
|         // chatglm3-6b |         // chatglm3-6b | ||||||
|         return LLM_CHAT_TEMPLATE_CHATGML_3; |         return LLM_CHAT_TEMPLATE_CHATGML_3; | ||||||
|     } else if (tmpl_contains("[gMASK]<sop>")) { |  | ||||||
|         return LLM_CHAT_TEMPLATE_CHATGML_4; |  | ||||||
|     } else if (tmpl_contains(LU8("<用户>"))) { |     } else if (tmpl_contains(LU8("<用户>"))) { | ||||||
|         // MiniCPM-3B-OpenHermes-2.5-v2-GGUF |         // MiniCPM-3B-OpenHermes-2.5-v2-GGUF | ||||||
|         return LLM_CHAT_TEMPLATE_MINICPM; |         return LLM_CHAT_TEMPLATE_MINICPM; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 matteo
					matteo