Yermek68 commited on
Commit
067221c
·
verified ·
1 Parent(s): 05039dd

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +8 -17
app.py CHANGED
@@ -1,36 +1,27 @@
1
  import gradio as gr
2
- from fastapi import FastAPI
3
  from transformers import pipeline
4
- from gradio.routes import mount_gradio_app
5
 
6
- # 1. Инициализация FastAPI-приложения
7
- app = FastAPI(title="Eroha Summarizer PRO", version="3.7")
8
-
9
- # 2. Ленивая загрузка модели (ускоряет запуск)
10
  summarizer = None
11
 
12
  def summarize_text(text: str):
 
13
  global summarizer
14
  if summarizer is None:
15
  summarizer = pipeline("summarization", model="facebook/bart-large-cnn")
16
  result = summarizer(text, max_length=180, min_length=50, do_sample=False)
17
  return result[0]["summary_text"]
18
 
19
- # 3. Gradio интерфейс
20
  iface = gr.Interface(
21
  fn=summarize_text,
22
  inputs=gr.Textbox(lines=10, label="Введите текст для суммаризации"),
23
  outputs=gr.Textbox(label="Результат"),
24
  title="Eroha Summarizer PRO",
25
- description="AI-инструмент для автоматической суммаризации текста."
26
  )
27
 
28
- # 4. Интеграция Gradio в FastAPI (чтобы не завершался контейнер)
29
- app = mount_gradio_app(app, iface, path="/")
30
-
31
- # 5. Стандартный эндпоинт для API-запросов
32
- @app.post("/api/summarize")
33
- async def summarize_api(request: dict):
34
- text = request.get("text", "")
35
- summary = summarize_text(text)
36
- return {"summary": summary}
 
1
  import gradio as gr
 
2
  from transformers import pipeline
 
3
 
4
+ # 1. Ленивое подключение модели (ускоряет старт)
 
 
 
5
  summarizer = None
6
 
7
  def summarize_text(text: str):
8
+ """Функция для суммаризации текста"""
9
  global summarizer
10
  if summarizer is None:
11
  summarizer = pipeline("summarization", model="facebook/bart-large-cnn")
12
  result = summarizer(text, max_length=180, min_length=50, do_sample=False)
13
  return result[0]["summary_text"]
14
 
15
+ # 2. Создаём Gradio интерфейс
16
  iface = gr.Interface(
17
  fn=summarize_text,
18
  inputs=gr.Textbox(lines=10, label="Введите текст для суммаризации"),
19
  outputs=gr.Textbox(label="Результат"),
20
  title="Eroha Summarizer PRO",
21
+ description="AI-инструмент для анализа и суммаризации текста (рус/англ)."
22
  )
23
 
24
+ # 3. Главная часть удерживаем процесс живым
25
+ if __name__ == "__main__":
26
+ # Важно: server_name="0.0.0.0", чтобы Hugging Face смог подключиться
27
+ iface.launch(server_name="0.0.0.0", server_port=7860, share=False, show_api=True)