Shazaaly
Expose classify endpoint
273e7c2
raw
history blame
780 Bytes
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
from transformers import pipeline
app = FastAPI()
classifier = pipeline("text-classification", model="ShazaAly/suplyd-intent-classifier")
class IntentRequest(BaseModel):
text: str
class IntentResponse(BaseModel):
label: str
confidence: float
@app.post("/classify", response_model=IntentResponse)
def classify_intent(req: IntentRequest):
if not req.text.strip():
return {"label": "غير ذلك", "confidence": 1.0}
try:
results = classifier(req.text)
top = results[0]
return {
"label": top["label"],
"confidence": top["score"]
}
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))