MrSimple07 commited on
Commit
931a79f
·
1 Parent(s): 2df0370

new table document + image document processing functions + added more comprehensive loggings

Browse files
Files changed (1) hide show
  1. documents_prep.py +18 -12
documents_prep.py CHANGED
@@ -294,7 +294,7 @@ def table_to_document(table_data, document_id=None):
294
  table_title = table_data.get('table_title', 'Неизвестно')
295
  section = table_data.get('section', 'Неизвестно')
296
 
297
- # Создаем заголовочный документ
298
  header_content = f"Таблица: {table_num}\nНазвание: {table_title}\nДокумент: {doc_id}\nРаздел: {section}\n"
299
 
300
  if 'data' in table_data and isinstance(table_data['data'], list):
@@ -319,7 +319,7 @@ def table_to_document(table_data, document_id=None):
319
  )
320
  documents.append(doc)
321
 
322
- # Если нет строк, создаем общий документ
323
  if not documents:
324
  doc = Document(
325
  text=header_content,
@@ -334,7 +334,7 @@ def table_to_document(table_data, document_id=None):
334
  )
335
  documents.append(doc)
336
 
337
- return documents
338
 
339
  def load_table_data(repo_id, hf_token, table_data_dir):
340
  log_message("Начинаю загрузку табличных данных")
@@ -369,15 +369,16 @@ def load_table_data(repo_id, hf_token, table_data_dir):
369
  if 'sheets' in table_data:
370
  for sheet in table_data['sheets']:
371
  sheet['document'] = document_id
372
- doc = table_to_document(sheet, document_id)
373
- table_documents.append(doc)
 
374
  else:
375
- doc = table_to_document(table_data, document_id)
376
- table_documents.append(doc)
377
  elif isinstance(table_data, list):
378
  for table_json in table_data:
379
- doc = table_to_document(table_json)
380
- table_documents.append(doc)
381
 
382
  except Exception as e:
383
  log_message(f"Ошибка обработки файла {file_path}: {str(e)}")
@@ -400,9 +401,12 @@ def load_image_data(repo_id, hf_token, image_data_dir):
400
  if file.startswith(image_data_dir) and file.endswith('.csv'):
401
  image_files.append(file)
402
 
 
 
403
  image_documents = []
404
  for file_path in image_files:
405
  try:
 
406
  local_path = hf_hub_download(
407
  repo_id=repo_id,
408
  filename=file_path,
@@ -412,14 +416,15 @@ def load_image_data(repo_id, hf_token, image_data_dir):
412
  )
413
 
414
  df = pd.read_csv(local_path)
 
415
 
 
416
  for _, row in df.iterrows():
417
- # Создаем отдельный документ для каждого изображения
418
- section_value = row.get('Раздел документа', row.get('section', 'Неизвестно'))
419
 
420
  content = f"Изображение: {row.get('№ Изображения', 'Неизвестно')}\n"
421
  content += f"Название: {row.get('Название изображения', 'Неизвестно')}\n"
422
- content += f"Описание: {row.get('Описание изображение', 'Неизвестно')}\n"
423
  content += f"Документ: {row.get('Обозначение документа', 'Неизвестно')}\n"
424
  content += f"Раздел: {section_value}\n"
425
  content += f"Файл: {row.get('Файл изображения', 'Неизвестно')}\n"
@@ -443,6 +448,7 @@ def load_image_data(repo_id, hf_token, image_data_dir):
443
  log_message(f"Ошибка обработки файла {file_path}: {str(e)}")
444
  continue
445
 
 
446
  return image_documents
447
 
448
  except Exception as e:
 
294
  table_title = table_data.get('table_title', 'Неизвестно')
295
  section = table_data.get('section', 'Неизвестно')
296
 
297
+ # Создаем заголовочный контент
298
  header_content = f"Таблица: {table_num}\nНазвание: {table_title}\nДокумент: {doc_id}\nРаздел: {section}\n"
299
 
300
  if 'data' in table_data and isinstance(table_data['data'], list):
 
319
  )
320
  documents.append(doc)
321
 
322
+ # Если нет строк, создаем общий документ таблицы
323
  if not documents:
324
  doc = Document(
325
  text=header_content,
 
334
  )
335
  documents.append(doc)
336
 
337
+ return documents # Возвращаем список документов
338
 
339
  def load_table_data(repo_id, hf_token, table_data_dir):
340
  log_message("Начинаю загрузку табличных данных")
 
369
  if 'sheets' in table_data:
370
  for sheet in table_data['sheets']:
371
  sheet['document'] = document_id
372
+ # table_to_document теперь возвращает список
373
+ docs_list = table_to_document(sheet, document_id)
374
+ table_documents.extend(docs_list) # extend вместо append
375
  else:
376
+ docs_list = table_to_document(table_data, document_id)
377
+ table_documents.extend(docs_list) # extend вместо append
378
  elif isinstance(table_data, list):
379
  for table_json in table_data:
380
+ docs_list = table_to_document(table_json)
381
+ table_documents.extend(docs_list) # extend вместо append
382
 
383
  except Exception as e:
384
  log_message(f"Ошибка обработки файла {file_path}: {str(e)}")
 
401
  if file.startswith(image_data_dir) and file.endswith('.csv'):
402
  image_files.append(file)
403
 
404
+ log_message(f"Найдено {len(image_files)} CSV файлов с изображениями")
405
+
406
  image_documents = []
407
  for file_path in image_files:
408
  try:
409
+ log_message(f"Обрабатываю файл изображений: {file_path}")
410
  local_path = hf_hub_download(
411
  repo_id=repo_id,
412
  filename=file_path,
 
416
  )
417
 
418
  df = pd.read_csv(local_path)
419
+ log_message(f"Загружено {len(df)} записей изображений из файла {file_path}")
420
 
421
+ # Обработка с правильными названиями колонок
422
  for _, row in df.iterrows():
423
+ section_value = row.get('Раздел документа', 'Неизвестно')
 
424
 
425
  content = f"Изображение: {row.get('№ Изображения', 'Неизвестно')}\n"
426
  content += f"Название: {row.get('Название изображения', 'Неизвестно')}\n"
427
+ content += f"Описание: {row.get('Описание изображение', 'Неизвестно')}\n" # Опечатка в названии колонки
428
  content += f"Документ: {row.get('Обозначение документа', 'Неизвестно')}\n"
429
  content += f"Раздел: {section_value}\n"
430
  content += f"Файл: {row.get('Файл изображения', 'Неизвестно')}\n"
 
448
  log_message(f"Ошибка обработки файла {file_path}: {str(e)}")
449
  continue
450
 
451
+ log_message(f"Создано {len(image_documents)} документов из изображений")
452
  return image_documents
453
 
454
  except Exception as e: