From 0a9e51c6d70c13d8c5d9dc9d8424faadd46a5c6b Mon Sep 17 00:00:00 2001 From: mart-r Date: Tue, 28 Oct 2025 10:44:52 +0000 Subject: [PATCH 1/3] CU-869azbdfh: Avoid running the container without a loaded model --- medcat-demo-app/webapp/demo/views.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/medcat-demo-app/webapp/demo/views.py b/medcat-demo-app/webapp/demo/views.py index bc859afc..700e249f 100644 --- a/medcat-demo-app/webapp/demo/views.py +++ b/medcat-demo-app/webapp/demo/views.py @@ -10,8 +10,6 @@ from wsgiref.util import FileWrapper from medcat import __version__ as medcat_version from medcat.cat import CAT -from medcat.cdb import CDB -from medcat.vocab import Vocab from urllib.request import urlretrieve, urlopen from urllib.error import HTTPError #from medcat.meta_cat import MetaCAT @@ -29,10 +27,7 @@ model_pack_path = os.getenv('MODEL_PACK_PATH', 'models/medmen_wstatus_2021_oct.zip') -try: - cat = CAT.load_model_pack(model_pack_path) -except Exception as e: - print(str(e)) +cat = CAT.load_model_pack(model_pack_path) TPL_ENT = """ {text} {label}""" From 644b523db7a7f35a10e66173a0603f6844fe6fba Mon Sep 17 00:00:00 2001 From: mart-r Date: Tue, 28 Oct 2025 10:46:46 +0000 Subject: [PATCH 2/3] CU-869azbdfh: Remove unused env variables --- medcat-demo-app/webapp/Dockerfile | 7 ------- 1 file changed, 7 deletions(-) diff --git a/medcat-demo-app/webapp/Dockerfile b/medcat-demo-app/webapp/Dockerfile index 8c8cc552..4ce1c9ec 100644 --- a/medcat-demo-app/webapp/Dockerfile +++ b/medcat-demo-app/webapp/Dockerfile @@ -55,13 +55,6 @@ COPY --from=build /webapp /webapp # Copy Python site-packages (installed by pip) from build stage COPY --from=build /usr/local/lib/python3.12/site-packages /usr/local/lib/python3.12/site-packages -# Set environment variables -ENV VOCAB_URL=https://medcat.rosalind.kcl.ac.uk/media/vocab.dat -ENV CDB_URL=https://medcat.rosalind.kcl.ac.uk/media/cdb-medmen-v1.dat - -ENV CDB_PATH=/webapp/models/cdb.dat -ENV VOCAB_PATH=/webapp/models/vocab.dat - # Set the pythonpath WORKDIR /webapp From adb00ae9fee9c62ed221940bded387b68cf201cf Mon Sep 17 00:00:00 2001 From: mart-r Date: Tue, 28 Oct 2025 10:58:42 +0000 Subject: [PATCH 3/3] CU-869azbdfh: Avoid loading model pack at module import --- medcat-demo-app/webapp/demo/views.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/medcat-demo-app/webapp/demo/views.py b/medcat-demo-app/webapp/demo/views.py index 700e249f..5b663eab 100644 --- a/medcat-demo-app/webapp/demo/views.py +++ b/medcat-demo-app/webapp/demo/views.py @@ -15,6 +15,7 @@ #from medcat.meta_cat import MetaCAT from .models import * from .forms import DownloaderForm, UMLSApiKeyForm +from functools import lru_cache AUTH_CALLBACK_SERVICE = 'https://medcat.rosalind.kcl.ac.uk/auth-callback' VALIDATION_BASE_URL = 'https://uts-ws.nlm.nih.gov/rest/isValidServiceValidate' @@ -27,7 +28,10 @@ model_pack_path = os.getenv('MODEL_PACK_PATH', 'models/medmen_wstatus_2021_oct.zip') -cat = CAT.load_model_pack(model_pack_path) + +@lru_cache +def get_model_pack(): + return CAT.load_model_pack(model_pack_path) TPL_ENT = """ {text} {label}""" @@ -75,6 +79,7 @@ def fix_floats(in_dict: dict) -> dict: def get_html_and_json(text): + cat = get_model_pack() doc = cat(text) a = {