PatrickRedStar commited on
Commit
c9f1035
·
1 Parent(s): c7ea746

Fix: Replace gr.JSON with gr.Code to fix TypeError with additionalProperties in Gradio 5.10.0

Browse files
Files changed (3) hide show
  1. app.py +17 -19
  2. requirements.txt +1 -2
  3. space_config.yaml +1 -1
app.py CHANGED
@@ -29,33 +29,31 @@ class LogAnalysisOrchestrator:
29
 
30
  Returns:
31
  Кортеж из трёх строк:
32
- - JSON с распарсенными логами
33
- - JSON с обнаруженными аномалиями
34
- - Markdown с рекомендациями
35
  """
36
  try:
37
  # Валидация входных данных
38
  if not raw_logs or not raw_logs.strip():
39
- empty_json = json.dumps({"error": "Логи не предоставлены"}, ensure_ascii=False, indent=2)
40
- return empty_json, empty_json, "# Ошибка\n\nЛоги не предоставлены для анализа."
41
 
42
  # Agent 1: Парсинг логов
43
  try:
44
  structured_data = self.parser_agent.parse(raw_logs)
45
  parsed_json = json.dumps(structured_data, ensure_ascii=False, indent=2)
46
  except Exception as e:
47
- error_msg = {"error": f"Ошибка парсинга логов: {str(e)}"}
48
- parsed_json = json.dumps(error_msg, ensure_ascii=False, indent=2)
49
- return parsed_json, parsed_json, f"# Ошибка\n\nОшибка на этапе парсинга: {str(e)}"
50
 
51
  # Agent 2: Обнаружение аномалий
52
  try:
53
  anomaly_report = self.anomaly_agent.detect(structured_data)
54
  anomalies_json = json.dumps(anomaly_report, ensure_ascii=False, indent=2)
55
  except Exception as e:
56
- error_msg = {"error": f"Ошибка обнаружения аномалий: {str(e)}"}
57
- anomalies_json = json.dumps(error_msg, ensure_ascii=False, indent=2)
58
- return parsed_json, anomalies_json, f"# Ошибка\n\nОшибка на этапе обнаружения аномалий: {str(e)}"
59
 
60
  # Agent 3: Анализ первопричин и рекомендации
61
  try:
@@ -139,13 +137,17 @@ def create_interface():
139
  with gr.Row():
140
  with gr.Tabs():
141
  with gr.Tab("📊 Распарсенные логи (JSON)"):
142
- parsed_output = gr.JSON(
143
- label="Структурированные данные"
 
 
144
  )
145
 
146
  with gr.Tab("⚠️ Обнаруженные аномалии (JSON)"):
147
- anomalies_output = gr.JSON(
148
- label="Отчёт об аномалиях"
 
 
149
  )
150
 
151
  with gr.Tab("💡 Анализ и рекомендации (Markdown)"):
@@ -223,8 +225,4 @@ demo = create_interface()
223
 
224
  # Запуск приложения
225
  if __name__ == "__main__":
226
- in_hf_space = bool(os.getenv("SPACE_ID") or os.getenv("HF_SPACE"))
227
- share_flag = False if in_hf_space else env_flag("GRADIO_SHARE", default=False)
228
- host = os.getenv("GRADIO_HOST") or os.getenv("GRADIO_SERVER_NAME") or "127.0.0.1"
229
- port = int(os.getenv("PORT") or os.getenv("GRADIO_SERVER_PORT") or 7860)
230
  demo.queue(api_open=False).launch()
 
29
 
30
  Returns:
31
  Кортеж из трёх строк:
32
+ - JSON строка с распарсенными логами (для gr.Code)
33
+ - JSON строка с обнаруженными аномалиями (для gr.Code)
34
+ - Markdown строка с рекомендациями (для gr.Markdown)
35
  """
36
  try:
37
  # Валидация входных данных
38
  if not raw_logs or not raw_logs.strip():
39
+ error_json = json.dumps({"error": "Логи не предоставлены"}, ensure_ascii=False, indent=2)
40
+ return error_json, error_json, "# Ошибка\n\nЛоги не предоставлены для анализа."
41
 
42
  # Agent 1: Парсинг логов
43
  try:
44
  structured_data = self.parser_agent.parse(raw_logs)
45
  parsed_json = json.dumps(structured_data, ensure_ascii=False, indent=2)
46
  except Exception as e:
47
+ error_json = json.dumps({"error": f"Ошибка парсинга логов: {str(e)}"}, ensure_ascii=False, indent=2)
48
+ return error_json, error_json, f"# Ошибка\n\nОшибка на этапе парсинга: {str(e)}"
 
49
 
50
  # Agent 2: Обнаружение аномалий
51
  try:
52
  anomaly_report = self.anomaly_agent.detect(structured_data)
53
  anomalies_json = json.dumps(anomaly_report, ensure_ascii=False, indent=2)
54
  except Exception as e:
55
+ error_json = json.dumps({"error": f"Ошибка обнаружения аномалий: {str(e)}"}, ensure_ascii=False, indent=2)
56
+ return parsed_json, error_json, f"# Ошибка\n\nОшибка на этапе обнаружения аномалий: {str(e)}"
 
57
 
58
  # Agent 3: Анализ первопричин и рекомендации
59
  try:
 
137
  with gr.Row():
138
  with gr.Tabs():
139
  with gr.Tab("📊 Распарсенные логи (JSON)"):
140
+ parsed_output = gr.Code(
141
+ label="Структурированные данные",
142
+ language="json",
143
+ lines=10
144
  )
145
 
146
  with gr.Tab("⚠️ Обнаруженные аномалии (JSON)"):
147
+ anomalies_output = gr.Code(
148
+ label="Отчёт об аномалиях",
149
+ language="json",
150
+ lines=10
151
  )
152
 
153
  with gr.Tab("💡 Анализ и рекомендации (Markdown)"):
 
225
 
226
  # Запуск приложения
227
  if __name__ == "__main__":
 
 
 
 
228
  demo.queue(api_open=False).launch()
requirements.txt CHANGED
@@ -1,2 +1 @@
1
- gradio==4.44.1
2
- huggingface_hub<0.20.0
 
1
+ gradio==5.10.0
 
space_config.yaml CHANGED
@@ -2,7 +2,7 @@
2
  # Эта конфигурация также может быть указана в README.md через фронт-матер
3
 
4
  sdk: gradio
5
- sdk_version: "4.44.1"
6
  app_file: app.py
7
  title: Multi-Agent Log Analysis System
8
  emoji: 🔥
 
2
  # Эта конфигурация также может быть указана в README.md через фронт-матер
3
 
4
  sdk: gradio
5
+ sdk_version: "5.10.0"
6
  app_file: app.py
7
  title: Multi-Agent Log Analysis System
8
  emoji: 🔥