from sentence_transformers import SentenceTransformer from PIL import Image _model = None def _get_model(): global _model if _model is None: _model = SentenceTransformer("clip-ViT-B-32") return _model def embed_image(path: str) -> list[float]: img = Image.open(path).convert("RGB") return _get_model().encode(img).tolist() def embed_text(text: str) -> list[float]: return _get_model().encode(text).tolist()