mirror of
https://github.com/Dispatcharr/Dispatcharr.git
synced 2026-01-23 10:45:27 +00:00
27 lines
1.1 KiB
Python
27 lines
1.1 KiB
Python
from django.apps import AppConfig
|
|
from django.conf import settings
|
|
import os, logging
|
|
|
|
logger = logging.getLogger(__name__)
|
|
st_model = None
|
|
|
|
class CoreConfig(AppConfig):
|
|
default_auto_field = 'django.db.models.BigAutoField'
|
|
name = 'core'
|
|
|
|
def ready(self):
|
|
global st_model
|
|
from sentence_transformers import SentenceTransformer
|
|
|
|
# Load the sentence-transformers model once at the module level
|
|
SENTENCE_MODEL_NAME = "sentence-transformers/all-MiniLM-L6-v2"
|
|
MODEL_PATH = os.path.join(settings.MEDIA_ROOT, "models", "all-MiniLM-L6-v2")
|
|
os.makedirs(MODEL_PATH, exist_ok=True)
|
|
|
|
# If not present locally, download:
|
|
if not os.path.exists(os.path.join(MODEL_PATH, "config.json")):
|
|
logger.info(f"Local model not found in {MODEL_PATH}; downloading from {SENTENCE_MODEL_NAME}...")
|
|
st_model = SentenceTransformer(SENTENCE_MODEL_NAME, cache_folder=MODEL_PATH)
|
|
else:
|
|
logger.info(f"Loading local model from {MODEL_PATH}")
|
|
st_model = SentenceTransformer(MODEL_PATH)
|