@@ -5598,21 +5598,19 @@ def set_gguf_parameters(self):
55985598 self.gguf_writer.add_nextn_predict_layers(n)
55995599
56005600 def prepare_metadata(self, vocab_only: bool):
5601+ # TextModel.prepare_metadata resolves a directory fname_out into a concrete
5602+ # file path, so snapshot is_dir() first to decide whether to apply the mtp- prefix.
5603+ from_dir = self.fname_out.is_dir()
56015604 super().prepare_metadata(vocab_only=vocab_only) # ty: ignore[unresolved-attribute]
56025605
5603- if not self.mtp_only:
5606+ if not self.mtp_only or not from_dir :
56045607 return
56055608
56065609 output_type: str = self.ftype.name.partition("_")[2] # pyright: ignore[reportAttributeAccessIssue] # ty: ignore[unresolved-attribute]
5607-
5608- if self.fname_out.is_dir():
5609- fname_default: str = gguf.naming_convention(
5610- self.metadata.name, self.metadata.basename, self.metadata.finetune, # pyright: ignore[reportAttributeAccessIssue] # ty: ignore[unresolved-attribute]
5611- self.metadata.version, size_label=None, output_type=output_type, model_type=None) # pyright: ignore[reportAttributeAccessIssue] # ty: ignore[unresolved-attribute]
5612- self.fname_out = self.fname_out / f"{Path(fname_default).stem}-MTP.gguf"
5613- else:
5614- stem = self.fname_out.stem
5615- self.fname_out = self.fname_out.parent / f"{stem}-MTP{self.fname_out.suffix}"
5610+ fname_default: str = gguf.naming_convention(
5611+ self.metadata.name, self.metadata.basename, self.metadata.finetune, # pyright: ignore[reportAttributeAccessIssue] # ty: ignore[unresolved-attribute]
5612+ self.metadata.version, size_label=None, output_type=output_type, model_type=None) # pyright: ignore[reportAttributeAccessIssue] # ty: ignore[unresolved-attribute]
5613+ self.fname_out = self.fname_out.parent / f"mtp-{fname_default}.gguf"
56165614
56175615 def modify_tensors(self, data_torch: Tensor, name: str, bid: int | None) -> Iterable[tuple[str, Tensor]]:
56185616 # Remap MTP block tensors to llama.cpp's layer-indexed nextn naming.
0 commit comments