From f27dde3b30ab69bd93b116a5dfac905cbd0b281a Mon Sep 17 00:00:00 2001 From: common-user Date: Wed, 22 Apr 2026 16:39:25 +0800 Subject: [PATCH] Add vLLM patched image for K100: fix extra_special_tokens list->dict --- Dockerfile | 4 ++++ patch.py | 19 +++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 Dockerfile create mode 100644 patch.py diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..0001fe1 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,4 @@ +FROM git.modelhub.org.cn:9443/enginex-hygon/vllm:0.9.2 + +COPY patch.py /tmp/patch.py +RUN python3 /tmp/patch.py diff --git a/patch.py b/patch.py new file mode 100644 index 0000000..ce847f6 --- /dev/null +++ b/patch.py @@ -0,0 +1,19 @@ +path = '/usr/local/lib/python3.10/dist-packages/transformers/tokenization_utils_base.py' +with open(path, 'r') as f: + content = f.read() + +old = (' self.SPECIAL_TOKENS_ATTRIBUTES = self.SPECIAL_TOKENS_ATTRIBUTES' + ' + list(special_tokens.keys())') +new = (' # PATCH: some models have extra_special_tokens as list instead of dict\n' + ' if isinstance(special_tokens, list):\n' + ' special_tokens = {t: t for t in special_tokens}\n' + ' self.SPECIAL_TOKENS_ATTRIBUTES = self.SPECIAL_TOKENS_ATTRIBUTES' + ' + list(special_tokens.keys())') + +if old in content: + content = content.replace(old, new) + with open(path, 'w') as f: + f.write(content) + print('Patch 1 applied successfully') +else: + print('WARNING: Patch 1 pattern not found')