Spaces:
Sleeping
Sleeping
Edit interface
Browse files- src/interface.py +31 -26
src/interface.py
CHANGED
@@ -2,6 +2,7 @@ import gradio as gr
|
|
2 |
import time
|
3 |
from .analyzer import NPAAnalyzer
|
4 |
|
|
|
5 |
def create_interface():
|
6 |
try:
|
7 |
analyzer = NPAAnalyzer()
|
@@ -12,43 +13,47 @@ def create_interface():
|
|
12 |
return "### Помилка\nПоле для тексту не може бути порожнім. Введіть текст для аналізу."
|
13 |
|
14 |
start_time = time.time() # Початок відліку часу
|
15 |
-
status = "
|
16 |
result = analyzer.analyze_npa(npa_text)
|
17 |
end_time = time.time() # Кінець відліку часу
|
18 |
|
19 |
elapsed_time = end_time - start_time
|
20 |
return f"### Експертний висновок\n{result}\n\n_Час аналізу: {elapsed_time:.2f} секунд._", status
|
21 |
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
label="Введіть текст проекту НПА",
|
27 |
-
placeholder="Вставте текст проекту нормативно-правового акту для аналізу...",
|
28 |
-
interactive=True
|
29 |
-
),
|
30 |
-
outputs=[
|
31 |
-
gr.Markdown(label="Експертний висновок"),
|
32 |
-
gr.Textbox(label="Статус", interactive=False)
|
33 |
-
],
|
34 |
-
title="Антикорупційна експертиза НПА",
|
35 |
-
description="""
|
36 |
-
## Система автоматизованого аналізу проектів нормативно-правових актів
|
37 |
-
Ця система допомагає визначати корупціогенні фактори в проектах НПА відповідно до офіційної [методології](https://nazk.gov.ua/uk/documents/nakaz-vid-18-05-2023-109-23-pro-затвердження-metodології-proведення-antykоруptsijnої-ekspertyzy-национальным-агентством-з-пытан-запобігання-корупції/?hilite=%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%BB%D0%BE%D0%B3%D1%96).
|
38 |
|
39 |
### Інструкція:
|
40 |
1. Введіть текст проекту нормативно-правового акту в поле нижче.
|
41 |
2. Натисніть кнопку "Аналіз" для запуску аналізу.
|
42 |
-
3. Ознайомтесь із
|
43 |
-
"""
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
|
51 |
return iface
|
52 |
except Exception as e:
|
53 |
print(f"Помилка при створенні інтерфейсу: {str(e)}")
|
54 |
-
raise
|
|
|
2 |
import time
|
3 |
from .analyzer import NPAAnalyzer
|
4 |
|
5 |
+
|
6 |
def create_interface():
|
7 |
try:
|
8 |
analyzer = NPAAnalyzer()
|
|
|
13 |
return "### Помилка\nПоле для тексту не може бути порожнім. Введіть текст для аналізу."
|
14 |
|
15 |
start_time = time.time() # Початок відліку часу
|
16 |
+
status = "Аналіз завершено..."
|
17 |
result = analyzer.analyze_npa(npa_text)
|
18 |
end_time = time.time() # Кінець відліку часу
|
19 |
|
20 |
elapsed_time = end_time - start_time
|
21 |
return f"### Експертний висновок\n{result}\n\n_Час аналізу: {elapsed_time:.2f} секунд._", status
|
22 |
|
23 |
+
with gr.Blocks() as iface:
|
24 |
+
gr.Markdown("""
|
25 |
+
## Антикорупційна експертиза НПА
|
26 |
+
Система допомагає визначати корупціогенні фактори в проектах НПА відповідно до [офіційної методології](https://nazk.gov.ua/uk/documents/nakaz-vid-18-05-2023-109-23-pro-затвердження-metodології-proведення-antykоруptsijnої-ексpertyzy-национальным-агентством-з-пытан-запобігання-корупції/?hilite=%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%BB%D0%BE%D0%B3%D1%96).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
|
28 |
### Інструкція:
|
29 |
1. Введіть текст проекту нормативно-правового акту в поле нижче.
|
30 |
2. Натисніть кнопку "Аналіз" для запуску аналізу.
|
31 |
+
3. Ознайомтесь із висновком.
|
32 |
+
""")
|
33 |
+
|
34 |
+
with gr.Row():
|
35 |
+
input_box = gr.Textbox(
|
36 |
+
lines=12,
|
37 |
+
label="Введіть текст проекту НПА",
|
38 |
+
placeholder="Вставте текст проекту нормативно-правового акту для аналізу...",
|
39 |
+
)
|
40 |
+
with gr.Row():
|
41 |
+
analyze_button = gr.Button("Аналіз")
|
42 |
+
|
43 |
+
with gr.Row():
|
44 |
+
output_box = gr.Markdown(label="Експертний висновок")
|
45 |
+
|
46 |
+
with gr.Row():
|
47 |
+
status_box = gr.Textbox(label="Статус", interactive=False)
|
48 |
+
|
49 |
+
# Логіка кнопки
|
50 |
+
analyze_button.click(
|
51 |
+
analyze_and_format,
|
52 |
+
inputs=input_box,
|
53 |
+
outputs=[output_box, status_box]
|
54 |
+
)
|
55 |
|
56 |
return iface
|
57 |
except Exception as e:
|
58 |
print(f"Помилка при створенні інтерфейсу: {str(e)}")
|
59 |
+
raise
|