""" Short, human-like responses for small talk. """ from __future__ import annotations import random import re from typing import Optional _SMALLTALK_PHRASES = { "как дела", "как делишки", "как поживаешь", "как жизнь", "как ты", "как сам", "как себя чувствуешь", "как настроение", "что нового", "как оно", "как дела у тебя", } _SMALLTALK_RESPONSES = [ "Все нормально, спасибо. А у тебя?", "Хорошо, спасибо. Чем помочь?", "Нормально. Что-то нужно?", "Все в порядке. Как ты?", "Отлично. Слушаю тебя.", ] def _normalize_smalltalk_text(text: str) -> str: normalized = text.lower().replace("ё", "е") normalized = re.sub(r"[^\w\s]+", " ", normalized, flags=re.UNICODE) normalized = re.sub(r"\s+", " ", normalized, flags=re.UNICODE).strip() return normalized def get_smalltalk_response(text: str) -> Optional[str]: if not text: return None normalized = _normalize_smalltalk_text(text) if normalized in _SMALLTALK_PHRASES: return random.choice(_SMALLTALK_RESPONSES) return None