[EPIC-AID-002] Content Security & Profanity Rate-Limiter

Атомарный ИИ-контроль нецензурной лексики и управление лимитами сессий

Author

AID Domain Lead / Security & LLM Engineer

Published

July 13, 2026

NoteКраткая карточка эпика
  • Эпик: (EPIC-AID-002)
  • Компоненты: ollama-llm-proxy, redis-profanity-censor, Kafka (KRaft)
  • Статус: Готово к реализации
  • Направление связи: Ollama (Structured Output) \(\rightarrow\) Redis Censor \(\rightarrow\) Kafka (bpds.aid.out.profanity.violate)

Бизнес-контекст и цель (Business Context)

Любой неструктурированный ввод (разбор рецептов через Ollama LLM, голосовой ввод) проверяется на наличие обсценной лексики. Чтобы предотвратить DDOS-атаки матом, счетчик нарушений инкрементируется в Redis. При достижении лимита (2 попытки), система генерирует критическое событие для домена IAD для немедленного бана сессии пользователя.

Список атомарных задач:

  • [Backend] Модуль проверки LLM-текста [Метод 1]: Интеграция Pydantic-валидации структурированного вывода Ollama на наличие запрещенных лексем (llm_profanity_censor.py).
  • [Backend] Атомарный Redis-лимитер [Метод 2]: Реализация вызова Lua-скрипта в Redis для проверки текущего количества нарушений привязанного к user_id (redis_violation_limiter.py).
  • [Backend] Эмиттер сигнала блокировки [Метод 3]: Публикация факта нарушения лимита в топик bpds.aid.out.profanity.violate для принудительного бана в IAD (profanity_event_producer.py).