from sentence_transformers import SentenceTransformer _embedder = None def get_embedder(): global _embedder if _embedder is None: _embedder = SentenceTransformer('clip-ViT-B-32') return _embedder def get_image_embedding(image_bytes): from PIL import Image import io img = Image.open(io.BytesIO(image_bytes)).convert('RGB') embedder = get_embedder() embedding = embedder.encode(img, convert_to_numpy=True) return embedding.tolist()