aspira-modern / model_cache.py
arnavam's picture
reduceed requireemnt file
9c2b7c3
Raw
History Blame Contribute Delete
1.17 kB
"""
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