File size: 480 Bytes
6e02ff7
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
from sentence_transformers import SentenceTransformer

# Loaded once at module import time — never reloaded per request
model: SentenceTransformer = SentenceTransformer("all-MiniLM-L6-v2")


def encode_text(title: str, description: str = "") -> list[float]:
    """Encode a skill title + description into a 384-dim normalized vector."""
    text: str = f"{title} {description}".strip()
    embedding = model.encode(text, normalize_embeddings=True)
    return embedding.tolist()