File size: 1,270 Bytes
911d300
 
 
 
 
 
 
40b1f16
 
 
 
911d300
40b1f16
5cb9852
 
 
 
 
a07193f
911d300
 
 
 
 
78cb0b1
911d300
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
from fastapi import FastAPI
import models
from schema import Prediction
from sentence_transformers import  util

app = FastAPI()

@app.get("/")
def home_page():
    return {"Home": "Welcome to prediction hub"}

@app.get("/embeddings")
def display_embedding(message : str = "Hello guys enter a text to get embeddings"):
    try:
        embedding = models.get_embedding(message)
        dimension = len(embedding)
        return {"Dimension" : {dimension : embedding.tolist()}}
    except Exception as e:
        return {f"Unable to fetch the embeddings. Error :{e}" }

@app.post("/prediction")
def display_prediction(prediction : Prediction):
    message = prediction.message
    embedding = models.get_embedding([message])
    loaded_model = models.load_model('log_reg_model.pkl')
    result = loaded_model.predict(embedding).tolist()
    return {"Prediction": f"{message} is a {result}"}

@app.post("/cosine_similarity")
def display_cosine_similarity(prediction : Prediction):
    message = prediction.message
    message_1 = prediction.message_1
    embendding = models.get_embedding([message,message_1])
    similarity = util.cos_sim(embendding[0], embendding[1]).item()
    return {f"Cosine Similarity between {message}  and {message_1} is" : round(similarity, 4)}