MrSimple07 commited on
Commit
62f6639
·
1 Parent(s): 292f192

new info about uploaded files

Browse files
Files changed (2) hide show
  1. app.py +7 -16
  2. converters/converter.py +40 -13
app.py CHANGED
@@ -32,15 +32,14 @@ def restart_system():
32
 
33
  if query_engine:
34
  log_message("Система успешно перезапущена")
35
- chunks_html = create_chunks_display_html(chunk_info)
36
- return "✅ Система успешно перезапущена! Новые документы загружены.", chunks_html
37
  else:
38
- return "❌ Ошибка при перезапуске системы", "<div style='color: red;'>Ошибка загрузки</div>"
39
 
40
  except Exception as e:
41
  error_msg = f"Ошибка перезапуска: {str(e)}"
42
  log_message(error_msg)
43
- return f"❌ {error_msg}", "<div style='color: red;'>Ошибка</div>"
44
 
45
 
46
  def initialize_system(repo_id, hf_token, download_dir, chunks_filename=None,
@@ -473,7 +472,7 @@ Rerank Top K: {retrieval_params['rerank_top_k']}"""
473
  label="Статус загрузки",
474
  value="Ожидание загрузки файла...",
475
  interactive=False,
476
- lines=5
477
  )
478
 
479
  restart_status = gr.Textbox(
@@ -508,26 +507,18 @@ Rerank Top K: {retrieval_params['rerank_top_k']}"""
508
  2. Загрузите файл
509
  3. Дождитесь обработки
510
  4. Нажмите "Перезапустить систему"
511
-
512
- ⚠️ **Важно:** Перезапуск может занять несколько минут!
513
  """)
514
-
515
- # Display current chunks info
516
- current_chunks_display = gr.HTML(
517
- label="Текущие документы",
518
- value=create_chunks_display_html(chunk_info) if chunk_info else "<div>Нет данных</div>"
519
- )
520
-
521
  upload_btn.click(
522
  fn=process_uploaded_file,
523
  inputs=[file_upload, file_type_radio],
524
  outputs=[upload_status]
525
  )
526
-
527
  restart_btn.click(
528
  fn=restart_system,
529
  inputs=[],
530
- outputs=[restart_status, current_chunks_display]
531
  )
532
  switch_btn.click(
533
  fn=switch_model_func,
 
32
 
33
  if query_engine:
34
  log_message("Система успешно перезапущена")
35
+ return "✅ Система успешно перезапущена! Новые документы загружены."
 
36
  else:
37
+ return "❌ Ошибка при перезапуске системы"
38
 
39
  except Exception as e:
40
  error_msg = f"Ошибка перезапуска: {str(e)}"
41
  log_message(error_msg)
42
+ return f"❌ {error_msg}"
43
 
44
 
45
  def initialize_system(repo_id, hf_token, download_dir, chunks_filename=None,
 
472
  label="Статус загрузки",
473
  value="Ожидание загрузки файла...",
474
  interactive=False,
475
+ lines=8
476
  )
477
 
478
  restart_status = gr.Textbox(
 
507
  2. Загрузите файл
508
  3. Дождитесь обработки
509
  4. Нажмите "Перезапустить систему"
 
 
510
  """)
511
+
 
 
 
 
 
 
512
  upload_btn.click(
513
  fn=process_uploaded_file,
514
  inputs=[file_upload, file_type_radio],
515
  outputs=[upload_status]
516
  )
517
+
518
  restart_btn.click(
519
  fn=restart_system,
520
  inputs=[],
521
+ outputs=[restart_status]
522
  )
523
  switch_btn.click(
524
  fn=switch_model_func,
converters/converter.py CHANGED
@@ -27,7 +27,13 @@ def process_uploaded_file(file, file_type):
27
  else:
28
  file_path = source_path
29
 
 
 
 
 
30
  status_info = []
 
 
31
 
32
  if file_type == "Таблица":
33
  target_dir = TABLE_DATA_DIR
@@ -35,14 +41,23 @@ def process_uploaded_file(file, file_type):
35
  json_path = convert_single_excel_to_json(file_path, temp_dir)
36
  upload_file = json_path
37
 
38
- # Read processed data for statistics
 
 
 
39
  with open(json_path, 'r', encoding='utf-8') as f:
40
  data = json.load(f)
41
- status_info.append(f"📊 Обработано таблиц: {len(data['sheets'])}")
 
 
 
42
  status_info.append(f"📄 Листов в документе: {data['total_sheets']}")
 
 
 
43
  else:
44
  upload_file = file_path
45
- status_info.append(f"📄 Загружен файл: {filename}")
46
 
47
  elif file_type == "Изображение (метаданные)":
48
  target_dir = IMAGE_DATA_DIR
@@ -50,32 +65,44 @@ def process_uploaded_file(file, file_type):
50
  csv_path = convert_single_excel_to_csv(file_path, temp_dir)
51
  upload_file = csv_path
52
 
53
- # Read CSV for statistics
 
 
 
54
  df = pd.read_csv(csv_path)
55
- status_info.append(f"🖼️ Записей изображений: {len(df)}")
56
  status_info.append(f"📋 Колонок метаданных: {len(df.columns)}")
 
 
57
  else:
58
  upload_file = file_path
59
- # Try to read CSV for stats
60
  try:
61
  df = pd.read_csv(upload_file)
62
- status_info.append(f"🖼️ Записей изображений: {len(df)}")
 
63
  except:
64
- status_info.append(f"📄 Загружен файл: {filename}")
 
 
65
  else: # JSON документ
66
  target_dir = JSON_FILES_DIR
67
  upload_file = file_path
68
 
69
- # Try to read JSON for statistics
70
  try:
71
  with open(upload_file, 'r', encoding='utf-8') as f:
72
  json_data = json.load(f)
 
73
  if isinstance(json_data, list):
74
- status_info.append(f"📝 Документов в JSON: {len(json_data)}")
75
  elif isinstance(json_data, dict):
76
- status_info.append(f"📝 JSON объект загружен")
 
 
 
 
77
  except:
78
- status_info.append(f"📄 Загружен файл: {filename}")
 
79
 
80
  # Загружаем на HuggingFace
81
  log_message(f"Загрузка на HuggingFace: {target_dir}/{os.path.basename(upload_file)}")
@@ -90,7 +117,7 @@ def process_uploaded_file(file, file_type):
90
 
91
  log_message(f"Файл {filename} успешно загружен в {target_dir}")
92
 
93
- result_message = f"✅ Файл успешно загружен и обработан: {os.path.basename(upload_file)}\n\n"
94
  result_message += "\n".join(status_info)
95
  result_message += "\n\n⚠️ Нажмите кнопку 'Перезапустить систему' для применения изменений"
96
 
 
27
  else:
28
  file_path = source_path
29
 
30
+ # Get original file size
31
+ original_size_bytes = os.path.getsize(file_path)
32
+ original_size_mb = original_size_bytes / (1024 * 1024)
33
+
34
  status_info = []
35
+ status_info.append(f"📁 Исходный файл: {filename}")
36
+ status_info.append(f"📦 Размер файла: {original_size_mb:.2f} МБ ({original_size_bytes:,} байт)")
37
 
38
  if file_type == "Таблица":
39
  target_dir = TABLE_DATA_DIR
 
41
  json_path = convert_single_excel_to_json(file_path, temp_dir)
42
  upload_file = json_path
43
 
44
+ # Get processed file size
45
+ processed_size_bytes = os.path.getsize(json_path)
46
+ processed_size_mb = processed_size_bytes / (1024 * 1024)
47
+
48
  with open(json_path, 'r', encoding='utf-8') as f:
49
  data = json.load(f)
50
+
51
+ total_rows = sum(len(sheet['data']) for sheet in data['sheets'])
52
+
53
+ status_info.append(f"📊 Всего таблиц: {len(data['sheets'])}")
54
  status_info.append(f"📄 Листов в документе: {data['total_sheets']}")
55
+ status_info.append(f"📝 Всего строк данных: {total_rows:,}")
56
+ status_info.append(f"💾 Размер после обработки: {processed_size_mb:.2f} МБ")
57
+ status_info.append(f"📤 Загружен как: {os.path.basename(json_path)}")
58
  else:
59
  upload_file = file_path
60
+ status_info.append(f"📤 Загружен как: {filename}")
61
 
62
  elif file_type == "Изображение (метаданные)":
63
  target_dir = IMAGE_DATA_DIR
 
65
  csv_path = convert_single_excel_to_csv(file_path, temp_dir)
66
  upload_file = csv_path
67
 
68
+ # Get processed file size
69
+ processed_size_bytes = os.path.getsize(csv_path)
70
+ processed_size_mb = processed_size_bytes / (1024 * 1024)
71
+
72
  df = pd.read_csv(csv_path)
73
+ status_info.append(f"🖼️ Записей изображений: {len(df):,}")
74
  status_info.append(f"📋 Колонок метаданных: {len(df.columns)}")
75
+ status_info.append(f"💾 Размер после обработки: {processed_size_mb:.2f} МБ")
76
+ status_info.append(f"📤 Загружен как: {os.path.basename(csv_path)}")
77
  else:
78
  upload_file = file_path
 
79
  try:
80
  df = pd.read_csv(upload_file)
81
+ status_info.append(f"🖼️ Записей изображений: {len(df):,}")
82
+ status_info.append(f"📋 Колонок метаданных: {len(df.columns)}")
83
  except:
84
+ pass
85
+ status_info.append(f"📤 Загружен как: {filename}")
86
+
87
  else: # JSON документ
88
  target_dir = JSON_FILES_DIR
89
  upload_file = file_path
90
 
 
91
  try:
92
  with open(upload_file, 'r', encoding='utf-8') as f:
93
  json_data = json.load(f)
94
+
95
  if isinstance(json_data, list):
96
+ status_info.append(f"📝 Документов в JSON: {len(json_data):,}")
97
  elif isinstance(json_data, dict):
98
+ status_info.append(f"📝 JSON объект (словарь)")
99
+ # Count keys if it's structured data
100
+ if 'sheets' in json_data:
101
+ status_info.append(f"📊 Таблиц в документе: {len(json_data.get('sheets', []))}")
102
+ status_info.append(f"🔑 Ключей верхнего уровня: {len(json_data.keys())}")
103
  except:
104
+ pass
105
+ status_info.append(f"📤 Загружен как: {filename}")
106
 
107
  # Загружаем на HuggingFace
108
  log_message(f"Загрузка на HuggingFace: {target_dir}/{os.path.basename(upload_file)}")
 
117
 
118
  log_message(f"Файл {filename} успешно загружен в {target_dir}")
119
 
120
+ result_message = f"✅ Файл успешно загружен и обработан\n\n"
121
  result_message += "\n".join(status_info)
122
  result_message += "\n\n⚠️ Нажмите кнопку 'Перезапустить систему' для применения изменений"
123