File size: 621 Bytes
573502b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
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
|