Перейти к содержанию

Чистка рудиментов RU-юрисдикции — 28 апреля 2026

2,206 RU-чанков удалено из ChromaDB Люми. Оставались после всех предыдущих чисток (v1.5 в марте удалила 1,165 русских чанков, но часть всплывала регулярно в retrieval).

Как обнаружили

28 апреля при первой боевой проверке нового KB API ([[lyumi/kb_api_bridge]]) запрос наряд-допуск на высоте выдал на первом месте российский «Курсон» с юрисдикцией RU — попал в KZ-выдачу. Камал: «давай российские зачистим отовсюду остатки?»

Скрипт cleanup_ru.py

Написан безопасным по умолчанию: - Default — dry run, только аудит и выборка примеров - --execute — реальное удаление - --collections green_space hard_space ... — ограничить область

Логика фильтрации

Удаляем, если: 1. metadata.jurisdiction == "RU" — точный матч 2. document_title содержит «Российская Федерация» / «Российской Федерации» 3. В тексте есть RU-маркеры (Минтруд России, Ростехнадзор, Роспотребнадзор, Госгортехнадзор СССР, Постановление Правительства РФ, ФЗ РФ, ГОСТ Р + цифры, СанПиН 2.2.4 / 1.2.x) ПРИ ОТСУТСТВИИ KZ-протект маркеров

Защищаем (KZ_PROTECT_MARKERS в тексте): - Республика Казахстан / РК / «кодекс РК» - Әділет / adilet.zan.kz - МТСЗН - тенге / МРП

Защищаем (INT_STANDARD_PROTECT_TITLE в title): - ISO / ИСО + цифры — например «ISO-9001-2015» (русский перевод МС ISO) - IEC / МЭК + цифры - EN + 3 цифры (EN 397, EN 471) - OHSAS / ANSI / IEEE / NFPA / API / IOGP / NIOSH / ACGIH / AIHA / NEBOSH / IOSH / ILO / CCPS / IPIECA / GRI / WHO / OSHA / CSB / HSE UK

Русские переводы международных стандартов ОСТАЮТСЯ — содержательно это международный контент. Потерять «ISO 45001 по-русски» из-за формального ярлыка jurisdiction=RU — жалко.

Результат двух проходов

Проход Найдено Примечание
1 (без whitelist) 2,733 В выборке «ISO-9001-2015» — сигнал что нужна защита
2 (с whitelist) 2,206 527 русских переводов ISO/OHSAS/IOGP/... сохранены
EXECUTE -2,206 170,176 → 167,970

Распределение по коллекциям (итог)

Коллекция Было Стало Удалено
green_space 50,097 49,893 -204
hard_space 46,589 45,858 -731
soft_space 39,121 38,188 -933
emergency_space 20,358 20,339 -19
health_space 14,011 13,692 -319
Итого 170,176 167,970 -2,206

Что именно удалили (по выборке)

  • green_space (-204): SAP «Отраслевые особенности обеспечения» (российские кейсы ESG)
  • hard_space (-731): «Inc invest procedure TNK-BP» (корпоративные процедуры РОСНЕФТИ/ТНК-ВР)
  • soft_space (-933): «ОХРАНА ТРУДА: МЕЖДУНАРОДНЫЙ ОПЫТ» (российские пересказы финского опыта)
  • emergency_space (-19): КоАП РФ Гл. 9, Приказ МЧС России №5653, ПО КСК (российские курсы)
  • health_space (-319): Федеральное стат. наблюдение, лента российских происшествий 2003

Что НЕ тронули (false positives предотвращены)

  • Чанки с упоминанием Казахстана — защищены KZ_PROTECT_MARKERS
  • ГОСТ без буквы Р (советский, в КЗ применяется) — НЕ под регексом
  • СНиП без РФ — НЕ под регексом
  • «ISO-9001-2015» / «ИСО 45001» и прочие переводы MS — защищены INT_STANDARD_PROTECT_TITLE
  • Курсы/учебники на русском без RU-юрисдикции — это просто язык, не флагаем

Команды

# Аудит (default, ничего не удаляет):
docker run --rm --env-file /opt/lyumi/.env \
  -v lyumi-chroma:/app/chroma_db \
  -v /opt/lyumi/cleanup_ru.py:/app/cleanup_ru.py \
  lyumi-hse-bot python cleanup_ru.py

# Реальное удаление:
docker run --rm --env-file /opt/lyumi/.env \
  -v lyumi-chroma:/app/chroma_db \
  -v /opt/lyumi/cleanup_ru.py:/app/cleanup_ru.py \
  lyumi-hse-bot python cleanup_ru.py --execute

# Перезапуск Lyumi (для пересборки BM25 на очищенной базе):
docker restart lyumi-hse-bot

Что в базе ОСТАЛОСЬ среди RU-материалов

После чистки в базе остаются:

  1. Русские переводы ISO / OHSAS / IOGP / OSHA / NFPA / IEC — ~527 чанков, содержательно это международные стандарты
  2. Книги и учебники на русском без RU-юрисдикции и RU-маркеров в тексте (язык ≠ юрисдикция)
  3. NotebookLM-источники русскоязычные о Казахстане — jurisdiction=KZ, язык RU

Связанные

  • [[lyumi/kb_api_bridge]] — KB API, при боевой проверке обнаружили RU-рудименты
  • [[lyumi/bot_v3]] — база знаний бота изменилась с 174K на 167.9K
  • Memory feedback_no_russian_gost — hard rule: ГОСТ Р / СНиП РФ / ФЗ РФ не основа для продуктов Lyumi
  • Memory project_pushkin_workflow_stable_apr28