Yermek68 commited on
Commit
048caf2
·
verified ·
1 Parent(s): 7966fd3

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -13
app.py CHANGED
@@ -3,8 +3,9 @@ from transformers import pipeline
3
  from fastapi import FastAPI
4
  from summarizer import summarize_via_hf
5
  from fastapi.middleware.cors import CORSMiddleware
 
6
 
7
- # 1. Модель суммаризации
8
  summarizer = None
9
 
10
  def summarize_text(text: str):
@@ -16,7 +17,7 @@ def summarize_text(text: str):
16
  return result[0]["summary_text"]
17
 
18
  # 2. FastAPI-приложение (для REST API)
19
- app = FastAPI()
20
  app.add_middleware(
21
  CORSMiddleware,
22
  allow_origins=["*"],
@@ -26,10 +27,20 @@ app.add_middleware(
26
 
27
  @app.post("/api/summarize")
28
  async def summarize_api(data: dict):
29
- """REST API для суммаризации"""
30
  text = data.get("text", "")
31
  return {"summary": summarize_text(text)}
32
 
 
 
 
 
 
 
 
 
 
 
33
  # 3. Gradio интерфейс (веб-интерфейс)
34
  iface = gr.Interface(
35
  fn=summarize_text,
@@ -39,16 +50,11 @@ iface = gr.Interface(
39
  description="AI-инструмент для анализа и суммаризации текста (рус/англ)."
40
  )
41
 
42
- # 4. Запуск сервера (чтобы контейнер Hugging Face не завершался)
43
  if __name__ == "__main__":
 
44
  iface.launch(server_name="0.0.0.0", server_port=7860, share=False)
 
 
 
45
 
46
- @app.post("/pipeline/analyze_text")
47
- async def analyze_text(data: dict):
48
- """
49
- Этот endpoint принимает текст от пользователя
50
- и возвращает краткое резюме через Eroha Summarizer PRO.
51
- """
52
- text = data.get("text", "")
53
- summary = summarize_via_hf(text)
54
- return {"summary": summary}
 
3
  from fastapi import FastAPI
4
  from summarizer import summarize_via_hf
5
  from fastapi.middleware.cors import CORSMiddleware
6
+ import os
7
 
8
+ # 1. Модель суммаризации (ленивая загрузка)
9
  summarizer = None
10
 
11
  def summarize_text(text: str):
 
17
  return result[0]["summary_text"]
18
 
19
  # 2. FastAPI-приложение (для REST API)
20
+ app = FastAPI(title="Eroha Summarizer PRO")
21
  app.add_middleware(
22
  CORSMiddleware,
23
  allow_origins=["*"],
 
27
 
28
  @app.post("/api/summarize")
29
  async def summarize_api(data: dict):
30
+ """REST API для локальной суммаризации"""
31
  text = data.get("text", "")
32
  return {"summary": summarize_text(text)}
33
 
34
+ @app.post("/pipeline/analyze_text")
35
+ async def analyze_text(data: dict):
36
+ """
37
+ Этот endpoint принимает текст от пользователя
38
+ и возвращает краткое резюме через Eroha Summarizer PRO.
39
+ """
40
+ text = data.get("text", "")
41
+ summary = summarize_via_hf(text)
42
+ return {"summary": summary}
43
+
44
  # 3. Gradio интерфейс (веб-интерфейс)
45
  iface = gr.Interface(
46
  fn=summarize_text,
 
50
  description="AI-инструмент для анализа и суммаризации текста (рус/англ)."
51
  )
52
 
53
+ # 4. Автоматический выбор режима
54
  if __name__ == "__main__":
55
+ # Если запущено вручную — Gradio
56
  iface.launch(server_name="0.0.0.0", server_port=7860, share=False)
57
+ else:
58
+ # Если внутри контейнера Hugging Face — FastAPI
59
+ app
60