Yermek68 commited on
Commit
c4c9606
·
verified ·
1 Parent(s): 67f97e8

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +49 -6
app.py CHANGED
@@ -9,7 +9,8 @@ from transformers import pipeline
9
  from langdetect import detect
10
  from datetime import datetime
11
 
12
- # ============ Загрузка ядра и проверка модулей ============
 
13
  MODULES = [
14
  "Eroha_PromptCore.md",
15
  "Eroha_Dashboard.md",
@@ -19,7 +20,8 @@ MODULES = [
19
  AVAILABLE_MODULES = [m for m in MODULES if os.path.exists(m)]
20
  MISSING_MODULES = [m for m in MODULES if m not in AVAILABLE_MODULES]
21
 
22
- # ====== Проверка здоровья (Health Loader) ======
 
23
  def loader_health():
24
  table = []
25
  for mod in MODULES:
@@ -35,14 +37,15 @@ def loader_health():
35
  |---|---|
36
  {summary}
37
 
38
- **TL;DR:** {len(AVAILABLE_MODULES)} из {len(MODULES)} модулей активны.
39
  **Вывод:** {'Все работает корректно ✅' if not MISSING_MODULES else 'Есть отсутствующие модули ⚠️'}
40
  **Риски:** {', '.join(MISSING_MODULES) if MISSING_MODULES else '—'}
41
  **Рекомендации:** Проверь структуру проекта в Hugging Face (Files → Upload)
42
  trace_id: {trace_id}
43
  """
44
 
45
- # ====== Инициализация модели ======
 
46
  summarizers = {}
47
 
48
  def get_summarizer(lang: str):
@@ -58,6 +61,7 @@ def get_summarizer(lang: str):
58
 
59
  return summarizers[model_name]
60
 
 
61
  def summarize_text(text: str):
62
  if not text.strip():
63
  return "❌ Введите текст для анализа."
@@ -82,8 +86,7 @@ def summarize_text(text: str):
82
  "publisher": {"@type": "Organization", "name": "Eroha AI Publisher"},
83
  }
84
 
85
- formatted = f"""
86
- # 🧠 Eroha Summarizer PRO v2.5 (AutoLang: {lang.upper()})
87
  **Дата:** {now}
88
 
89
  ## 📘 Резюме
@@ -94,3 +97,43 @@ def summarize_text(text: str):
94
  ## 🧩 Schema.org JSON-LD
95
  ```json
96
  {json.dumps(json_ld, ensure_ascii=False, indent=2)}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  from langdetect import detect
10
  from datetime import datetime
11
 
12
+
13
+ # ============ Проверка наличия модулей ============
14
  MODULES = [
15
  "Eroha_PromptCore.md",
16
  "Eroha_Dashboard.md",
 
20
  AVAILABLE_MODULES = [m for m in MODULES if os.path.exists(m)]
21
  MISSING_MODULES = [m for m in MODULES if m not in AVAILABLE_MODULES]
22
 
23
+
24
+ # ============ Проверка загрузчика ============
25
  def loader_health():
26
  table = []
27
  for mod in MODULES:
 
37
  |---|---|
38
  {summary}
39
 
40
+ **TL;DR:** {len(AVAILABLE_MODULES)} из {len(MODULES)} активны.
41
  **Вывод:** {'Все работает корректно ✅' if not MISSING_MODULES else 'Есть отсутствующие модули ⚠️'}
42
  **Риски:** {', '.join(MISSING_MODULES) if MISSING_MODULES else '—'}
43
  **Рекомендации:** Проверь структуру проекта в Hugging Face (Files → Upload)
44
  trace_id: {trace_id}
45
  """
46
 
47
+
48
+ # ============ Модель суммаризации ============
49
  summarizers = {}
50
 
51
  def get_summarizer(lang: str):
 
61
 
62
  return summarizers[model_name]
63
 
64
+
65
  def summarize_text(text: str):
66
  if not text.strip():
67
  return "❌ Введите текст для анализа."
 
86
  "publisher": {"@type": "Organization", "name": "Eroha AI Publisher"},
87
  }
88
 
89
+ formatted = f"""# 🧠 Eroha Summarizer PRO v2.5 (AutoLang: {lang.upper()})
 
90
  **Дата:** {now}
91
 
92
  ## 📘 Резюме
 
97
  ## 🧩 Schema.org JSON-LD
98
  ```json
99
  {json.dumps(json_ld, ensure_ascii=False, indent=2)}
100
+
101
+ TL;DR: {summary[:140]}{'...' if len(summary) > 140 else ''}
102
+ """
103
+ return formatted
104
+
105
+ # ============ FastAPI API ============
106
+
107
+ app = FastAPI(title="Eroha Summarizer PRO v2.5")
108
+
109
+ app.add_middleware(
110
+ CORSMiddleware,
111
+ allow_origins=["*"],
112
+ allow_methods=["*"],
113
+ allow_headers=["*"]
114
+ )
115
+
116
+ @app.get("/")
117
+ async def home():
118
+ return {"status": "ok", "message": "Eroha Core PRO v2.5 active"}
119
+
120
+ @app.post("/api/summarize")
121
+ async def summarize_api(data: dict):
122
+ return {"summary": summarize_text(data.get("text", ""))}
123
+
124
+ @app.get("/api/core-checkup")
125
+ async def core_checkup():
126
+ return {"report": loader_health()}
127
+
128
+ # ============ Gradio интерфейс ============
129
+
130
+ iface = gr.Interface(
131
+ fn=summarize_text,
132
+ inputs=gr.Textbox(lines=10, label="Введите текст для анализа"),
133
+ outputs=gr.Markdown(label="Результат"),
134
+ title="Eroha Summarizer PRO v2.5 — Publisher Edition",
135
+ description="AI-инструмент для суммаризации, автоопределения языка (RU, EN, KZ, DE, ES, FR) и SEO-разметки (JSON-LD)"
136
+ )
137
+
138
+ if __name__ == "__main__":
139
+ iface.launch(server_name="0.0.0.0", server_port=7860)