MrSimple07 commited on
Commit
280f93c
·
1 Parent(s): 4aad055

fixed app.py

Browse files
Files changed (1) hide show
  1. app.py +34 -11
app.py CHANGED
@@ -266,6 +266,7 @@ def clear_all_data():
266
  except Exception as e:
267
  return f"Ошибка при очистке базы знаний: {str(e)}", get_uploaded_files_info(), get_system_status()
268
 
 
269
  def create_demo_interface():
270
  with gr.Blocks(title="AIEXP - AI Expert для нормативной документации", theme=gr.themes.Soft()) as demo:
271
 
@@ -296,15 +297,15 @@ def create_demo_interface():
296
  )
297
  ask_btn = gr.Button("🔍 Найти ответ", variant="primary", size="lg")
298
 
 
299
  gr.Examples(
300
  examples=[
301
- "Какой стандарт устанавливает порядок признания протоколов испытаний продукции в области использования атомной энергии?",
302
- "Кто несет ответственность за организацию и проведение признания протоколов испытаний продукции?",
303
- "В каких случаях могут быть признаны протоколы испытаний, проведенные лабораториями, не включенными в перечисления?",
304
- "Какие критерии используются органом по сертификации для анализа документации на втором этапе признания протоколов испытаний?"
305
  ],
306
- inputs=question_input,
307
- label="Примеры вопросов по нормативным документам"
308
  )
309
 
310
  with gr.Column(scale=4):
@@ -325,10 +326,12 @@ def create_demo_interface():
325
 
326
  with gr.Row():
327
  with gr.Column(scale=2):
 
328
  file_upload = gr.File(
329
  label="Выберите нормативные документы для загрузки",
330
  file_count="multiple",
331
- file_types=[".pdf", ".docx", ".txt", ".csv", ".xlsx", ".json"]
 
332
  )
333
 
334
  with gr.Row():
@@ -369,8 +372,25 @@ def create_demo_interface():
369
 
370
  refresh_status_btn = gr.Button("🔄 Обновить статус системы")
371
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
372
  upload_btn.click(
373
- fn=upload_files,
374
  inputs=[file_upload],
375
  outputs=[upload_status, files_info]
376
  )
@@ -381,13 +401,13 @@ def create_demo_interface():
381
  )
382
 
383
  ask_btn.click(
384
- fn=answer_question,
385
  inputs=[question_input],
386
  outputs=[answer_output, sources_output]
387
  )
388
 
389
  question_input.submit(
390
- fn=answer_question,
391
  inputs=[question_input],
392
  outputs=[answer_output, sources_output]
393
  )
@@ -404,6 +424,7 @@ def create_demo_interface():
404
 
405
  return demo
406
 
 
407
  if __name__ == "__main__":
408
  print("Инициализация AIEXP системы...")
409
  init_message = initialize_system()
@@ -414,5 +435,7 @@ if __name__ == "__main__":
414
  share=True,
415
  server_name="0.0.0.0",
416
  server_port=7860,
417
- show_error=True
 
 
418
  )
 
266
  except Exception as e:
267
  return f"Ошибка при очистке базы знаний: {str(e)}", get_uploaded_files_info(), get_system_status()
268
 
269
+ # Fix 1: Update file_types parameter format
270
  def create_demo_interface():
271
  with gr.Blocks(title="AIEXP - AI Expert для нормативной документации", theme=gr.themes.Soft()) as demo:
272
 
 
297
  )
298
  ask_btn = gr.Button("🔍 Найти ответ", variant="primary", size="lg")
299
 
300
+ # Fix 2: Simplify Examples component
301
  gr.Examples(
302
  examples=[
303
+ ["Какой стандарт устанавливает порядок признания протоколов испытаний продукции в области использования атомной энергии?"],
304
+ ["Кто несет ответственность за организацию и проведение признания протоколов испытаний продукции?"],
305
+ ["В каких случаях могут быть признаны протоколы испытаний, проведенные лабораториями, не включенными в перечисления?"],
306
+ ["Какие критерии используются органом по сертификации для анализа документации на втором этапе признания протоколов испытаний?"]
307
  ],
308
+ inputs=question_input
 
309
  )
310
 
311
  with gr.Column(scale=4):
 
326
 
327
  with gr.Row():
328
  with gr.Column(scale=2):
329
+ # Fix 3: Update File component parameters
330
  file_upload = gr.File(
331
  label="Выберите нормативные документы для загрузки",
332
  file_count="multiple",
333
+ file_types=[".pdf", ".docx", ".txt", ".csv", ".xlsx", ".json"],
334
+ type="filepath" # Add explicit type
335
  )
336
 
337
  with gr.Row():
 
372
 
373
  refresh_status_btn = gr.Button("🔄 Обновить статус системы")
374
 
375
+ # Fix 4: Event handlers with proper error handling
376
+ def safe_upload_files(files):
377
+ try:
378
+ if files is None:
379
+ return "Файлы не выбраны", get_uploaded_files_info()
380
+ return upload_files(files)
381
+ except Exception as e:
382
+ return f"Ошибка при загрузке файлов: {str(e)}", get_uploaded_files_info()
383
+
384
+ def safe_answer_question(question):
385
+ try:
386
+ if not question or not question.strip():
387
+ return "Пожалуйста, введите вопрос по нормативной документации", ""
388
+ return answer_question(question)
389
+ except Exception as e:
390
+ return f"Ошибка при обработке вопроса: {str(e)}", ""
391
+
392
  upload_btn.click(
393
+ fn=safe_upload_files,
394
  inputs=[file_upload],
395
  outputs=[upload_status, files_info]
396
  )
 
401
  )
402
 
403
  ask_btn.click(
404
+ fn=safe_answer_question,
405
  inputs=[question_input],
406
  outputs=[answer_output, sources_output]
407
  )
408
 
409
  question_input.submit(
410
+ fn=safe_answer_question,
411
  inputs=[question_input],
412
  outputs=[answer_output, sources_output]
413
  )
 
424
 
425
  return demo
426
 
427
+ # Fix 5: Update launch parameters for compatibility
428
  if __name__ == "__main__":
429
  print("Инициализация AIEXP системы...")
430
  init_message = initialize_system()
 
435
  share=True,
436
  server_name="0.0.0.0",
437
  server_port=7860,
438
+ show_error=True,
439
+ debug=False, # Add debug flag
440
+ quiet=False # Add quiet flag for better error visibility
441
  )