Spaces:
Sleeping
Sleeping
File size: 1,174 Bytes
1360c1b b210408 1360c1b c5999ac | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | """
Model Cache - Centralized lazy loading for expensive ML models.
"""
import os
import logging
logger = logging.getLogger(__name__)
# =============================================================================
# Cached Model Instances
# =============================================================================
_SPACY_MODEL = None
_KEYBERT_MODEL = None
_SUMMARIZER = None
def initialize_all_models():
"""Eagerly load all NLP models into memory."""
get_spacy()
def get_spacy():
"""
Lazy-load spaCy model once, reuse forever.
Returns:
Language: The loaded spaCy model
"""
global _SPACY_MODEL
if _SPACY_MODEL is None:
import spacy
logger.info("Loading spaCy model...")
try:
_SPACY_MODEL = spacy.load("en_core_web_md")
except OSError:
logger.warning("en_core_web_md not found. Attempting to download...")
import subprocess
subprocess.run(["python", "-m", "spacy", "download", "en_core_web_md"], check=True)
_SPACY_MODEL = spacy.load("en_core_web_md")
logger.info("spaCy model loaded successfully")
return _SPACY_MODEL
|