All checks were successful
Deploy mindnet to llm-node / deploy (push) Successful in 2s
19 lines
605 B
Python
19 lines
605 B
Python
from __future__ import annotations
|
|
from typing import List
|
|
from functools import lru_cache
|
|
|
|
from .config import get_settings
|
|
|
|
@lru_cache
|
|
def _load_model():
|
|
from sentence_transformers import SentenceTransformer
|
|
settings = get_settings()
|
|
model = SentenceTransformer(settings.MODEL_NAME, device="cpu")
|
|
return model
|
|
|
|
def embed_texts(texts: List[str]) -> list[list[float]]:
|
|
model = _load_model()
|
|
texts = [t if isinstance(t, str) else str(t) for t in texts]
|
|
vecs = model.encode(texts, normalize_embeddings=True, convert_to_numpy=False)
|
|
return [list(map(float, v)) for v in vecs]
|