sim_fun / app.py
theoracle's picture
Create app.py
573502b verified
raw
history blame contribute delete
621 Bytes
from fastapi import FastAPI
from pydantic import BaseModel
from typing import List
from sentence_transformers import SentenceTransformer
from sklearn.metrics.pairwise import cosine_similarity
app = FastAPI()
model = SentenceTransformer("paraphrase-MiniLM-L3-v2")
class SimilarityRequest(BaseModel):
ideal_profile: str
text_blocks: List[str]
@app.post("/similarity")
def compute_similarity(req: SimilarityRequest):
profile_vec = model.encode(req.ideal_profile)
text_vecs = model.encode(req.text_blocks)
similarities = cosine_similarity([profile_vec], text_vecs)[0].tolist()
return similarities