File size: 1,120 Bytes
36b8f27 118e098 962579e 36b8f27 80d83c0 526e201 93dfcec e702a33 16d93a1 57bb8a9 36b8f27 16d93a1 36b8f27 16d93a1 57bb8a9 16d93a1 31f1ac4 57bb8a9 0474c84 31f1ac4 16d93a1 |
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 |
import torch
import os
import streamlit as st
from transformers import AutoTokenizer, AutoModelForSequenceClassification
os.environ["TRANSFORMERS_CACHE"] = "/app/.cache/huggingface"
os.environ["HF_HOME"] = "/app/.cache/huggingface"
os.environ["TORCH_HOME"] = "/app/.cache/torch"
hf_token = os.getenv("HateSpeechMujtabatoken")
text_model = AutoModelForSequenceClassification.from_pretrained("GroNLP/hateBERT", token=hf_token)
tokenizer = AutoTokenizer.from_pretrained("GroNLP/hateBERT", token=hf_token)
def extract_text_features(text):
inputs = tokenizer(text, return_tensors="pt", truncation=True, padding=True)
outputs = text_model(**inputs)
predicted_class = outputs.logits.argmax(dim=1).item()
return "Hate Speech" if predicted_class >= 1 else "Not Hate Speech"
def predict(text_input):
if not text_input:
return "Please enter some text."
prediction = extract_text_features(text_input)
return f"Predicted: {prediction}"
st.title("Hate Speech Detector")
text_input = st.text_input("Enter text:")
if st.button("Predict"):
result = predict(text_input)
st.success(result)
|