File size: 50,628 Bytes
9786944
 
 
75c35f1
 
 
431e86e
 
 
 
 
 
 
 
9786944
431e86e
 
 
 
9786944
 
 
8f542b1
9786944
8f542b1
9786944
431e86e
3bfa0f4
 
9786944
 
3bfa0f4
 
94480ba
3bfa0f4
 
94480ba
3bfa0f4
 
94480ba
3bfa0f4
 
94480ba
3bfa0f4
 
 
 
94480ba
3bfa0f4
 
 
 
 
 
94480ba
3bfa0f4
 
 
 
 
 
 
94480ba
 
431e86e
3bfa0f4
2321160
ec13266
431e86e
 
2321160
431e86e
 
 
 
 
 
2321160
431e86e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53204dd
de880c5
431e86e
 
 
 
35f3267
61edd3a
dc84b24
431e86e
 
 
 
 
 
dc84b24
2321160
 
 
a3a2ac3
2321160
 
 
dc84b24
2321160
 
 
fe59056
dc84b24
3914a92
2321160
a3a2ac3
431e86e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9786944
 
 
 
e166cde
9786944
 
 
e166cde
9786944
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2321160
9786944
 
 
97d9b1c
 
 
9786944
 
 
 
2321160
9786944
 
 
94480ba
9786944
ea19792
 
9786944
8f542b1
9786944
 
2321160
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
fe59056
2321160
fe59056
2321160
fe59056
2321160
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
fe59056
 
dc84b24
fe59056
 
 
 
 
 
 
9786944
2321160
9786944
3914a92
9786944
 
 
 
 
 
 
 
 
 
 
 
 
2321160
ea19792
9786944
516f6ee
9786944
2321160
888943e
 
9786944
e154370
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d381d58
e154370
 
472ca73
8f542b1
38b0571
9786944
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e166cde
9786944
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0a750c7
2321160
 
97d9b1c
9786944
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
import gradio as gr
from gradio_calendar import Calendar

from langchain.embeddings.huggingface import HuggingFaceEmbeddings
from langchain_community.vectorstores import Chroma
from langchain_core.output_parsers import StrOutputParser
import torch
from transformers import (
    AutoModelForCausalLM,
    AutoTokenizer,
    BitsAndBytesConfig,
    pipeline,
    StoppingCriteria, StoppingCriteriaList
)

from langchain.prompts import PromptTemplate
from langchain_community.llms import HuggingFacePipeline
from langchain.chains import LLMChain
from langchain_core.runnables import RunnablePassthrough, RunnableParallel



#model_name= 'mistralai/Mistral-7B-Instruct-v0.2'

model_name='SherlockAssistant/Mistral-7B-Instruct-Ukrainian'

tokenizer = AutoTokenizer.from_pretrained(model_name)
tokenizer.pad_token = tokenizer.unk_token
tokenizer.padding_side = "right"


# Activate 4-bit precision base model loading
use_4bit = True

# Compute dtype for 4-bit base models
bnb_4bit_compute_dtype = "float16"

# Quantization type (fp4 or nf4)
bnb_4bit_quant_type = "nf4"

# Activate nested quantization for 4-bit base models (double quantization)
use_nested_quant = False

#################################################################
# Set up quantization config
#################################################################
compute_dtype = getattr(torch, bnb_4bit_compute_dtype)

bnb_config = BitsAndBytesConfig(
    load_in_4bit=use_4bit,
    bnb_4bit_quant_type=bnb_4bit_quant_type,
    bnb_4bit_compute_dtype=compute_dtype,
    bnb_4bit_use_double_quant=use_nested_quant,
)

# Check GPU compatibility with bfloat16
if compute_dtype == torch.float16 and use_4bit:
    major, _ = torch.cuda.get_device_capability()
    if major >= 8:
        print("=" * 80)
        print("Your GPU supports bfloat16: accelerate training with bf16=True")
        print("=" * 80)


model = AutoModelForCausalLM.from_pretrained(
    model_name, quantization_config=bnb_config)

stop_list = [" \n\nAnswer:", "\n",  " \n\n"]
stop_token_ids = [tokenizer(x,  return_tensors='pt', add_special_tokens=False)['input_ids'] for x in stop_list]
stop_token_ids = [torch.LongTensor(x).to("cuda") for x in stop_token_ids]

class StopOnTokens(StoppingCriteria):
    def __call__(self, input_ids: torch.LongTensor, scores: torch.FloatTensor, **kwargs) -> bool:
        for stop_ids in stop_token_ids:
            if torch.eq(input_ids[0][-len(stop_ids[0])+1:], stop_ids[0][1:]).all():
                return True
        return False

stopping_criteria = StoppingCriteriaList([StopOnTokens()])


text_generation_pipeline = pipeline(
    model=model,
    tokenizer=tokenizer,
    task="text-generation",
    temperature=0.01,
    repetition_penalty=1.2,
    return_full_text=True,
    max_new_tokens=750, do_sample=True,
    top_k=50, top_p=0.95,
    stopping_criteria=stopping_criteria
)
mistral_llm = HuggingFacePipeline(pipeline=text_generation_pipeline)
# # # load chroma from disk
instructor_embeddings = HuggingFaceEmbeddings(model_name="intfloat/multilingual-e5-large")
db3 = Chroma(persist_directory="chroma/", embedding_function=instructor_embeddings)




retriever = db3.as_retriever(
                                 search_kwargs={
                                                "k": 5})

# Get pre-written rag prompt
def format_docs(docs):
   return "\n\n".join(doc.page_content for doc in docs)


template ="""" [INST] Ти асистент для надання відповідей з законодавства України. Використовуй лише вказаний нижче Context максимально точно. Описуй лише події простими словами без формальностей. Якщо питання не стосується законодавства України - пиши "Я не маю релевантної інформації. Спробуйте ще". Ось приклади використання:
Context:
'9) доручити Міністерству освіти і науки України:\r\nпередбачити у стандартах вищої освіти для першого (бакалаврського) рівня в межах кожної спеціальності наявність компетентності випускника щодо здатності використовувати різні види та форми рухової активності для активного відпочинку та ведення здорового способу життя, а також відповідних результатів навчання, зокрема щодо виконання встановлених нормативів фізичної підготовленості;\r\nрекомендувати ректорам вищих навчальних закладів з метою формування зазначеної компетентності та досягнення відповідних результатів навчання передбачити для студентів заняття з фізичного виховання не менш як протягом двох років навчання в обсязі 4 години на тиждень, враховуючи, що заняття з фізичного виховання мають відновлювальне та рекреаційне значення;\r\nв установленому порядку до 1 вересня 2016 року доповнити технологічні вимоги щодо забезпечення провадження освітньої діяльності у сфері вищої освіти (Ліцензійні умови провадження освітньої діяльності закладів освіти, затверджені постановою Кабінету Міністрів України від 30 грудня 2015 року № 1187) в частині забезпеченості здобувачів вищої освіти спортивними залами, стадіонами та спортивними майданчиками (у квадратних метрах на одного студента);'

Частину другу статті 55 доповнено абзацом дев'ятим згідно із Законом № 2657-VIII від 18.12.2018\r\nвимагати повного та неупередженого розслідування випадків булінгу (цькування) стосовно дитини або будь-якого іншого учасника освітнього процесу.\r\nЧастину другу статті 55 доповнено абзацом десятим згідно із Законом № 2657-VIII від 18.12.2018\r\n3. Батьки здобувачів освіти зобов'язані:\r\nвиховувати у дітей повагу до гідності, прав, свобод і законних інтересів людини, законів та етичних норм, відповідальне ставлення до власного здоров'я, здоров'я оточуючих і довкілля;\r\nсприяти виконанню дитиною освітньої програми та досягненню дитиною передбачених нею результатів навчання;\r\nповажати гідність, права, свободи і законні інтереси дитини та інших учасників освітнього процесу;\r\nдбати про фізичне і психічне здоров'я дитини, сприяти розвитку її здібностей, формувати навички здорового способу життя;\r\nформувати у дитини культуру діалогу, культуру життя у взаєморозумінні, мирі та злагоді між усіма народами, етнічними, національними, релігійними групами, представниками різних політичних і релігійних поглядів та культурних традицій, різного соціального походження, сімейного та майнового стану;\r\nнастановленням і особистим прикладом утверджувати повагу до суспільної моралі та суспільних цінностей, зокрема правди, справедливості, патріотизму, гуманізму, толерантності, працелюбства;"



    ANSWER:  регуляції для вищих навчальних закладів передбачають обов'язкове фізичне виховання студентів та забезпечення їх доступом до спортивних залів і майданчиків. Також вони спрямовані на покращення боротьби з булінгом в освітніх установах та підвищення відповідальності батьків за виховання дітей.
    Context: {context}
     QUESTION:
    {question}

  Напиши три речення. Описуй отримані документи просто, доступно для підлітка. Вказуй лише найголовніші події. Якщо  питання не стосується законів  - пиши "Я не маю релевантної інформації. Спробуйте ще". На вхід ти отримав декілька законів, підсумуй їх простими словами, викинь формальності та стандартні фрази. Опиши найголовніші  зміни у трьох реченнях.  
  
    [/INST]

"""
prompt = PromptTemplate(
    input_variables=["context", "question"],
    template=template,
)

rag_chain_from_docs = (
    RunnablePassthrough.assign(context=(lambda x: format_docs(x["context"])))
    | prompt
    | mistral_llm
    | StrOutputParser()
)

rag_chain_with_source = RunnableParallel(
    {"context": retriever, "question": RunnablePassthrough()}
).assign(answer=rag_chain_from_docs)



def format_result(result):
    unique_videos = set((doc.metadata['title'], doc.metadata['act_url']) for doc in result['context'])

    # Create a plain text string where each title is followed by its URL
    titles_with_links = [
        f"{title}: {act_url}" for title, act_url in unique_videos
    ]

    # Join these entries with line breaks to form a clear list
    titles_string = '\n'.join(titles_with_links)
    titles_formatted = f"Використані закони:\n{titles_string}"

    # Combine the answer from the result with the formatted list of video links
    answer = result['answer']
    response = f"{answer}\n\n{titles_formatted}"

    return response



def generate_with_filters(message, subject_input, rubric, date_beg, date_end):
    if date_beg == "2010-01-01" and date_end == "2025-01-01":
        ret = db3.as_retriever( search_kwargs={"k": 10,
                                                                                       "filter": {'$and': [{'subject': {
                                                                                           '$in': subject_input}}, {
                                                                                           'rubric': {
                                                                                               '$in': rubric}}]}})
        rag_chain_with_filters = RunnableParallel(
             {"context": ret,
                         "question": RunnablePassthrough()}
        ).assign(answer=rag_chain_from_docs)
    else:
        rag_chain_with_filters = RunnableParallel(
        {"context": db3.as_retriever( search_kwargs={"k": 10,
                                                                           "filter": {'$and': [{'subject': {
                                                                               '$in': subject_input}}, {
                                                                                                   'rubric': {
                                                                                                       '$in': rubric}},{"act_date": {"$gte": date_beg}}, {"act_date": {"$lte": date_end}}] }}), "question": RunnablePassthrough()}
    ).assign(answer=rag_chain_from_docs)
    context = ret.get_relevant_documents(message)

    result = rag_chain_with_filters.invoke(message)
    return result

def summarize_act(message, act_number):
    template = """" [INST] Ти асистент для надання відповідей з законодавства України. Ти описуєш зміни в законодавстві просто, доступно, як для дитини. На вхід ти отримав один закон, підсумуй його простими словами, викинь формальності та стандартні фрази. Дай відповіь п'ятьма реченнями. Якщо наданий контекст не містить потрібної інформації - пиши "Я не маю релевантної інформації. Спробуйте ще". Ось приклад:
    Context:

ПОРЯДОК
надання комплексної електронної публічної  послуги “е-Підприємець”

1. Цей Порядок визначає процедуру надання комплексної електронної публічної послуги “е-Підприємець” (далі - послуга “е-Підприємець”), що забезпечує спрощення умов для започаткування та/або провадження підприємницької діяльності та складається з таких електронних публічних послуг:

державна реєстрація фізичної особи підприємцем;

державна реєстрація змін до відомостей про фізичну особу - підприємця, що містяться в Єдиному державному реєстрі юридичних осіб, фізичних осіб - підприємців та громадських формувань;

подання повідомлення про використання або про відмову від використання єдиного рахунка;

реєстрація платником єдиного податку;

реєстрація платником податку на додану вартість;

реєстрація реєстратора розрахункових операцій та програмного реєстратора розрахункових операцій, а також пошук фіскального чека;

реєстрація декларації відповідності матеріально-технічної бази суб’єкта господарювання вимогам законодавства з питань пожежної безпеки;

подання інформації про попит на робочу силу (вакансії);

державна реєстрація потужностей операторів ринку харчових продуктів;

видача дозволу на виконання робіт підвищеної небезпеки та початок експлуатації (застосування) машин, механізмів, устаткування підвищеної небезпеки;

реєстрація декларації відповідності матеріально-технічної бази вимогам законодавства з питань охорони праці;

відкриття банківського рахунка.

2. У цьому Порядку терміни вживаються у значенні, наведеному в Законах України “Про адміністративні послуги”, “Про електронні документи та електронний документообіг”, “Про захист інформації в інформаційно-комунікаційних системах”, “Про особливості надання публічних (електронних публічних) послуг”, “Про електронні довірчі послуги”, Положенні про систему електронної взаємодії державних електронних інформаційних ресурсів “Трембіта”, затвердженому постановою Кабінету Міністрів України від 8 вересня 2016 р. № 606 “Деякі питання електронної взаємодії електронних інформаційних ресурсів” (Офіційний вісник України, 2016 р., № 73, ст. 2455; 2021 р., № 52, ст. 3216; 2023 р., № 11, ст. 721).

3. Послуга “е-Підприємець” надається за бажанням фізичної особи, яка має намір започаткувати та/або провадити підприємницьку діяльність (далі - заявник).

Надання електронних публічних послуг, які входять до складу послуги “е-Підприємець”, засобами Єдиного державного вебпорталу електронних послуг є альтернативним способом їх отримання та не виключає можливості отримання цих послуг у визначеному законодавством порядку.

4. Електронні публічні послуги, які входять до складу послуги  “е-Підприємець”, можуть надаватися з урахуванням технічних можливостей їх надання засобами Єдиного державного вебпорталу електронних послуг та інформаційно-комунікаційних систем державних органів, органів місцевого самоврядування, підприємств, установ та організацій, що можуть бути задіяні для надання послуги “е-Підприємець”, про що повідомляється власником Єдиного державного вебпорталу електронних послуг.

5. Надання послуги “е-Підприємець” здійснюється на підставі єдиної заяви, сформованої засобами Єдиного державного вебпорталу електронних послуг, що містить відомості, передбачені законодавством для надання електронних публічних послуг, які входять до складу послуги “е-Підприємець”, і документів та/або відомостей, необхідних для надання відповідних електронних публічних послуг, що містяться в інформаційно-комунікаційних системах, за умови накладення кваліфікованого електронного підпису або удосконаленого електронного підпису, що базується на кваліфікованому сертифікаті електронного підпису заявника.

Єдиний державний вебпортал електронних послуг забезпечує можливість вибору заявником електронних публічних послуг, які він бажає отримати у складі послуги “е-Підприємець”.

6. Заявник забезпечує достовірність відомостей, що містяться в заяві.

7. У разі отримання заявником електронних публічних послуг, які входять до складу послуги “е-Підприємець”, на підставі фактичних обставин, що зазнали істотних змін, адміністративні акти за результатами їх надання можуть бути відкликані відповідно до Закону України “Про адміністративну процедуру”.

8. У разі коли отриманню електронних публічних послуг, які входять до складу послуги “е-Підприємець”, відповідно до законодавства повинно передувати отримання іншої електронної публічної послуги, такі послуги надаються в порядку черговості їх надання.

Для кожної наступної електронної публічної послуги Єдиний державний вебпортал електронних послуг використовує подані заявником заяву та відомості з державних електронних інформаційних ресурсів державних органів, які є суб’єктами надання електронних публічних послуг, які входять до складу послуги “е-Підприємець”, а також результати попередніх наданих електронних публічних послуг. У разі коли для надання наступної електронної публічної послуги не вистачає поданих заявником заяви та відомостей, Єдиний державний вебпортал електронних послуг використовує результати попередніх наданих електронних публічних послуг.

9. Складення та/або подання будь-яких додаткових заяв та документів для отримання електронних публічних послуг, які входять до складу послуги “е-Підприємець”, не допускається, крім послуги, пов’язаної з відкриттям банківського рахунка.

Оплата адміністративного збору за отримання електронних публічних послуг здійснюється засобами Єдиного державного вебпорталу електронних послуг під час формування заяви.

Для надання послуги “е-Підприємець” забезпечується електронна інформаційна взаємодія між такими інформаційно-комунікаційними системами та державними електронними інформаційними ресурсами державних органів:

Єдиним державним вебпорталом електронних послуг;

Єдиним державним реєстром юридичних осіб, фізичних осіб - підприємців та громадських формувань;

Реєстром рахунків для сплати єдиного внеску;

електронним кабінетом платника податків, держателем якого є ДПС;

Єдиним банком даних про платників податків - юридичних осіб;

Державним реєстром фізичних осіб - платників податків;

Реєстром платників податку на додану вартість;

Державним реєстром реєстраторів розрахункових операцій;

Реєстром дозволів на виконання робіт підвищеної небезпеки;

Державним електронним реєстром об’єктів підвищеної небезпеки;

Реєстром декларацій відповідності матеріально-технічної бази суб’єкта господарювання вимогам законодавства з питань охорони праці;

Єдиною інформаційно-аналітичною системою державної служби зайнятості;

Реєстром програмних реєстраторів розрахункових операцій;

Державним реєстром потужностей операторів ринку.

10. Електронна інформаційна взаємодія між державними електронними інформаційними ресурсами державних органів здійснюється засобами системи електронної взаємодії державних електронних інформаційних ресурсів “Трембіта”.

У разі відсутності технічної можливості передачі даних засобами системи електронної взаємодії державних електронних інформаційних ресурсів “Трембіта” електронна інформаційна взаємодія може здійснюватися з використанням інших інформаційно-комунікаційних систем із застосуванням у них відповідних комплексних систем захисту інформації з підтвердженою відповідністю за результатами державної експертизи в порядку, встановленому законодавством.

Обсяг та структура даних, якими обмінюються суб’єкти електронної інформаційної взаємодії, визначаються договорами про інформаційну взаємодію, укладеними відповідно до Порядку електронної (технічної та інформаційної) взаємодії, затвердженого постановою Кабінету Міністрів України від 8 вересня 2016 р. № 606.

Електронна інформаційна взаємодія здійснюється з дотриманням вимог Законів України “Про публічні електронні реєстри”, “Про електронні довірчі послуги”, “Про захист персональних даних”, “Про захист інформації в інформаційно-комунікаційних системах”, інших нормативно-правових актів у сфері захисту інформації.

11. Інформування заявника про результати надання електронних публічних послуг, які входять до складу послуги  “е-Підприємець”, здійснюється відповідним державним органом, який надав таку електронну публічну послугу, зокрема засобами Єдиного державного вебпорталу електронних послуг.

12. Електронна публічна послуга з відкриття банківського рахунка, яка входить до складу послуги “е-Підприємець”, надається банками, що мають укладений з Мінцифри та технічним адміністратором Єдиного державного вебпорталу електронних послуг договір про інформаційну взаємодію з використанням Єдиного вебпорталу. Відкриття банківського рахунка здійснюється банком у порядку, визначеному нормативно-правовими актами Національного банку.

Договір про інформаційну взаємодію з банком укладається за умови проходження ним успішного тестування на відповідність технічним вимогам щодо підключення банків та порядку надання банківської послуги, визначених технічним адміністратором Єдиного державного вебпорталу електронних послуг.

Тестування проводиться у порядку, визначеному технічним адміністратором Єдиного державного вебпорталу електронних послуг.

13. Обробка персональних даних заявників здійснюється відповідно до законодавства про захист персональних даних.

    QUESTION:"підсумуй контент"

    ANSWER:У листопаді Кабмін затвердив постанову про перехід комплексної онлайн послуги е-Підприємець на постійні «рейки». Затверджений порядок її надання передбачає, що послуга включатиме в себе держреєстрацію ФОПів, реєстрацію змін в ЄДР (Єдиному державному реєстрі юридичних осіб, фізичних осіб – підприємців та громадських формувань), реєстрацію платником єдиного податку та податку на додану вартість, відкриття рахунку та інші можливості.

Весь пакет послуг можна буде отримати за однією заявкою через портал «Дія». Для зменшення «паперового» навантаження для заявника, у постанові передбачений обмін інформацією між 14 державними реєстрами та системами, серед яких ЄДР, Державний реєстр фізичних осіб – платників податків,  Єдиний банк даних про платників податків – юридичних осіб, Єдина інформаційно-аналітична система державної служби зайнятості та інші.
    Context:КАБІНЕТ МІНІСТРІВ УКРАЇНИ
ПОСТАНОВА

від 5 січня 2024 р. № 7
Київ

Про внесення змін до Порядку формування фондів житла, призначеного для тимчасового проживання, обліку та надання такого житла для тимчасового проживання внутрішньо переміщених осіб

Кабінет Міністрів України постановляє:

Внести до Порядку формування фондів житла, призначеного для тимчасового проживання, обліку та надання такого житла для тимчасового проживання внутрішньо переміщених осіб, затвердженого постановою Кабінету Міністрів України від 29 квітня 2022 р. № 495 “Деякі заходи з формування фондів житла, призначеного для тимчасового проживання внутрішньо переміщених осіб” (Офіційний вісник України, 2022 р., № 39, ст. 2083; 2023 р., № 48, ст. 2649), зміни, що додаються.


ЗМІНИ,
що вносяться до Порядку формування фондів житла, призначеного для тимчасового проживання, обліку та надання такого житла для тимчасового проживання внутрішньо переміщених осіб

1. Пункт 3 викласти в такій редакції:

“3. Уповноважений орган веде облік житлових приміщень фонду за формою, встановленою наказом Держжитлокомунгоспу від 14 травня 2004 р. № 98 “Про затвердження форм щодо житлових приміщень з фондів житла для тимчасового проживання.”.

2. Пункт 7 після абзацу першого доповнити новим абзацом такого змісту:

“Житлове приміщення з фонду не надається, якщо внутрішньо переміщена особа або будь-хто із членів її сім’ї має у власності житлове приміщення/частину житлового приміщення, придатне для проживання, розміром не менше ніж 13,65 кв. метра на одну особу, що розташоване на територіях, не включених до переліку територій, на яких ведуться (велися) бойові дії або тимчасово окупованих Російською Федерацією, затвердженого Мінреінтеграції, або на територіях, включених до зазначеного переліку, для яких визначено дату завершення бойових дій (припинення можливості бойових дій) або тимчасової окупації.”.

У зв’язку з цим абзаци другий - четвертий вважати відповідно абзацами третім - п’ятим.

3. Пункт 18 після абзацу третього доповнити новим абзацом такого змісту:

“Не може бути підставою для відмови у взятті внутрішньо переміщених осіб на облік громадян, що потребують житла для тимчасового проживання, відсутність на момент їх звернення фонду.”.

У зв’язку з цим абзаци четвертий - дев’ятий вважати відповідно абзацами п’ятим - десятим.

4. Пункт 19 після абзацу першого доповнити новим абзацом такого змісту:

“У разі фінансування органами місцевого самоврядування (військовими адміністраціями населених пунктів - у разі їх утворення), місцевими держадміністраціями (відповідними військовими адміністраціями - у разі їх утворення) формування фонду житла, призначеного для тимчасового проживання внутрішньо переміщених осіб за межами території, в межах якої вони здійснюють повноваження, або залучення ними з цією метою коштів відповідний уповноважений орган приймає рішення про надання внутрішньо переміщеним особам житла з фонду, сформованого за рахунок таких коштів, відповідно до угод (договорів, меморандумів тощо), укладених між такими органами.”.

У зв’язку з цим абзац другий вважати абзацом третім.

5. У пункті 20:

1) у підпункті 1:

абзац перший викласти в такій редакції:

“1) пріоритетні критерії (нараховуються на сім’ю/внутрішньо переміщену особу за найвищим показником):”;

доповнити підпункт після абзацу першого новими абзацами такого змісту:

“сім’ї військовослужбовців з числа внутрішньо переміщених осіб, які беруть/брали участь у бойових діях або забезпечують/забезпечували здійснення заходів з національної безпеки і оборони, відсічі і стримування збройної агресії, перебуваючи безпосередньо в районах ведення бойових дій у період здійснення зазначених заходів, - 50 балів;

внутрішньо переміщені особи, які зазнали повторного внутрішнього переміщення через повномасштабну збройну агресію Російської Федерації, - 27 балів;

внутрішньо переміщені особи з числа мешканців відповідної територіальної громади, яка здійснює забезпечення житловими приміщеннями з фонду, житло яких було зруйноване або стало непридатним для проживання внаслідок збройної агресії Російської Федерації, - 27 балів;”.

У зв’язку з цим абзаци другий - сьомий вважати відповідно абзацами п’ятим - десятим;

абзаци восьмий - десятий викласти в такій редакції:

“сім’ї, у складі яких є вагітні жінки/одинокі вагітні жінки, - 24 бали;

сім’ї, у складі яких є особи, які втратили працездатність/одинокі особи, які втратили працездатність, - 23 бали;

сім’ї, у складі яких є особи пенсійного віку/одинокі особи пенсійного віку, - 22 бали;”;

2) абзац тринадцятий підпункту 2 викласти в такій редакції:

“сім’ї, у яких середньомісячний сукупний дохід за попередні шість місяців, розрахований уповноваженим органом відповідно до Порядку обчислення середньомісячного сукупного доходу сім’ї (домогосподарства) для усіх видів державної соціальної допомоги, затвердженого постановою Кабінету Міністрів України від 22 липня 2020 р. № 632 “Деякі питання виплати державної соціальної допомоги” (Офіційний вісник України, 2020 р., № 61, ст. 1981), менший від прожиткового мінімуму на сім’ю в розрахунку на місяць та величини регіонального показника опосередкованої вартості наймання житла, - 3 бали на сім’ю;”.

6. Абзац перший додатка 1 до Порядку викласти в такій редакції:

“Соціально незахищені верстви населення із числа внутрішньо переміщених осіб, які перемістилися з територій, включених до переліку територій, на яких ведуться (велися) бойові дії або тимчасово окупованих Російською Федерацією, затвердженого Мінреінтеграції, для яких не визначено дату завершення бойових дій (припинення можливості бойових дій) або тимчасової окупації, житло яких, що було для них єдиним місцем проживання, зруйноване або непридатне для проживання внаслідок пошкодження у зв’язку з воєнними (бойовими) діями:”.

7. Додаток 2 до Порядку викласти в такій редакції:
    QUESTION:"підсумуй контент"

    ANSWER:  На початку року Кабінет Міністрів ухвалив постанову, яка розширює перелік пріоритетних для надання житла категорій ВПО. Цією постановою уряд заборонив місцевій владі не брати ВПО на облік громадян, що потребують тимчасового житла, з причини відсутності вільного житлового фонду. Новий підхід дозволить порахувати, скільки ВПО потребують тимчасового соціального житла від держави, та спробувати задовольнити цю потребу.

    Context: ""
    QUESTION: "підсумуй контекст"
    Answer: "Я не маю релевантної інформації. Спробуйте ще"

    Ти асистент для надання відповідей з законодавства України. Ти описуєш зміни в законодавстві просто, доступно для підлітка. Якщо  Context не містить потрібної інформації (пустий) - пиши "Я не маю релевантної інформації. Спробуйте ще". На вхід ти отримав один закон, підсумуй його простими словами, викинь формальності та стандартні фрази.

    Context: {context}
     QUESTION:
    {question}
    Answer:
    [/INST]
    """
    prompt = PromptTemplate(
        input_variables=["context", "question"],
        template=template,
    )

    rag_chain_from_docs = (
            RunnablePassthrough.assign(context=(lambda x: format_docs(x["context"])))
            | prompt
            | mistral_llm
            | StrOutputParser()
    )
    ret2 =db3.as_retriever( search_kwargs={"k": 15, "filter": {'act_number': {
                                                                               '$eq': act_number}}})
    rag_chain_summarize = RunnableParallel(
        {"context": ret2 , "question": RunnablePassthrough()}
    ).assign(answer=rag_chain_from_docs)

    return rag_chain_summarize.invoke("підсумуй контекст")


def generate_answer(message, history, checkbox, subject_input, rubric, date_beg, date_end, act_number):
    result = ""
    if checkbox:
        if act_number == "":
            return "Будь ласка, введіть номер акту для отримання основної інформації з нього, або зніміть відповідний прапорець."
        result = summarize_act(message, act_number)
    else:
        if subject_input is None and rubric is None and date_beg == "2010-01-01" and date_end == "2025-01-01":
            result = rag_chain_with_source.invoke(message)
        else:
            if subject_input is None or subject_input == []:
                subject_input = ["Президент України", "Кабінет міністрів України", "Народний депутат України"]
            if rubric is None or rubric == []:
                rubric = ['Двосторонні міжнародні угоди', 'Багатосторонні міжнародні угоди',
                          'Галузевий розвиток', 'Економічна політика',
                          'Державне будівництво', 'Соціальна політика', 'Правова політика',
                          'Безпека і оборона', 'Гуманітарна політика']
            result = generate_with_filters(message, subject_input, rubric, date_beg, date_end)


    result['answer'] =result['answer'].split("[/INST]")[-1].strip()
    formatted_results = format_result(result)
    return formatted_results


def change_group(check_value):
    if check_value :
     return [gr.update(visible=False), gr.update(visible=False), gr.update(visible=False), gr.update(visible=False), gr.update(visible=True)]
    else:
        return [gr.update(visible=True), gr.update(visible=True), gr.update(visible=True), gr.update(visible=True),
                gr.update(visible=False)]


with gr.Blocks(theme=gr.themes.Soft()) as demo :

    with gr.Group() as group_components :
        date_beg =Calendar(type="string", label="Почакова дата пошуку", info="Натисніть на значок календаря для вибору дати", render = False, value="2010-01-01")
        date_end =  Calendar(type="string", label="Кінцева дата пошуку", info="Натисніть на значок календаря для вибору дати", render = False,  value="2025-01-01")

        subject_input = gr.Dropdown(
      ["Президент України", "Кабінет міністрів України", "Народний депутат України"],  multiselect=True, label="Ініціатор", info="Виберіть ініціатора законопроєкту", render=False)
        rubric =  gr.Dropdown(['Двосторонні міжнародні угоди', 'Багатосторонні міжнародні угоди',
       'Галузевий розвиток', 'Економічна політика',
       'Державне будівництво', 'Соціальна політика', 'Правова політика',
       'Безпека і оборона', 'Гуманітарна політика'], multiselect=True, label='Тематика', info="Оберіть, яких галузей стосується законопроєкт", render=False)


        act_number = gr.Textbox(label='Номер законодавчого акту', placeholder="Наприклад: 861-20 ",visible= False, render=False)


    action_checkbox = gr.Checkbox(label="Хочу отримати підсумок одного документу", value=False, render=False)
    action_checkbox.input(fn=change_group, inputs= [action_checkbox], outputs = [subject_input, date_beg, date_end, rubric, act_number])
    gr.ChatInterface(

                            generate_answer,
                            chatbot=gr.Chatbot(height=400, render = False),
                            textbox = gr.Textbox(placeholder="Ввести питання", container=False, scale=7, render = False),
                            title="Законодавчий Помічник",
                            description="Спитай мене про будь-які регуляції в чинних законах України, прийнятих VIII та IX скликанням ВРУ.",
                          #  # examples=["мобілізація", "земельна реформа", "екологія"],

                            cache_examples=False,
                            retry_btn=None,
                            undo_btn=None,
                            clear_btn=None,
                            submit_btn="Спитати",
                            stop_btn=None,
                            additional_inputs=[
                               action_checkbox,
                               subject_input,
                               rubric,
                               date_beg,
                               date_end,
                               act_number          ],
                            additional_inputs_accordion=gr.Accordion(open=False, label="Додаткові фільтри", render = False)

                        )





    demo.launch(share = True, debug = True)