turns-00051.parquet:34867
f22a4347076772ee4e8f5305
turn 1/1gpt-4o-2024-08-06RussianUnited States790 words
degenerate_repetitionAbsentFinal dense release
USER
ОПИСАНИЕ: Тебе необходимо проанализировать JSON-данные с организациями и привести их в формат:
1) id;
2) organization (название организации), взять из title;
2.1) value перенести title;
2.2) name взять из title название организации (не юридическое лицо), не использовать её юридическое лицо (пример если title "КИВ-125 (ИП Попонин ИН)", то name = "КИВ-125"), если нет - поставить null;
2.3) legal взять из title юридическое лицо (ИП, ООО, ОАО, АО, итд) + НАИМЕНОВАНИЕ ОРГАНИЗАЦИИ, не использовать название (пример если title "КИВ-125 (ИП Попонин ИН)", то leagl = "ИП Попонин ИН"), если нет - поставить null;
2.4) inn если получается найти сведения об ИНН нужно его записать сюда, если нет - null;
3) city (город организации, русский язык), взять из city;
4) country (страна организации, русский язык), определить по city, если не получается поставить null;
5) contacts (контактные лица) - массив объектов, каждый объект содержит поля ниже, сами контактные лица найти в объекте организации (contact_person+phone+email+site+comment), автоматически определить и разбить, если какая-то информация отсутствует, поставить в поле null, если разные номера/адреса почты принадлежат одному контактному лицу, но разные по смыслу необходимо их разделить и к каждому написать комментарий:
5.1) name (имя контактного лица);
5.2) emails (почта контактного лица) - массив записей ({"value": "ПОЧТА", "comment": "ОПИСАНИЕ или null"}) для конкретного контакта с одинаковым комментарием;
5.3) phones (телефон контактного лица) - массив записей ({"value": "ТЕЛЕФОН", "comment": "ОПИСАНИЕ или null"}) для конкретного контакта с одинаковым комментарием;
5.4) role (роль контактного лица) - строка, если получится определить роль в организации - записать, если нет - null;
5.5) comment (комментарий к контакту) - строка с комментарием к контактному лицу, телефону или емейлу, если в тексте встречается комментарий к конкретному номеру, контактному лицу или емейлу его нужно вынести отдельным контактом и добавить комментарий, в противном случае null;
6) site (сайт организации), взять из site, обработать, если нет, поставить null, сайт может содержать другие данные, кроме ссылки, их переносить в это поле не нужно оно только для адреса сайта;
7) active (активность организации), взять из active преобразовать в boolean;
8) comment (комментарий), объединить все комментарии из объекта организации (comment, иногда комментарий так же в поле site, искать в других полях всё, что можно перенести сюда), если поле пустое поставить null;
9) prices (цены) - массив объектов, каждый объект содержит поля ниже, цены найти в объекте организации, автоматически определить и разбить (искать в полях: comment, site), цена и название услугу не отделяются точкой или восклицательным или вопросительным знаком:
9.1) name (наименование услуги, перевести в нижний регистр, русский язык) - необходимо определить, что является названием услуги, если есть явный разделитель между ценой и наименованием, а смысл теряется - ставим null;
9.2) price (цена услуги) - произвольный формат (строка), пример "от 1000 руб.", "по договорённости", "от 500 до 1000 рублей", "100р", итд, цена может быть написана в любом формате, нужно это определить;
10) services (услуги, перевести в нижний регистр, русский язык, перевести в единственное число) - массив содержащий формат ключ-значение, ключ - название услуги, значение - boolean, важные правила:
10.1) по умолчанию услуга "монтаж бризера" должна быть true, если в полях (comment, site, ...) не указано обратное;
10.2) по умолчанию услуга "монтаж кондиционера" должна быть false, если в полях (comment, site, ...) не указано обратное;
10.3) другие услуги определить из текста (comment, site, phone, email, contact_person, ...);
11) extra_params (дополнительные параметры, перевести в нижний регистр, русский язык) - массив строк содержащих важные данные об организации, теги, ключевые и значимые параметры, эти данные нужно определить по другим полям, как пример: "дилер", "неделя ожидания", "неактивен", "оплата только налом", "без доставки", остальные ключевые параметры определи сам, искать в полях: comment, site, не сипользовать: города, имена, личные данные;
12) related_organizations (связанные организации) - массив строк, содержащих названия организаций, которые связаны с текущей организацией, определить по тексту;
13) work_cities (города работы) - массив строк, содержащих города, в которых работает организация, определить по тексту, основной город не должен фигурировать в списке;
14) problematic (проблемные организации) - boolean, определить по тексту, если не получается, поставить false;
Все данные должны об объекте быть распределены в какой-нибудь раздел, если не получается распределить данные ты можешь добавить поле other ({"value": "ДАННЫЕ", "comment": "ТВОЙ КОММЕНТАРИЙ, ЧТО ЭТО ЗА ДАННЫЕ"}[]) и поместить данные туда; | ДАННЫЕ (JSON): [{"id":57,"created_at":1536908401,"updated_at":1673335967,"title":"ИП Крижановский","city":"Мурманск","phone":"+79062887345","contact_person":"Владимир Крижановский","email":"v76@list.ru","site":"","comment":"Северный прайс! 9200 / Ожидаем подписания соглашения / Купил энергофлекс, работает по упрощенке, есть возможность выставления счетов на монтаж без НДС. / Не работает до конца 22 года, утончить активность после НГ праздников. бурилка течет, будет ремонт","active":0}]; | ФОРМАТ: вернуть только json, без переносов и отступовASSISTANT
```json
[{"id":57,"organization":{"value":"ИП Крижановский","name":null,"legal":"ИП Крижановский","inn":null},"city":"Мурманск","country":"Россия","contacts":[{"name":"Владимир Крижановский","emails":[{"value":"v76@list.ru","comment":null}],"phones":[{"value":"+79062887345","comment":null}],"role":null,"comment":null}],"site":null,"active":false,"comment":"Северный прайс! Ожидаем подписания соглашения. Купил энергофлекс, работает по упрощенке, есть возможность выставления счетов на монтаж без НДС. Не работает до конца 22 года, уточнить активность после НГ праздников. Бурилка течет, будет ремонт.","prices":[{"name":"северный прайс","price":"9200"}],"services":{"монтаж бризера":true,"монтаж кондиционера":false},"extra_params":["ожидаем подписания соглашения","работает по упрощенке","возможность выставления счетов на монтаж без ндс","не работает до конца 22 года","утончить активность после нг праздников","бурилка течет","будет ремонт"],"related_organizations":[],"work_cities":[],"problematic":true}]
```