/
baelorsw
/
Alarma_Engine
Обзор
Документация
Войти
/
baelorsw
/
Alarma_Engine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop
engine/analyzer.py
45 строк
2 KB
baelorsw
отправка запросов с нормальной кириллицей
11 май 2026, 23:09
11 май 2026, 23:09
86bcebc
Код
Авторство
О чём код?
# engine/analyzer.py from datetime import datetime from .sla_engine import get_sla_minutes, calculate_deadline def analyze_query(text: str) -> dict: """ Анализирует текст обращения и возвращает: - category - urgency - sla_minutes - deadline """ text_lower = text.lower() words = set(text_lower.split()) # Определяем категорию if any(w in text_lower for w in ["не работает", "сломалось", "кошмар", "ужас", "никто не отвечает", "проблема"]): category = "жалоба" elif "?" in text or any(w in words for w in ["как", "почему", "зачем", "помогите", "подскажите"]): category = "вопрос" elif any(w in words for w in ["хочу", "предлагаю", "идея", "предложение"]): category = "предложение" elif any(w in words for w in ["оформить", "купить", "заказать", "хочу получить"]): category = "заявка" else: category = "вопрос" # Определяем срочность if any(w in text_lower for w in ["срочно", "уже жду", "надо сейчас", "крайне важно", "в ярости"]): urgency = "высокая" elif "не критично" in text_lower or "можно потом" in text_lower: urgency = "низкая" else: urgency = "средняя" # Получаем SLA из движка sla_minutes = get_sla_minutes(category, urgency) deadline = calculate_deadline(sla_minutes) return { "category": category, "urgency": urgency, "sla_minutes": sla_minutes, "deadline": deadline }