Spaces:
Runtime error
Runtime error
File size: 671 Bytes
1e8bb26 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | """Local embedding model wrapper (fastembed / ONNX — no torch dependency)."""
from __future__ import annotations
from functools import lru_cache
from typing import List
from .config import get_settings
@lru_cache
def _model():
from fastembed import TextEmbedding
settings = get_settings()
return TextEmbedding(model_name=settings.embedding_model)
def embed_texts(texts: List[str]) -> List[List[float]]:
if not texts:
return []
# fastembed returns numpy arrays (already L2-normalized for bge models).
return [v.tolist() for v in _model().embed(texts)]
def embed_query(text: str) -> List[float]:
return embed_texts([text])[0]
|