skillsync-cli / model /inference /sbert_inference.py
Mr-Haseeb786
Sanitized Production Build
56c7b6d
Raw
History Blame Contribute Delete
969 Bytes
from sentence_transformers import SentenceTransformer
from sklearn.metrics.pairwise import cosine_similarity
import numpy as np
import joblib
import logging
import os
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
def load_model(model_path):
try:
model = SentenceTransformer(model_path)
logger.info(f"Loaded SBERT model from {model_path}")
return model
except Exception as e:
logger.error(f"Error loading SBERT model: {e}")
return None
def calculate_similarity(model, text1, text2):
try:
embeddings = model.encode([text1, text2])
similarity = cosine_similarity([embeddings[0]], [embeddings[1]])[0][0]
return max(0, min(1, similarity)) * 100 # Convert to percentage
except Exception as e:
logger.error(f"SBERT similarity calculation error: {e}")
return 0.0
def get_job_embeddings(model, job_taxonomy):
return model.encode(job_taxonomy)