DocUA commited on
Commit
5c490a4
·
1 Parent(s): 661d212

Edit interface

Browse files
Files changed (1) hide show
  1. 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
- iface = gr.Interface(
23
- fn=analyze_and_format,
24
- inputs=gr.Textbox(
25
- lines=12,
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
- theme="compact",
45
- flagging_mode="never",
46
- # examples=[
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