Spaces:
Sleeping
Sleeping
from fastapi import FastAPI | |
from pydantic import BaseModel | |
from transformers import pipeline | |
from typing import List | |
app = FastAPI( | |
title = "Hate Speech Detection API", | |
description = "A simple API to classify text using the unitary/toxic-bert model.", | |
version = "1.0.0" | |
) | |
classifier= pipeline("text-classification" , model="unitary/toxic-bert", tokenizer="unitary/toxic-bert", device=-1) | |
#writing pydantic models | |
class TextInput(BaseModel): | |
text: str | |
def get_root(): | |
return {"message": "Welcome to the Hate Speech Detection API!"} | |
def predict_toxicity(input: TextInput): | |
classifier_result = classifier(input.text) | |
prediction=list(classifier_result)[0] | |
final_prediction = {} | |
if prediction['score']>0.5: | |
final_prediction['label']='Toxic' | |
final_prediction['non-toxic-score']=1-prediction['score'] | |
final_prediction['toxic-score']=prediction['score'] | |
else: | |
final_prediction['label']='Non-Toxic' | |
final_prediction['non-toxic-score']=1- prediction['score'] | |
final_prediction['toxic-score']=prediction['score'] | |
return final_prediction | |