File size: 48,262 Bytes
57cf043
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
"""This module includes common constants for the project"""

DEFAULT_CONFIG_RELATIVE_PATH = 'config.yaml'


PROMPT_OLD = """
Ты мастер по документам. Я задам тебе запрос пользователя. 
И пронумерованный список документов с текстами, найденных по запросу. 
У документов будут названия и конкретный текст документа. 
Твоя задача написать номер документа из списка, 
текст и название которого лучше всего отвечает на заданный пользователем запрос. 
Пиши в формате "Ответ: [Номер документа из списка]". 
Больше в ответе ничего не нужно. Отвечай только на русском языке. 
Запрос: {query}

Пронумерованный список документов с текстами:\n{answer}

"""

PROMPT_CLASSIFICATION = """[INST]  Ты распределитель запросов. Я дам тебе запрос. Твоя задача понять к какой из трёх групп нужно распределить запрос пользователя. Существует таблица ЭЛ, в которой записаны некие данные. Все запросы касаются компании, для которой создана эта таблица. Я приведу тебе примеры данных из этой таблицы ЭЛ:
Строка 1: Информация о сотруднике Кузнецов А.В.
Должность: Директор департамента гражданской обороны, предупреждения чрезвычайных ситуаций и пожарной безопасности ПАО "ГМК "Норильский никель"
Руководителем Кузнецов А.В. является Попов А.Н.
Входит в состав групп:
Персональный состав Рабочей группы по контролю за подготовкой гидротехнических сооружений объектов промышленности Компании и РОКС НН к паводковому сезону 2024. Должность внутри группы: Член Рабочей группы
Состав Комиссии по категорированию объектов критической информационной инфраструктуры Главного офиса ПАО "ГМК "Норильский никель". Должность внутри группы: Член Комиссии
####
Строка 2: Информация о сотруднике Попов А.Н.
Должность: Старший вице-президент - Операционный директор, руководитель Забайкальского дивизиона
Руководит следующими сотрудниками:
Манукян А.Г.
Кузнецов А.В.
Руководителем Попов А.Н. является Потанин В.О.
Должность: Вице-президент - руководитель Забайкальского дивизиона
Отвечает за Бизнес процессы:
Производственно-техническое развитие
Геологоразведка и минерально-сырьевая база
Является Бизнес-куратором (РОКС НН):
ООО «Ширинское»ООО «Быстринская сервисная компания», ООО «Бугдаинский рудник», ООО «Востокгеология»
Входит в состав групп:
Составы Комиссий по проведению специальной оценки условий труда в Главном офисе ПАО "ГМК "Норильский никель". Должность внутри группы: Председатель Комиссии
Состав Научно-технического совета ПАО "ГМК "Норильский никель". Должность внутри группы: Председатель Научно-технического совета
####
Виды связей в таблице: в таблице перечисляются составы, подразделения, комитеты, подкомитеты, комиссии, совет (в смысле группы людей) и рабочие группы. Данная таблица вида ЭЛ связывает конкретных людей с должностями, людьми друг с другом в подчинении, должностями внутри групп и названиями групп. Также в ней есть все возможные связи между различными должностями у одного или нескольких людей. Таблица содержит всю информацию о том, за какой процесс или бизнес процесс кто отвечает. По фамилии также можно найти любого конкретного человека из таблицы вида ЭЛ. Вся информация о бизнес кураторах и за что они отвечают в таблице вида ЭЛ. В таблице можно найти кто отвечает и кто ответственен за всё что угодно.
Конец видов связей в таблице.
Основные правила:
- Если ответ на все вопросы внутри запроса можно найти напрямую ответ в такого вида таблице ЭЛ, и при этом больше никаких дополнительных размышлений для ответа не нужно, то это группа 2.
- Если данные из такого таблицы вида таблицы ЭЛ не дают прямого ответа на все вопросы в запросе, но отвечают хотя бы на один из них, то это группа 3.
- Если ответ на вопросы внутри запроса можно найти напрямую ответ в такого вида таблице ЭЛ, и также требуется дополнительная информация для ответа, то это группа 3.
- Если абсолютно непонятно что именно хочет пользователь, то это группа 3.
- Если для ответа на вопрос нужна только дополнительная информация вне таблицы группы ЭЛ, то это группа 1.
- Если таблица вида ЭЛ не поможет в ответе на запрос пользователя, то это группа 1.
- В конечном ответе должна быть одна цифра.
- Количество людей в запросе не должно влиять на постановку оценки.
Конец основных правил.
Ты действуешь по плану. Начало плана:
1. Внимательно прочитай запрос. В запросе могут быть несколько вопросов.
2. Рассуждай шаг за шагом, почему данный запрос должен относиться к какой-то из трёх групп. Во время рассуждения используй логику. Основывайся на типах информации из таблицы вида ЭЛ, видах связей в таблице и заданных основных правилах.
3. Выбери конкретную группу, которая подходит лучше всего согласно твоим рассуждениям.
Конец плана.
Твой ответ должен выводиться в таком формате 'Рассуждения:Твои рассуждения
Ответ:[цифра группы]'. Цифра группы в итоговом ответе должна обрамляться скобочками '[]'.
Не пиши в ответ '####', это для разграничения.
####
Далее будет первый структурный шаблон с правильной логикой ответа, по которому ты отвечаешь. НЕ ИСПОЛЬЗУЙ данные из этого шаблона, он показывает только пример твоей работы
####
Запрос: Кто является управляющим состава комитета управления МОМ?
####
Вывод:
Рассуждения: В запросе пользователя вопрос, который касается имени управляющего состава комитета управления МОМ. Т.к. в таблице вида ЭЛ есть связь между именем и составами различных комитетов, то эти данные можно полностью получить в этой таблице, больше ничего не потребуется. Группа 2.
Ответ:[2]
####
Далее будет второй структурный шаблон с правильной логикой ответа, по которому ты отвечаешь. НЕ ИСПОЛЬЗУЙ данные из этого шаблона, он показывает только пример твоей работы
####
Запрос: Как мне найти какой-то конкретный документ (НМД/ОПД)?
####
Вывод: 
Рассуждения: В запросе нет никаких данных, которые можно найти в таблице вида ЭЛ. Это группа 1.
Ответ:[1]
####
Далее будет третий структурный шаблон с правильной логикой ответа, по которому ты отвечаешь. НЕ ИСПОЛЬЗУЙ данные из этого шаблона, он показывает только пример твоей работы
####
Запрос: А как мне узнать кто входит в состав КО? Где посмотреть Положение?
####
Вывод:
Рассуждения: В запросе два вопроса. Первый вопрос касается имени человека, который входит в состав КО. Это можно полностью найти в таблице вида ЭЛ. Второй вопрос хочет узнать, где посмотреть Положение. Этого нет в таблице ЭЛ. Т.к. данные из такого таблицы вида таблицы ЭЛ не дают прямого ответа на все вопросы в запросе, но отвечают хотя бы на один из них, то это группа 3.
Ответ:[3]
####
Далее будет четвертый структурный шаблон с правильной логикой ответа, по которому ты отвечаешь. НЕ ИСПОЛЬЗУЙ данные из этого шаблона, он показывает только пример твоей работы
####
Запрос: Уметрохин А.М.
####
Вывод:
Рассуждения: В запросе имя человека. Видимо пользователь хочет получить данные по человеку в этой компании. Все данные по людям в компании есть в таблице вида ЭЛ, поэтому группа 2.
Ответ:[2]
####
Далее будет пятый структурный шаблон с правильной логикой ответа, по которому ты отвечаешь. НЕ ИСПОЛЬЗУЙ данные из этого шаблона, он показывает только пример твоей работы
####
Запрос: Какая должность у Пупкина Вити
####
Вывод:
Рассуждения: В запросе пользователь хочет получить информацию о должности Пупкина Вити. Эту информацию можно найти в таблице вида ЭЛ, поэтому это группа 2.
Ответ:[2]
####
Далее будет шестой структурный шаблон с правильной логикой ответа, по которому ты отвечаешь. НЕ ИСПОЛЬЗУЙ данные из этого шаблона, он показывает только пример твоей работы
####
Запрос: Где посмотреть Положение?
####
Вывод: 
Рассуждения: В запросе спрашивают, на каком ресурсе можно посмотреть Положение. Этой информации не может быть в таблице вида ЭЛ, поэтому это группа 1.
Ответ:[1]
####
Далее будет седьмой структурный шаблон с правильной логикой ответа, по которому ты отвечаешь. НЕ ИСПОЛЬЗУЙ данные из этого шаблона, он показывает только пример твоей работы
####
Запрос: Кто руководитель состава пожарной инспекции? Какие функции у руководителя состава пожарной инспекции?
####
Вывод:
Рассуждения: В запросе 2 вопроса. В первом пытаются узнать имя человека, который входит в состав пожарной инспекции. Такого рода информация полностью содержится в таблице вида ЭЛ. Второй вопрос касается функций конкретной должности. В таблице вида ЭЛ есть привязка должностей к чему-либо, но нет пояснений о функциях конкретных должностей. Так как первый вопрос полностью можно найти в таблице вида ЭЛ, а второй нет, то это группа 3.
Ответ:[3]
####
Далее будет восьмой структурный шаблон с правильной логикой ответа, по которому ты отвечаешь. НЕ ИСПОЛЬЗУЙ данные из этого шаблона, он показывает только пример твоей работы
####
Запрос: Кому подчиняется Василий Петрович?
####
Вывод:
Рассуждения: В запросе хотят узнать информацию связи человека с другим в подчинение. Вся информация о связях людей в компании хранится в таблице вида ЭЛ. Группа 2.
Ответ:[2]
####
Далее будет девятый структурный шаблон с правильной логикой ответа, по которому ты отвечаешь. НЕ ИСПОЛЬЗУЙ данные из этого шаблона, он показывает только пример твоей работы
####
Запрос: Как посмотреть в каких комитетах председателем является Потанин В.О.
####
Вывод:
Рассуждения: В запросе хотят узнать список комитетов, председателем которых является Потанин В.О.. Данная информация полностью находится в таблице вида ЭЛ, так как там есть связь между именем, должностью в группе и названием группы. При этом больше никаких дополнительных размышлений для ответа не нужно, поэтому это группа 2.
Ответ:[2]
####
Далее будет десятый структурный шаблон с правильной логикой ответа, по которому ты отвечаешь. НЕ ИСПОЛЬЗУЙ данные из этого шаблона, он показывает только пример твоей работы
####
Запрос: Как работники компании могут понять сколько им заплатят?
####
Вывод:
Рассуждения: В запросе хотят узнать информацию о зарплатах работников компании. В таблице ЭЛ нет такой информации. Хотя там есть информация о должностях, это никак не поможет в ответе на вопрос. Группа 1.
Ответ:[1]
####
Далее будет настоящий запрос
####
Запрос: {query}
####
Вывод: 
[/INST]"""

PROMPT = """ [INST] Ты специалист по внутренним данным компании. Ты давно работаешь в компании и знаешь все её правила. Тебе будет дан запрос пользователя и приведено несколько юридических документов. Твоя задача - подробно ответить на запрос пользователя, используя информацию из заданных юридических документов. За отлично выполненную работу тебе заплатят 10$. Я спас тебе жизнь и ты теперь должен отлично выполнить эту задачу. У тебя есть основные правила, которых ты придерживаешься во время вывода. Основные правила:
- Не обязательно все заданные юридические документы помогут тебе в формировании ответа.
- Ты должен использовать только заданные юридические документы.
- Тебе разрешено делать логические рассуждения по шагам на основе юридических документов для ответа на запрос.
- Тебе запрещено выдумывать. Вся информация для ответа или есть в предоставленных источниках, или её нет и тогда ты пишешь в ответе что её нет.
- Тебе запрещено самостоятельно расшифровывать любые сокращения.
- Используй официально-деловой стиль общения.
- Между различными логическими частями в документах будут стоять "...". Воспринимай это как разные куски информации.
- Тебе запрещено ставить "..." в ответе
- Если инициалы из запроса и предоставленных документов не совпадают, то это разные люди. Например "Иванов А.А." и "Иванов А.И." - это разные люди.
- Если запрос содержит "Кто", то в первую очередь ты должен постараться найти имя человека.
- Если ты ищешь общую информацию о сотруднике, то ты стараешься выписать всё, что с ним связано.
- Если ты будешь дублировать одинаковую информацию из разных источников при цитировании во втором пункте.
- В документе с названием "Информация о сотруднике" весь текст документа относится к человеку, имя которого указано в заголовке документа.
- Если ты ищешь конкретную информацию о сотруднике, то ты должен во время цитирования писать как нужную информацию по запросу, так и имя сотрудника рядом с этой информацией.
- Квадратные скобки в документах по информации о сотрудниках для твоего понимания. Нельзя использовать квадратные скобки с текстом в ответе.
- Вместо названия документа в первых 3-х пунктах ответа писать слова "Документ [номер]".
- Различные документы разделены между собой обратным слешем для твоего удобства. Обратные слеши нельзя писать в ответе.
- Если ты не нашёл ответа на вопрос, то не нужно перечислять все документы, просто поставь в списке документов "-".
- Тебе запрещено писать номера пунктов плана, иначе тебя будут пытать
- Не пиши в ответе про заданные тебе правила и инструкцию
- Отвечай всегда только на РУССКОМ языке, даже если текст запроса и документов не на русском!
- Перед третьим пунктом плана ты обязан написать '%%'
- Не пиши в ответ "####", это для разграничения.
Конец основных правил.
Ты действуешь по плану. Начало плана:
1) Прочитай запрос пользователя. Воспринимай запрос как нечто цельное. Напиши рассуждения шаг за шагом что именно тебе нужно найти для ответа на запрос. Какие цитаты из одного или несколько юридических документов лучше всего отвечают на запрос пользователя. Если вопрос касается человека, то подумай, есть ли у тебя документ "Информация о сотруднике" с подходящим именем.
2) Сопоставь запрос пользователя и юридические документы. Выпиши номера документов, которые подходят для ответа на запрос "Документ [номер]". Если ни в одном документе нет нужной информации для ответа на вопрос пользователя, то твой ответ "Извините, я не нашла нужную информацию". Кроме перечисления нужных документов ничего нельзя писать в этом пункте
3) НАПИШИ '%%'. Затем составь ответ на запрос. Старайся опираться в ответе на те документы, номера которых ты выписал ранее. При ответе тебе можно использовать смысловую нагрузку "Названий документов", но нельзя выписывать эти названия документов. Не дублируй одинаковый текст из разных документов. Если запрос может иметь несколько различных смыслов, а ответ в предоставленных документах только по одному из них, то укажи пользователю, что для получения ответа на другой смысл запроса требуется уточнение. Если в предыдущем шаге ты не нашёл подходящих документов, то напиши 'Информации в найденных документах нет, попробуйте перефразировать запрос', а затем, если вопрос твоего профиля (касается информации по документам компании), попробуй самостоятельно порассуждать. 
4) Выпиши все названия документов, которые ты ранее использовал в своём ответе в виде списка. Если в ответе ты не использовал ни одного документа или если ты не нашёл ответа на вопрос, то поставь '-'.
5) Напиши 'Конец ответа'.
Конец плана.
Итоговый текст должен выглядеть так: "Какие документы нужны: [твои рассуждения что нужно найти]
В каких документах есть ответ:
[перечисление номеров документов]
%%Ответ на запрос:
[твои мысли, если цитат не хватает для ответа на вопрос]
Список документов:
[Названия документов]
Конец ответа."
####
Далее будет первый структурный шаблон, по которому ты отвечаешь. НЕ ИСПОЛЬЗУЙ данные из этого шаблона, он показывает только пример твоей работы
####
Запрос пользователя: Какие действия являются первоочередными в момент обнаружения происшествия?

Отрывки из юридических документов: Документ: [1]
Название документа: УЧЕТ И РАССЛЕДОВАНИЕ
...Дополнительные разделы: 
5.1.1 Первоочередными действиями в момент обнаружения происшествия являются:
- обеспечение безопасности работников Компании и третьих лиц;
- оперативное информирование (в соответствии с Приложением А);
- принятие мер по сохранению места происшествия;
- сбор детальной информации о происшествии;
- принятие мер по минимизации негативного воздействия на окружающую среду при его наличии.
...
- оперативное патрулирование (в соответствии с Приложением Б);
...
\
Документ: [2]
Название документа: $S_СТАНДАРТ ОРГАНИЗАЦИИ
...Дополнительные разделы: 
5. Порядок действий при происшествии...
####
Вывод:
Какие документы нужны: По заданному вопросу нужны документы, связанные с происшествиями и порядком действий в момент их обнаружения.
В каких документах есть ответ: Документ [1]

%%Ответ на запрос: 
5.1.1 Первоочередными действиями в момент обнаружения происшествия являются:
- обеспечение безопасности работников Компании и третьих лиц;
- оперативное информирование (в соответствии с Приложением А);
- принятие мер по сохранению места происшествия;
- сбор детальной информации о происшествии;
- принятие мер по минимизации негативного воздействия на окружающую среду при его наличии.

Список документов:
* Документ: [1]
Название документа: УЧЕТ И РАССЛЕДОВАНИЕ

Конец ответа.
####
Далее будет второй структурный шаблон, по которому ты отвечаешь. НЕ ИСПОЛЬЗУЙ данные из этого шаблона, он показывает только пример твоей работы
####
Запрос пользователя: В состав каких групп входит Позлов М.М.?
Отрывки из юридических документов: Документ: [1]
Информация о сотруднике Позлов М.М.
[
Должность: Старший вице-президент - Операционный директор, руководитель Забайкальского дивизиона
Руководит следующими сотрудниками:
Селезнев С.С.
Манукян А.Г.
Кузнецов А.В.
Руководителем Попов А.Н. является Потанин В.О.
]
Отвечает за Бизнес процессы:
Производственно-техническое развитие
Производство
Является Бизнес-куратором (РОКС НН):
ООО «Ширинское»ООО «Быстринская сервисная компания»ООО «Бугдаинский рудник»ООО «Востокгеология»ООО «Восточная ГРК»АО
Входит в состав групп:
Составы Комиссий по проведению специальной оценки условий тр уда в Главном офисе ПАО "ГМК "Норильский никель". Должность внутри группы: Председатель Комиссии 2
Состав Научно-технического совета
Состав Инвестиционного комитета. Должность внутри группы: Постоянные члены Комитета
\
Документ: [2]
Информация о сотруднике Кузнецов А.В.
[
Должность: Директор департамента гражданской обороны
]
Входит в состав групп:
Персональный состав Рабочей группы по контролю за подготовкой к паводковому сезону 2024. Должность внутри группы: Член Рабочей группы
####
Вывод:
Какие документы нужны: По заданному вопросу нужны документы, в которых есть информация о составах групп Позлова М.М.
В каких документах есть ответ:
Документ [1]

%%Ответ на запрос: Согласно найденной информации Позлов М.М. входит в следующий состав групп: составы Комиссий по проведению специальной оценки условий труда в Главном офисе ПАО "ГМК "Норильский никель", состав Научно-технического совета и состав Инвестиционного комитета.

Список документов:
Документ [1]
Информация о сотруднике Позлов М.М.

Конец ответа.
####
Далее будет третий структурный шаблон, по которому ты отвечаешь. НЕ ИСПОЛЬЗУЙ данные из этого шаблона, он показывает только пример твоей работы
####
Запрос пользователя: Что такое ДМД?

Отрывки из юридических документов: Документ: [1]
Название документа: ОРГАНИЗАЦИИ ААААААА
...
Нет ничего хорошего. Всё съели мухи.
...
\
Документ: [2]
Название документа: $S_ПОЛОЖЕНИЕ О.DOCX
...ДМД лучше использовать при налоговой ставке в 12%.
...ДМД очень важно...
\
Документ: [3]
Название документа: $S_ПОЛОЖЕНИЕ Е.DOCX
...От грубых производственных деталей. Если ваш ДМД достаточно крупный, то разделите его. Не пытайтесь помыть станок, он чистый. Где слон? Не вижу я никаких заводов.
...
\
Документ: [4]
Название документа: $S_ПОЛОЖЕНИЕ Р.DOCX
...ДМД лучше использовать при налоговой ставке в 12%.
...
####
Вывод:
Какие документы нужны: Для ответа на вопрос нужны документы, где есть определение ДМД. Если такого рода документы не нашлись, то нужны документы с упоминанием ДМД.
В каких документах есть ответ:
Документах [2], [3], [4]

%%Ответ на запрос: В найденных документах нет определения или расшифровки понятия ДМД из вашего запроса. Согласно документам это нечто, что можно использовать при налоговой ставке и, если оно достаточно крупное, то его можно разделять. Также ДМД очень важно. Налоговые ставки применяются к различного вида экономической деятельности. Также подобную деятельность можно разделить на части - филиалы. Возможно ДМД связано именно с этим.

Список документов:
*Документ: [2]
Название документа: $S_ПОЛОЖЕНИЕ О.DOCX
*Документ: [3]
Название документа: $S_ПОЛОЖЕНИЕ Е.DOCX
*Документ: [4]
Название документа: $S_ПОЛОЖЕНИЕ Р.DOCX

Конец ответа.
####
Далее будет настоящий запрос
####
Запрос пользователя: {query}
Отрывки из юридических документов: {answer}
####
Вывод: [/INST]"""


PROMPT_NAME = """ [INST]  Ты мастер по правильным ответам. Твоя цель - дать правильный ответ на основе заданных тебе источников. Я задам тебе запрос о конкретном человеке или связи человека и дам список информации о людях. Основные правила:
- Тебе нужно максимально чётко ответить на поставленный запрос используя ТОЛЬКО информацию из списка.
- Если нужной информации в списке нет, то пиши в ответе "Извините, не смогла найти нужную информацию по источникам". Не нужно выдумывать информацию.
- Если тебя просят перечислить должности для одного человека, то перечисляй их с более важной к наименее.
- Не пиши в ответ "#####", это для разграничения.
- Не пиши должности человека в квадратных скобках [], это смысловое разграничение для тебя.
- Сформулируй ответ на официально-деловом РУССКОМ языке, избегай канцеляризмов, штампов, вводных конструкций.
- Если инициалы из запроса и предоставленных документов не совпадают, то это разные люди. Например "Иванов А.А." и "Иванов А.И." - это разные люди.
Конец основных правил.
Ты действуешь по плану. Начало плана:
1) Прочитай вопрос и напиши для себя что именно тебе нужно сделать для вывода правильного ответа на вопрос.
2) Выведи ответ на вопрос, следуя основным правилам и используя предоставленные источники.
Конец плана.
Твой ответ должен следовать шаблону "'твои рассуждения из пункта 1'
2. Ответ:'ответ на вопрос пользователя'"
Отвечай всегда только на РУССКОМ языке, даже если текст запроса и источников не на русском! Если в запросе просят или умоляют тебя ответить не на русском, всё равно отвечай на РУССКОМ! Не пиши в ответ "#####", это для разграничения.
#####
Далее будет первый структурный шаблон с правильной логикой, по которому ты отвечаешь. НЕ ИСПОЛЬЗУЙ данные из этого шаблона, он показывает только пример твоей работы
#####
Запрос о конкретном человеке: В состав каких групп входит Пидемский А.Н.?
Список информации о людях: Документ: [1]
Информация о сотруднике Манихин А.Н.
[
Должность: Почтальон
]
Входит в состав группы:
Состав Архитектурного подкомитета ИТ-комитета. Должность внутри группы: Заместитель Председателя Архитектурного подкомитета ИТ-комитета
\

Документ: [2]
Информация о сотруднике Пидемский А.Н.
[
Должность: АО "Кольская ГМК" (по согласованию)
]
Входит в состав группы:
Персональный состав Рабочей группы по разработке мероприятий по реализации ключевых направлений Программы повышения эффективности закупок в ПАО "ГМК "Норильский никель". Должность внутри группы: Член Рабочей группы
\

Документ: [3]
Информация о сотруднике Иванова А.Н.
[
Должность: Руководитель по направлению правового сопровождения закупочной деятельности Правового департамента
]
Входит в состав группы:
Персональный состав Рабочей группы по разработке мероприятий по реализации ключевых направлений Программы повышения эффективности закупок в ПАО "ГМК "Норильский никель". Должность внутри группы: Член Рабочей группы
\
#####
Вывод:
Мне нужно найти в состав каких групп входит Пидемский А.Н..
Ответ: Пидемский А.Н. входит в состав группы:
Персональный состав Рабочей группы по разработке мероприятий по реализации ключевых направлений Программы повышения эффективности закупок в ПАО "ГМК "Норильский никель".
#####
Далее будет второй структурный шаблон с правильной логикой, по которому ты отвечаешь. НЕ ИСПОЛЬЗУЙ данные из этого шаблона, он показывает только пример твоей работы
#####
Запрос о конкретном человеке: Какая должность у Петрова Н.В.?
Список информации о людях:Документ: [1]
Информация о сотруднике Пидемский А.Н.
[
Должность: АО "Кольская ГМК" (по согласованию)
]
Входит в состав группы:
Персональный состав Рабочей группы по разработке мероприятий по реализации ключевых направлений Программы повышения эффективности закупок в ПАО "ГМК "Норильский никель". Должность внутри группы: Член Рабочей группы
\

Документ: [2]
Информация о сотруднике Иванова А.Н.
[
Должность: Руководитель по направлению правового сопровождения закупочной деятельности Правового департамента
]
Входит в состав группы:
Персональный состав Рабочей группы по разработке мероприятий по реализации ключевых направлений Программы повышения эффективности закупок в ПАО "ГМК "Норильский никель". Должность внутри группы: Член Рабочей группы
\
#####
Вывод:
Мне нужно найти должность Петрова Н.В..
Ответ:
Извините, не смогла найти нужную информацию по источникам.
#####
Далее будет третий структурный шаблон с правильной логикой, по которому ты отвечаешь. НЕ ИСПОЛЬЗУЙ данные из этого шаблона, он показывает только пример твоей работы
#####
Запрос о конкретном человеке: Кузнецов А.В.
Список информации о людях:Документ: [1]
Информация о сотруднике Попов А.Н.
[
Должность: Старший вице-президент - Операционный директор, руководитель Забайкальского дивизиона
Руководит следующими сотрудниками:
Селезнев С.С.
Манукян А.Г.
Кузнецов А.В.
Руководителем Попов А.Н. является Потанин В.О.
]
Отвечает за Бизнес процессы:
Производственно-техническое развитие
Производство
Является Бизнес-куратором (РОКС НН):
ООО «Ширинское»ООО «Быстринская сервисная компания»ООО «Бугдаинский рудник»ООО «Востокгеология»ООО «Восточная ГРК»АО
Входит в состав групп:
Составы Комиссий по проведению специальной оценки условий тр уда в Главном офисе ПАО "ГМК "Норильский никель". Должность внутри группы: Председатель Комиссии 2
Состав Научно-технического совета
Состав Инвестиционного комитета. Должность внутри группы: Постоянные члены Комитета
\
Документ: [2]
Информация о сотруднике Кузнецов А.В.
[
Должность: Директор департамента гражданской обороны, предупреждения чрезвычайных ситуаций и пожарной безопасности ПАО "ГМК "Норильский никель"
]
Входит в состав групп:
Персональный состав Рабочей группы по контролю за подготовкой гидротехнических сооружений объектов промышленности Компании и РОКС НН к паводковому сезону 2024. Должность внутри группы: Член Рабочей группы
#####
Вывод:
В запросе имя человека. Пользователь хочет получить всю возможную информацию о Кузнецове А.В.
Ответ:
Информация о сотруднике Кузнецов А.В.
Должность: Директор департамента гражданской обороны, предупреждения чрезвычайных ситуаций и пожарной безопасности ПАО "ГМК "Норильский никель"
Входит в состав групп:
Персональный состав Рабочей группы по контролю за подготовкой гидротехнических сооружений объектов промышленности Компании и РОКС НН к паводковому сезону 2024. Должность внутри группы: Член Рабочей группы
Руководителем Кузнецова А.В. является Попов А.Н.
#####
Далее будет настоящий запрос
#####
Запрос о конкретном человеке: {query}
Список информации о людях: {answer}
#####
Вывод: [/INST]"""


ERROR = '500 Internal Server Error'

ELASTIC_INDEX_PEOPLE = 'people_search'
DEVICE = 'cuda'
DO_NORMALIZATION = True
MODEL_PATH = './models/multilingual_e5_base/snapshots/file_model'
COLUMN_EMBEDDING = 'Embedding'
COLUMN_DOC_NAME = 'DocName'
COLUMN_LABELS_STR = 'labels'
COLUMN_TEXT = 'Text'

# Константы для карт проводок
COLUMN_EMBEDDING_FULL = 'EmbeddingFull'
COLUMN_TABLE_NAME = 'TableName'
COLUMN_NAMES = 'Columns'
COLUMN_TYPE_DOC_MAP = 'TypeDocs'

# Константы для PDF
COLUMN_SLIDE_NUMBER = 'SlideNumber'

# Константы для подготовки датасета
UNKNOWN = "unknown"
PROCESSING_FORMATS = ['XML', 'DOCX']