mindnet/app/embeddings.py
Lars 7d4fb88b4c
All checks were successful
Deploy mindnet to llm-node / deploy (push) Successful in 3s
app/embeddings.py aktualisiert
2025-09-02 17:04:24 +02:00

24 lines
627 B
Python

"""
Version 0.1
"""
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]