From adc55d300117926c063586b93ab9818f343ff77c Mon Sep 17 00:00:00 2001 From: Pabloader Date: Tue, 17 Feb 2026 14:23:00 +0000 Subject: [PATCH] Optimize templates --- src/games/ai-story/tools/huggingface.ts | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/games/ai-story/tools/huggingface.ts b/src/games/ai-story/tools/huggingface.ts index 035b6bd..8b0f49f 100644 --- a/src/games/ai-story/tools/huggingface.ts +++ b/src/games/ai-story/tools/huggingface.ts @@ -106,7 +106,7 @@ export namespace Huggingface { console.log(`[huggingface] searching config in '${name}/tokenizer_config.json'`); const fileResponse = await hub.downloadFile({ repo: name, - path: 'tokenizer_config.json', + path: 'tokenizer_config.json', }); if (fileResponse) { const maybeConfig = JSON.parse(await fileResponse.text()); @@ -236,13 +236,17 @@ export namespace Huggingface { if (config?.chat_template?.trim()) { template = config.chat_template.trim() + .replace(/raise_exception\(('[^')]+'|"[^")]+")\)/g, `''`) .replaceAll('eos_token', `'${config.eos_token ?? ''}'`) - .replaceAll('bos_token', `''`); - - if (config.bos_token) { - template = template - .replace(/\{\{ ?(''|"") ?\}\}/g, ''); - } + .replaceAll('bos_token', `''`) + .replace(/\{\{ ?(''|"") ?\}\}/g, '') + .replace(/\n'/g, `\\n'`) + .replace(/\n"/g, `\\n"`) + .replace(/'\s*\+\s*'/g, '') + .replace(/"\s*\+\s*"/g, '') + .replace(/\{%\s*else\s*%\}\{%\s*endif\s*%\}/gi, '{% endif %}') + .replace(/\{%\s*elif[^}]+%\}\{%\s*endif\s*%\}/gi, '{% endif %}') + .replace(/\{%\s*if[^}]+%\}\{%\s*endif\s*%\}/gi, ''); } } @@ -308,7 +312,6 @@ export namespace Huggingface { try { let template = compiledTemplates.get(templateString); if (!template) { - templateString = templateString.replace(/raise_exception\(('[^')]+'|"[^")]+")\)/g, `''`) template = new Template(templateString); compiledTemplates.set(templateString, template); }