From 9c0d859e91ad1e9b1f1a2bd79d302bb9d71a53f0 Mon Sep 17 00:00:00 2001 From: hhhhsc <1710496817@qq.com> Date: Tue, 25 Aug 2026 11:36:14 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E9=A2=84=E5=88=B6tiktoken?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/images/backend-python/Dockerfile | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/scripts/images/backend-python/Dockerfile b/scripts/images/backend-python/Dockerfile index cf24083cd..e06b808bc 100644 --- a/scripts/images/backend-python/Dockerfile +++ b/scripts/images/backend-python/Dockerfile @@ -26,7 +26,8 @@ ENV PYTHONDONTWRITEBYTECODE=1 \ POETRY_VERSION=2.2.1 \ POETRY_NO_INTERACTION=1 \ POETRY_VIRTUALENVS_CREATE=false \ - POETRY_CACHE_DIR=/tmp/poetry_cache + POETRY_CACHE_DIR=/tmp/poetry_cache \ + TIKTOKEN_CACHE_DIR=/opt/tiktoken-cache ENV JAVA_HOME=/usr/lib/jvm/java-21-openjdk @@ -49,6 +50,10 @@ COPY runtime/datamate-python/pyproject.toml runtime/datamate-python/poetry.lock* RUN --mount=type=cache,target=$POETRY_CACHE_DIR \ poetry install --no-root --only main +# Preload the tokenizer vocabulary so knowledge-base operations work offline. +RUN mkdir -p "$TIKTOKEN_CACHE_DIR" \ + && python -c "import tiktoken; tiktoken.get_encoding('cl100k_base')" + # Download NLTK data RUN python -c "import nltk; nltk.download(['punkt_tab','averaged_perceptron_tagger_eng'], download_dir='/usr/local/nltk_data')" ENV NLTK_DATA=/usr/local/nltk_data From a2e57f3d96670c90f79764caa92eef8a676e0f2e Mon Sep 17 00:00:00 2001 From: hhhhsc <1710496817@qq.com> Date: Tue, 25 Aug 2026 11:41:51 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E9=A2=84=E5=88=B6tiktoken?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/images/backend-python/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/images/backend-python/Dockerfile b/scripts/images/backend-python/Dockerfile index e06b808bc..7819f92cc 100644 --- a/scripts/images/backend-python/Dockerfile +++ b/scripts/images/backend-python/Dockerfile @@ -52,7 +52,7 @@ RUN --mount=type=cache,target=$POETRY_CACHE_DIR \ # Preload the tokenizer vocabulary so knowledge-base operations work offline. RUN mkdir -p "$TIKTOKEN_CACHE_DIR" \ - && python -c "import tiktoken; tiktoken.get_encoding('cl100k_base')" + && python -c "import tiktoken; [tiktoken.get_encoding(name) for name in ('cl100k_base', 'o200k_base')]" # Download NLTK data RUN python -c "import nltk; nltk.download(['punkt_tab','averaged_perceptron_tagger_eng'], download_dir='/usr/local/nltk_data')"