From 74809305aea81efd3e7b0178fe636a7d85781262 Mon Sep 17 00:00:00 2001 From: Fam Zheng Date: Tue, 27 Jan 2026 22:34:08 +0000 Subject: [PATCH] ai: cache model --- emblem5/ai/server.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/emblem5/ai/server.py b/emblem5/ai/server.py index 676039e..4ec24cf 100755 --- a/emblem5/ai/server.py +++ b/emblem5/ai/server.py @@ -28,6 +28,9 @@ scans_dir = os.path.join(data_dir, 'scans') os.makedirs(local_model_dir, exist_ok=True) +# Cache for loaded models to avoid reloading on every request +_model_cache = {} + def get_file_md5(fname): return hashlib.md5(open(fname, 'rb').read()).hexdigest() @@ -85,7 +88,10 @@ def do_qr_verify(): fd = flask.request.form model_name = fd.get('model', default_model) model_path, model_md5 = download_model(model_name) - model, transforms = load_model(model_path) + # Cache models by path to avoid reloading on every request + if model_path not in _model_cache: + _model_cache[model_path] = load_model(model_path) + model, transforms = _model_cache[model_path] frame_image, clarities = find_best_frame(flask.request.files) frame_qrcode, _ = extract_qr(frame_image)