Spaces:
Sleeping
Sleeping
Commit
·
280f93c
1
Parent(s):
4aad055
fixed app.py
Browse files
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=
|
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=
|
385 |
inputs=[question_input],
|
386 |
outputs=[answer_output, sources_output]
|
387 |
)
|
388 |
|
389 |
question_input.submit(
|
390 |
-
fn=
|
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 |
)
|