Spaces:
Runtime error
Runtime error
File size: 1,343 Bytes
1aa4489 bd08cec 1aa4489 daacc73 1aa4489 daacc73 1aa4489 |
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 |
from fastapi import FastAPI, HTTPException
from services.sms_service import predict_label, compute_cosine_similarity, get_embedding
from schemas.input_schemas import CosineSimilarityInput, MessageInput, EmbeddingInput
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: CosineSimilarityInput):
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: MessageInput):
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️⃣ Get Embedding from Sentence Transformer
@app.post("/get_embedding")
async def get_embedding(input_data: EmbeddingInput):
try:
return await get_embedding(input_data.message)
except Exception as e:
raise HTTPException(status_code=500, detail=f"Error computing embeddings: {str(e)}")
|