PII-фильтр перед облачными LLM: почему self-hosted не понадобился
PII-фильтр перед облачными LLM: почему self-hosted не понадобился Инженер два месяца тестировал железо для self-hosted больших языковых моделей (LLM): RTX PRO 6000 96GB, RTX 4090 48GB, H200, затем RTX 5070 Ti и V100 32GB. Удорожание GPU и серия утечек персональных данных у облачных провайдеров заставили искать альтернативу. Вместо полного self-hosted он развернул open-source фильтр guardrails-llm-filter от Cloud.ru (Apache-2.0) между собой и облачными моделями. Фильтр работает в двух режимах: enforce заменяет персональные данные и секреты плейсхолдерами, detect только пишет в журнал, что нашёл для замены. 22 сентября фильтр [запрещенная организация] упал: сборка бинарника не прошла из-за недоступного кэша модулей, и systemd перезапускал процесс более 2600 раз за четыре часа. Причина — режим detect, выставленный в двух местах, и правило пересборки, не срабатывавшее при отсутствии файла. После исправления инженер читает объект настроек целиком и проверяет статус, типы данных и режим. Отдельно он объясняет, почему не взял LiteLLM: промежуточный прокси ломает общий префикс запросов, из-за чего кэш промптов провайдера теряет около 90% эффективности. Сейчас в системе мониторинга OneUptime два монитора. Heartbeat каждые пять минут подтверждает, что процесс жив и режим enforce. Метрики считают fail-open: если фильтр не смог разобрать тело запроса, он пропускает его без маскирования и увеличивает счётчик. Такое поведение превращает редкие новые форматы запросов в инциденты, а не в полную остановку работы. После сегодняшнего рестарта с заменой GPU основной экземпляр поднялся в enforce, локальные модели остались в standby. Репозиторий: https://github.com/cloud-ru-tech/guardrails-llm-filter Главное: • Open-source PII-фильтр работает прокси между пользователем и облачными LLM, заменяя данные плейсхолдерами. • Сбой systemd показал: режим enforce нужно проверять после каждого рестарта, а не только при первичной настройке. • LiteLLM с гардрейлом теряет около 90% эффективности кэша промптов из-за изменения префикса запросов. • Fail-open с мониторингом счётчиков позволяет не останавливать работу при новых форматах запросов. • Heartbeat и метрики в OneUptime ловят и падения процесса, и пропуск данных без маскирования. #ИИ #LLM #OpenSource #Безопасность #SelfHosted