Spaces:
Sleeping
Sleeping
File size: 1,026 Bytes
d2820d0 | 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 37 | from fastapi import FastAPI
from pydantic import BaseModel
import os
import torch
from transformers import BartTokenizer, BartForSequenceClassification, pipeline
app = FastAPI()
tokens = os.getenv("HF_TOKEN")
model_name = "iconcube/BART-large_classifier"
classifier_tokenizer = BartTokenizer.from_pretrained(model_name)
classifier_model = BartForSequenceClassification.from_pretrained(model_name)
classifier = pipeline(
"text-classification",
model=classifier_model,
tokenizer=classifier_tokenizer,
token=tokens
)
class RequestText(BaseModel):
text: str
class ResponseLabel(BaseModel):
label: str
@app.post("/predict", response_model=ResponseLabel)
async def predict(request: RequestText):
result = classifier(request.text)[0]
label = result["label"]
if label == "LABEL_0":
message = "safe_response"
elif label == "LABEL_1":
message = "unsafe_response"
else:
message = "error"
return ResponseLabel(label=message) |