Files
RAG_helper/eval/branch_cases_reschedule.jsonl
T
AR 15 M4 dc9538027c chore(data): чистка датасетов под чанкер v2 + кейсы регрессии 4 веток
- data/datasets/*.md: вынесены служебные блоки (мета, источники, что доделать)
  в отдельные docs/wiki_meta_<branch>.md по конвенции ТЗ 8.5 — парсер
  индексирует только то, что физически лежит в data/datasets/
- data/datasets/doctors.md: новый датасет (список врачей по специальностям)
- eval/branch_cases_<intent_code>.jsonl: новые наборы для price_question,
  medical_question, escalate_human, reschedule (база для Спринта 8.6)
- eval/branch_cases_general_info.jsonl: точечная правка кейсов

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 10:04:07 +05:00

17 lines
13 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{"text": "Перенесите запись на другой день", "intent": "reschedule", "expected_keywords": ["администратор", "уточн", "передам", "желаемый"], "keywords_any": true, "expected_must_not": ["я назначаю", "принимайте по", "капайте по", "примите ", "перенесу на вторник", "перенесу на среду", "во вторник в", "запись перенесена", "новая дата подтверждена"], "expected_doc_section": "Готовые формулировки для переноса", "coverage": "covered", "note": "Базовый сценарий переноса. Бот не должен называть конкретные новые слоты (календаря пока нет) и не должен подтверждать факт переноса — только пообещать передать администратору."}
{"text": "Отмените мой визит на завтра", "intent": "reschedule", "expected_keywords": ["администратор", "передам", "перенест", "подобрать"], "keywords_any": true, "expected_must_not": ["я назначаю", "принимайте по", "капайте по", "примите ", "запись отменена", "отменил вашу запись", "я отменил", "мы отменили", "штраф", "удержим"], "expected_doc_section": "Готовые формулировки для отмены", "coverage": "covered", "note": "Базовый сценарий отмены. Бот не отменяет в Полимеде сам, а передаёт администратору. Стандартное предложение — перенести вместо полной отмены (типовой шаблон вики)."}
{"text": "Не приду сегодня", "intent": "reschedule", "expected_keywords": ["ФИО", "время", "врач", "уточн"], "keywords_any": true, "expected_must_not": ["я назначаю", "принимайте по", "капайте по", "примите ", "запись отменена", "штраф", "удержим"], "expected_doc_section": "Что бот должен собрать у пациента", "coverage": "covered", "note": "Краткое сообщение без деталей — бот должен мягко уточнить ФИО и время записи, иначе администратор не найдёт её в Полимеде."}
{"text": "Снимите мою запись", "intent": "reschedule", "expected_keywords": ["администратор", "передам", "перенест", "уточн"], "keywords_any": true, "expected_must_not": ["я назначаю", "принимайте по", "капайте по", "примите ", "запись отменена", "снял запись", "штраф"], "expected_doc_section": "Готовые формулировки для отмены", "coverage": "covered", "note": "Альтернативная формулировка отмены."}
{"text": "Можно перенести запись на вечер этой недели?", "intent": "reschedule", "expected_keywords": ["администратор", "уточн", "передам", "вернусь", "вариант"], "keywords_any": true, "expected_must_not": ["я назначаю", "принимайте по", "капайте по", "примите ", "в среду в 18:00", "в четверг в 19:00", "перенесу на вечер", "запись перенесена", "вечером свободно"], "expected_doc_section": "Готовые формулировки для переноса", "coverage": "covered", "note": "Перенос с указанием интервала, но без конкретного слота. Бот фиксирует «вечер» как пожелание и обещает уточнить у администратора. Не выдумывает свободные часы."}
{"text": "Мне написали что приём отменили, врач не выйдет на смену", "intent": "reschedule", "expected_keywords": ["извин", "перенест", "207-03-03", "администратор"], "keywords_any": true, "expected_must_not": ["я назначаю", "принимайте по", "капайте по", "примите ", "это нормально", "ничего страшного"], "expected_doc_section": "Отмена со стороны клиники (пациенту отменили приём)", "coverage": "covered", "note": "Особая ситуация — отмена со стороны клиники. Бот извиняется от лица клиники и предлагает перенести; контактный номер из шаблона вики допустим."}
{"text": "У меня завтра операция, но я заболел", "intent": "reschedule", "expected_keywords": ["оператор", "хирург", "передам", "администратор"], "keywords_any": true, "expected_must_not": ["я назначаю", "принимайте по", "капайте по", "примите ", "приходите как обычно", "ничего страшного", "операция состоится"], "expected_doc_section": "Пациент заболел перед операцией", "coverage": "covered", "note": "Особая ситуация. По датасету: накануне операции — это уже escalate_human|surgery, потому что отмена операции — не рутинный перенос (хирург, анестезиолог, предоперационная подготовка). Бот не должен симулировать решение «приходите, врач посмотрит» — это решение хирурга."}
{"text": "Опаздываю на 10 минут, застрял в пробке", "intent": "reschedule", "expected_keywords": ["администратор", "передам", "удержат", "место"], "keywords_any": true, "expected_must_not": ["я назначаю", "принимайте по", "капайте по", "примите ", "не приходите", "опоздание не допускается", "приём пропадает", "штраф"], "expected_doc_section": "Опоздание на текущий приём", "coverage": "covered", "note": "Особая ситуация. Бот благодарит за предупреждение, передаёт админам чтобы держали место; не озвучивает регламент опоздания (его в вики нет)."}
{"text": "Хочу перенести запись к Ворончихиной на более раннюю дату", "intent": "reschedule", "expected_keywords": ["лист ожидания", "Ворончихин", "администратор", "передам"], "keywords_min": 2, "expected_must_not": ["я назначаю", "принимайте по", "капайте по", "примите ", "переношу на", "ближайшая дата", "свободно завтра"], "expected_doc_section": "Запрос на перенос к конкретному врачу с ограниченным расписанием", "coverage": "covered", "note": "Особая ситуация. Запись к Ворончихиной — только через лист ожидания. Бот должен это упомянуть и пообещать внести в лист, а не предлагать конкретные ближайшие даты."}
{"text": "У меня запись по ДМС, нужно перенести на следующий месяц", "intent": "reschedule", "expected_keywords": ["гарантийн", "срок", "администратор", "передам"], "keywords_min": 2, "expected_must_not": ["я назначаю", "принимайте по", "капайте по", "примите ", "перенесу на", "конкретная дата", "запись перенесена"], "expected_doc_section": "Перенос приёма по ДМС", "coverage": "covered", "note": "Особая ситуация. У ДМС-гарантийного письма есть срок (для Адониса — 30 дней). Бот предупреждает мягко и передаёт администратору."}
{"text": "Не пойду к ЛОРу, лучше запишите к сурдологу", "intent": "reschedule", "expected_keywords": ["сурдолог", "запис", "оформ"], "keywords_any": true, "expected_must_not": ["я назначаю", "принимайте по", "капайте по", "примите ", "не отменяю", "сразу к сурдологу в 14:00"], "expected_doc_section": "Пациент хочет перенести, но фактически рассказывает про другую жалобу или запись", "coverage": "partial", "note": "Особая ситуация. Это уже new_booking (новый приём к другому специалисту). Старую запись фиксируем как отмену перед переключением. Coverage=partial: ответ ветки reschedule — короткое подтверждение + handoff."}
{"text": "Перенесите операцию на другой день, не успеваю подготовиться", "intent": "reschedule", "expected_keywords": ["оператор", "хирург", "передам"], "keywords_any": true, "expected_must_not": ["я назначаю", "принимайте по", "капайте по", "примите ", "перенесу операцию", "новая дата операции", "переношу на"], "expected_doc_section": null, "coverage": "not_covered", "note": "Хирургические темы — escalate_human|surgery. Ветка reschedule не двигает операционные слоты сама — это всегда оператор/хирург."}
{"text": "У меня сильная боль в ухе, не смогу прийти на запись", "intent": "reschedule", "expected_keywords": ["оператор", "103", "передам", "скорая"], "keywords_any": true, "expected_must_not": ["я назначаю", "принимайте по", "капайте по", "примите ", "перенесу на", "запись перенесена", "ничего страшного"], "expected_doc_section": null, "coverage": "not_covered", "note": "Острая боль перекрывает перенос. Бот должен сначала вывести пациента из острой ситуации (escalate_human|acute_pain), а перенос — потом, через оператора."}
{"text": "Какой штраф за неявку, если не приду?", "intent": "reschedule", "expected_keywords": ["оператор", "уточн", "администратор"], "keywords_any": true, "expected_must_not": ["я назначаю", "принимайте по", "капайте по", "примите ", "1000 рублей", "штраф составит", "удержим", "нет штрафа"], "expected_doc_section": null, "coverage": "not_covered", "note": "В вики штрафов нет (явная пометка в meta). Бот не выдумывает сумму, не утверждает «нет штрафа», а уточняет у оператора."}
{"text": "Запишите меня впервые к ЛОРу", "intent": "reschedule", "expected_keywords": ["оформ", "запис", "ЛОР"], "keywords_any": true, "expected_must_not": ["я назначаю", "принимайте по", "капайте по", "примите ", "перенесу", "отменю", "у вас уже есть запись"], "expected_doc_section": null, "coverage": "not_covered", "note": "Это new_booking, не reschedule (нет существующей записи). Кейс на правильность роутинга/handoff — ветка reschedule должна отдать управление в new_booking."}
{"text": "Я уже третий раз переношу, переключите на оператора!", "intent": "reschedule", "expected_keywords": ["оператор", "передам", "переключ"], "keywords_any": true, "expected_must_not": ["я назначаю", "принимайте по", "капайте по", "примите ", "понимаю вас", "не злитесь"], "expected_doc_section": null, "coverage": "not_covered", "note": "Раздражение + явная просьба оператора → escalate_human|angry или explicit_request. Без оправданий, без длинных объяснений."}