Spaces:
Running on Zero
Running on Zero
File size: 540 Bytes
ebc3bf5 c4cbe0b ebc3bf5 c4cbe0b ebc3bf5 39003c5 ebc3bf5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | import numpy as np
from models.model_loader import get_embedder
try:
import spaces
_gpu = spaces.GPU
except ImportError:
_gpu = lambda fn: fn # no-op when running locally without the spaces package
@_gpu
def semantic_score(original: str, compressed: str) -> float:
embedder = get_embedder()
vecs = embedder.encode([original, compressed], convert_to_numpy=True)
cos = float(
np.dot(vecs[0], vecs[1]) / (np.linalg.norm(vecs[0]) * np.linalg.norm(vecs[1]))
)
return round(max(0.0, min(1.0, cos)), 4)
|