Yermek68 commited on
Commit
a669d98
·
verified ·
1 Parent(s): 711b5b8

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -15
app.py CHANGED
@@ -7,10 +7,9 @@ from docx import Document
7
  from fpdf import FPDF
8
  from langdetect import detect
9
  import urllib.request
10
- import gradio.themes.base as base_theme
11
 
12
 
13
- # === 🗂️ Создание директорий и шрифта ===
14
  os.makedirs("/app/models", exist_ok=True)
15
  FONT_PATH = "DejaVuSans.ttf"
16
 
@@ -22,7 +21,7 @@ if not os.path.exists(FONT_PATH):
22
  )
23
 
24
 
25
- # === ⚙️ Загрузка моделей ===
26
  def load_model(task, model_name):
27
  print(f"🔹 Загружается модель: {model_name}")
28
  return pipeline(task, model=model_name, cache_dir="/app/models")
@@ -34,7 +33,7 @@ summarizers = {
34
  }
35
 
36
 
37
- # === 📄 Чтение документа ===
38
  def read_file(file):
39
  if not file:
40
  return ""
@@ -78,8 +77,8 @@ def summarize_text(text):
78
  model = summarizers.get(lang, summarizers["en"])
79
  flags = {"ru": "🇷🇺 Русский", "kz": "🇰🇿 Қазақ тілі", "en": "🇬🇧 English"}
80
  lang_label = flags.get(lang, "🌍 Unknown")
81
-
82
  model_label = model.model.name_or_path if hasattr(model.model, "name_or_path") else "Custom"
 
83
  chunk_size = 2500
84
  overlap = 200
85
  summaries = []
@@ -126,7 +125,7 @@ def save_summary_as_pdf(summary_text):
126
  return path
127
 
128
 
129
- # === 🚀 Главная функция ===
130
  def summarize_file(file):
131
  text = read_file(file)
132
  if text.startswith("⚠️"):
@@ -144,16 +143,13 @@ def summarize_file(file):
144
  return summary, lang_label, model_label, src_len, sum_len, compression, txt_path, docx_path, pdf_path
145
 
146
 
147
- # === 🎨 Интерфейс (Gradio 4.44+, без css/theme аргументов) ===
148
- theme = base_theme.Base().set(
149
- primary_hue="violet",
150
- neutral_hue="gray"
151
- )
 
152
 
153
- with gr.Blocks(theme=theme) as demo:
154
- gr.Markdown("## 🧠 Eroha Summarizer PRO (автономная версия)")
155
- gr.Markdown("🚀 Определяет язык (🇷🇺 / 🇰🇿 / 🇬🇧), создаёт краткое резюме и сохраняет в TXT, DOCX, PDF с поддержкой кириллицы.")
156
-
157
  file_input = gr.File(label="📂 Загрузите документ (.pdf, .docx, .txt)")
158
  run_btn = gr.Button("🔍 Сгенерировать резюме", variant="primary")
159
 
 
7
  from fpdf import FPDF
8
  from langdetect import detect
9
  import urllib.request
 
10
 
11
 
12
+ # === 🗂️ Инициализация ===
13
  os.makedirs("/app/models", exist_ok=True)
14
  FONT_PATH = "DejaVuSans.ttf"
15
 
 
21
  )
22
 
23
 
24
+ # === ⚙️ Модели ===
25
  def load_model(task, model_name):
26
  print(f"🔹 Загружается модель: {model_name}")
27
  return pipeline(task, model=model_name, cache_dir="/app/models")
 
33
  }
34
 
35
 
36
+ # === 📄 Чтение файлов ===
37
  def read_file(file):
38
  if not file:
39
  return ""
 
77
  model = summarizers.get(lang, summarizers["en"])
78
  flags = {"ru": "🇷🇺 Русский", "kz": "🇰🇿 Қазақ тілі", "en": "🇬🇧 English"}
79
  lang_label = flags.get(lang, "🌍 Unknown")
 
80
  model_label = model.model.name_or_path if hasattr(model.model, "name_or_path") else "Custom"
81
+
82
  chunk_size = 2500
83
  overlap = 200
84
  summaries = []
 
125
  return path
126
 
127
 
128
+ # === 🚀 Основная функция ===
129
  def summarize_file(file):
130
  text = read_file(file)
131
  if text.startswith("⚠️"):
 
143
  return summary, lang_label, model_label, src_len, sum_len, compression, txt_path, docx_path, pdf_path
144
 
145
 
146
+ # === 🧩 Интерфейс (универсальный для любых версий Gradio 4.4+) ===
147
+ with gr.Blocks() as demo:
148
+ gr.Markdown(
149
+ "<h2 style='text-align:center'>🧠 Eroha Summarizer PRO</h2>"
150
+ "<p style='text-align:center'>Определяет язык (🇷🇺 / 🇰🇿 / 🇬🇧), создаёт краткое резюме и сохраняет в TXT, DOCX, PDF</p>"
151
+ )
152
 
 
 
 
 
153
  file_input = gr.File(label="📂 Загрузите документ (.pdf, .docx, .txt)")
154
  run_btn = gr.Button("🔍 Сгенерировать резюме", variant="primary")
155