File size: 1,282 Bytes
877a8c0 a0af9d5 ed1f32e a0af9d5 877a8c0 ed1f32e 877a8c0 ed1f32e 877a8c0 ed1f32e a0af9d5 ed1f32e a0af9d5 ed1f32e a0af9d5 ed1f32e a0af9d5 ed1f32e a0af9d5 ed1f32e a0af9d5 ed1f32e |
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 |
# app/main.py
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
from services.sms_service import predict_label, compute_cosine_similarity, compute_embeddings
app = FastAPI()
# π 1οΈβ£ Homepage Endpoint
@app.get("/")
async def home():
return {"message": "Welcome to SMS Classification API"}
# π’ 2οΈβ£ Cosine Similarity Endpoint
@app.post("/cosine_similarity")
async def get_cosine_similarity(input_data: BaseModel):
try:
return await compute_cosine_similarity(input_data.text1, input_data.text2)
except Exception as e:
raise HTTPException(status_code=500, detail=f"Error computing similarity: {str(e)}")
# π© 3οΈβ£ SMS Classification Endpoint
@app.post("/predict_label")
async def classify_message(input_data: BaseModel):
try:
return await predict_label(input_data.message)
except Exception as e:
raise HTTPException(status_code=500, detail=f"Error predicting label: {str(e)}")
# π 4οΈβ£ Text Embedding Endpoint
@app.post("/compute_embeddings")
async def get_embeddings(input_data: BaseModel):
try:
return await compute_embeddings(input_data.message)
except Exception as e:
raise HTTPException(status_code=500, detail=f"Error computing embeddings: {str(e)}")
|