NeuroSpaceX commited on
Commit
a9b4211
·
verified ·
1 Parent(s): b7a5d14

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -14
app.py CHANGED
@@ -5,7 +5,7 @@ import os
5
  import re
6
  import emoji
7
 
8
- MODEL_NAME = "NeuroSpaceX/ruSpamNS_test"
9
  TOKEN = os.getenv("HF_TOKEN")
10
 
11
  tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME, use_auth_token=TOKEN)
@@ -15,24 +15,19 @@ device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
15
  model.to(device)
16
 
17
  def clean_text(text):
18
- # Удаляем эмодзи
19
  text = emoji.replace_emoji(text, replace='')
20
-
21
- # Удаляем цифры и символы, кроме букв и пробела
22
  text = re.sub(r'[^a-zA-Zа-яА-ЯёЁ ]', '', text, flags=re.UNICODE)
23
-
24
- # Приводим текст в нижний регистр
25
  text = text.lower()
26
-
27
- # Делаем первую букву заглавной
28
  text = text.capitalize()
29
-
30
- # Убираем лишние пробелы
31
  text = re.sub(r'\s+', ' ', text).strip()
32
-
33
  return text
34
 
35
- def classify_text(text):
 
 
 
 
 
36
  message = clean_text(text)
37
  encoding = tokenizer(message, padding='max_length', truncation=True, max_length=128, return_tensors='pt')
38
  input_ids = encoding['input_ids'].to(device)
@@ -45,10 +40,13 @@ def classify_text(text):
45
 
46
  iface = gr.Interface(
47
  fn=classify_text,
48
- inputs=gr.Textbox(lines=3, placeholder="Введите текст..."),
 
 
 
49
  outputs="text",
50
  title="ruSpamNS - Проверка на спам",
51
  description="Введите текст, чтобы проверить, является ли он спамом."
52
  )
53
 
54
- iface.launch()
 
5
  import re
6
  import emoji
7
 
8
+ MODEL_NAME = "NeuroSpaceX/ruSpamNS"
9
  TOKEN = os.getenv("HF_TOKEN")
10
 
11
  tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME, use_auth_token=TOKEN)
 
15
  model.to(device)
16
 
17
  def clean_text(text):
 
18
  text = emoji.replace_emoji(text, replace='')
 
 
19
  text = re.sub(r'[^a-zA-Zа-яА-ЯёЁ ]', '', text, flags=re.UNICODE)
 
 
20
  text = text.lower()
 
 
21
  text = text.capitalize()
 
 
22
  text = re.sub(r'\s+', ' ', text).strip()
 
23
  return text
24
 
25
+ def classify_text(text, model_choice):
26
+ model_name = f"NeuroSpaceX/ruSpamNS_{model_choice}"
27
+ tokenizer = AutoTokenizer.from_pretrained(model_name, use_auth_token=TOKEN)
28
+ model = AutoModelForSequenceClassification.from_pretrained(model_name, use_auth_token=TOKEN)
29
+ model.to(device)
30
+
31
  message = clean_text(text)
32
  encoding = tokenizer(message, padding='max_length', truncation=True, max_length=128, return_tensors='pt')
33
  input_ids = encoding['input_ids'].to(device)
 
40
 
41
  iface = gr.Interface(
42
  fn=classify_text,
43
+ inputs=[
44
+ gr.Textbox(lines=3, placeholder="Введите текст..."),
45
+ gr.Radio(["small", "big"], label="Выберите модель")
46
+ ],
47
  outputs="text",
48
  title="ruSpamNS - Проверка на спам",
49
  description="Введите текст, чтобы проверить, является ли он спамом."
50
  )
51
 
52
+ iface.launch()