[EPIC-AID-002] Content Security & Profanity Rate-Limiter
Атомарный ИИ-контроль нецензурной лексики и управление лимитами сессий
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).