Preserve standalone model chat templates

This commit is contained in:
2026-09-30 11:47:29 +08:00
parent 67946deb82
commit f8937cc505
3 changed files with 18 additions and 2 deletions

View File

@@ -53,6 +53,14 @@ class EngineCompatTests(unittest.TestCase):
self.assertIsNone(prepare_model(source, work_root=root))
self.assertEqual([p.name for p in root.iterdir()], ["model"])
def test_standalone_chat_template_is_preserved(self):
for filename in ("chat_template.jinja", "chat_template.json"):
with self.subTest(filename=filename), tempfile.TemporaryDirectory() as directory:
root = Path(directory)
source = self._model(root, {"eos_token": "<|im_end|>"})
(source / filename).write_text("{{ messages }}", encoding="utf-8")
self.assertIsNone(prepare_model(source, work_root=root))
def test_known_tokenizer_class_is_replaced_only_with_tokenizer_json(self):
with tempfile.TemporaryDirectory() as directory:
root = Path(directory)