From e6f1500cfedef01d6b33329be61f2b8b53dcc365 Mon Sep 17 00:00:00 2001 From: Byron Wang Date: Thu, 13 Nov 2025 14:38:21 +0800 Subject: [PATCH] move stopword data package from code to Dockerfile --- api/Dockerfile | 4 ++-- api/core/rag/datasource/vdb/oracle/oraclevector.py | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/api/Dockerfile b/api/Dockerfile index 9f6369718b..aba4f31925 100644 --- a/api/Dockerfile +++ b/api/Dockerfile @@ -73,7 +73,7 @@ COPY --from=packages ${VIRTUAL_ENV} ${VIRTUAL_ENV} ENV PATH="${VIRTUAL_ENV}/bin:${PATH}" # Download nltk data -RUN mkdir -p /usr/local/share/nltk_data && NLTK_DATA=/usr/local/share/nltk_data python -c "import nltk; nltk.download('punkt'); nltk.download('averaged_perceptron_tagger')" \ +RUN mkdir -p /usr/local/share/nltk_data && NLTK_DATA=/usr/local/share/nltk_data python -c "import nltk; nltk.download('punkt'); nltk.download('averaged_perceptron_tagger'); nltk.download('stopwords')" \ && chmod -R 755 /usr/local/share/nltk_data ENV TIKTOKEN_CACHE_DIR=/app/api/.tiktoken_cache @@ -95,7 +95,7 @@ RUN groupadd -r -g 1001 dify && \ ARG COMMIT_SHA ENV COMMIT_SHA=${COMMIT_SHA} - +ENV NLTK_DATA=/usr/local/share/nltk_data USER 1001 ENTRYPOINT ["/bin/bash", "/entrypoint.sh"] diff --git a/api/core/rag/datasource/vdb/oracle/oraclevector.py b/api/core/rag/datasource/vdb/oracle/oraclevector.py index d289cde9e4..d82ab89a34 100644 --- a/api/core/rag/datasource/vdb/oracle/oraclevector.py +++ b/api/core/rag/datasource/vdb/oracle/oraclevector.py @@ -302,8 +302,7 @@ class OracleVector(BaseVector): nltk.data.find("tokenizers/punkt") nltk.data.find("corpora/stopwords") except LookupError: - nltk.download("punkt") - nltk.download("stopwords") + raise LookupError("Unable to find the required NLTK data package: punkt and stopwords") e_str = re.sub(r"[^\w ]", "", query) all_tokens = nltk.word_tokenize(e_str) stop_words = stopwords.words("english")