Den4ikAI commited on
Commit
56670e1
·
verified ·
1 Parent(s): 0c810f3

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +38 -0
app.py ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from transformers import AutoTokenizer, AutoModelForSequenceClassification
3
+ import torch
4
+
5
+ model_path = "RUSpam/spam_deberta_v4"
6
+ tokenizer = AutoTokenizer.from_pretrained(model_path)
7
+ model = AutoModelForSequenceClassification.from_pretrained(model_path)
8
+
9
+ def predict_spam(text):
10
+ inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=256)
11
+ with torch.no_grad():
12
+ outputs = model(**inputs)
13
+ logits = outputs.logits
14
+ probabilities = torch.softmax(logits, dim=1)
15
+ predicted_class = torch.argmax(logits, dim=1).item()
16
+
17
+ spam_probability = probabilities[0][1].item()
18
+ not_spam_probability = probabilities[0][0].item()
19
+
20
+ result = "Спам" if predicted_class == 1 else "Не спам"
21
+
22
+ return {
23
+ "Результат": result,
24
+ "Вероятность спама": f"{spam_probability:.2%}"
25
+ }
26
+
27
+ # Создание интерфейса Gradio
28
+ iface = gr.Interface(
29
+ fn=predict_spam,
30
+ inputs=gr.Textbox(lines=5, label="Введите текст"),
31
+ outputs=[
32
+ gr.Label(label="Результат"),
33
+ gr.Label(label="Вероятность спама")
34
+ ],
35
+ title="Определение спама в русскоязычных текстах"
36
+ )
37
+
38
+ iface.launch()