ErzhanAb commited on
Commit
a61060c
·
verified ·
1 Parent(s): 0f016d8

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +4 -17
app.py CHANGED
@@ -46,10 +46,6 @@ except Exception as e:
46
  # 3) ИНФЕРЕНС (без изменений)
47
  # ==============================
48
  def infer(comment: str, threshold: float):
49
- """
50
- Основная логика, возвращает (вердикт, распределение).
51
- Функционал не меняется.
52
- """
53
  text = (comment or "").strip()
54
  if not text:
55
  return "—", {"Токсичный": 0.0, "Не токсичный": 1.0}
@@ -69,34 +65,26 @@ def infer(comment: str, threshold: float):
69
  return verdict, dist
70
 
71
  # ==============================
72
- # 4) ФУНКЦИИ-ОБЁРТКИ ДЛЯ UI (ИЗМЕНЕНО)
73
  # ==============================
74
-
75
  def predict_for_ui(comment: str, threshold: float):
76
- """
77
- Вызывает infer, но возвращает только распределение,
78
- так как блок "Вердикт" убран.
79
- """
80
  verdict, dist = infer(comment, threshold)
81
  return dist
82
 
83
  def clear_all():
84
- """Сброс полей UI к дефолту (без поля 'вердикт')."""
85
  return "", DEFAULT_THRESHOLD, {"Токсичный": 0.0, "Не токсичный": 1.0}
86
 
87
  # ==============================
88
- # 5) UI (ПОЛНОСТЬЮ ПЕРЕРАБОТАНО)
89
  # ==============================
90
  TITLE = "Анализатор токсичности комментариев"
91
  DESCRIPTION = "Модель на базе `ruBERT-tiny2` для определения токсичности в русскоязычном тексте."
92
 
93
- # Убрали лишний CSS, так как тема Default справляется сама
94
  CUSTOM_CSS = """
95
  @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap');
96
  :root { --font: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif; }
97
  """
98
 
99
- # Используем gr.themes.Default для идеальной адаптации к светлой/тёмной теме
100
  with gr.Blocks(theme=gr.themes.Default(), css=CUSTOM_CSS) as demo:
101
  gr.Markdown(f"<div style='text-align: center;'><h1>{TITLE}</h1><p>{DESCRIPTION}</p></div>")
102
 
@@ -123,8 +111,8 @@ with gr.Blocks(theme=gr.themes.Default(), css=CUSTOM_CSS) as demo:
123
  value={"Токсичный": 0.0, "Не токсичный": 1.0},
124
  num_top_classes=2
125
  )
126
- # Блок модели" теперь всегда видим и оформлен в gr.Box
127
- with gr.Box():
128
  gr.Markdown(
129
  """
130
  ### О модели
@@ -135,7 +123,6 @@ with gr.Blocks(theme=gr.themes.Default(), css=CUSTOM_CSS) as demo:
135
  """
136
  )
137
 
138
- # Привязываем UI к функциям-обёрткам
139
  analyze_btn.click(predict_for_ui, [comment_input, thr], [result_label])
140
  comment_input.submit(predict_for_ui, [comment_input, thr], [result_label])
141
  clear_btn.click(clear_all, [], [comment_input, thr, result_label])
 
46
  # 3) ИНФЕРЕНС (без изменений)
47
  # ==============================
48
  def infer(comment: str, threshold: float):
 
 
 
 
49
  text = (comment or "").strip()
50
  if not text:
51
  return "—", {"Токсичный": 0.0, "Не токсичный": 1.0}
 
65
  return verdict, dist
66
 
67
  # ==============================
68
+ # 4) ФУНКЦИИ-ОБЁРТКИ ДЛЯ UI (без изменений)
69
  # ==============================
 
70
  def predict_for_ui(comment: str, threshold: float):
 
 
 
 
71
  verdict, dist = infer(comment, threshold)
72
  return dist
73
 
74
  def clear_all():
 
75
  return "", DEFAULT_THRESHOLD, {"Токсичный": 0.0, "Не токсичный": 1.0}
76
 
77
  # ==============================
78
+ # 5) UI (ИСПРАВЛЕНО)
79
  # ==============================
80
  TITLE = "Анализатор токсичности комментариев"
81
  DESCRIPTION = "Модель на базе `ruBERT-tiny2` для определения токсичности в русскоязычном тексте."
82
 
 
83
  CUSTOM_CSS = """
84
  @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap');
85
  :root { --font: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif; }
86
  """
87
 
 
88
  with gr.Blocks(theme=gr.themes.Default(), css=CUSTOM_CSS) as demo:
89
  gr.Markdown(f"<div style='text-align: center;'><h1>{TITLE}</h1><p>{DESCRIPTION}</p></div>")
90
 
 
111
  value={"Токсичный": 0.0, "Не токсичный": 1.0},
112
  num_top_classes=2
113
  )
114
+ # ИЗМЕНЕНИЕ: gr.Box() заменен на gr.Column(variant="panel") для совместимости
115
+ with gr.Column(variant="panel"):
116
  gr.Markdown(
117
  """
118
  ### О модели
 
123
  """
124
  )
125
 
 
126
  analyze_btn.click(predict_for_ui, [comment_input, thr], [result_label])
127
  comment_input.submit(predict_for_ui, [comment_input, thr], [result_label])
128
  clear_btn.click(clear_all, [], [comment_input, thr, result_label])