diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md new file mode 100644 index 0000000..208ea71 --- /dev/null +++ b/ARCHITECTURE.md @@ -0,0 +1,66 @@ +# 🏗️ Архитектура calls24_v1 + +> Простая и быстрая речевая аналитика. Только анализ звонков. + +## Система + +``` +┌─────────────────────────────────────────────────────────────┐ +│ КЛИЕНТ │ +│ Звонки (WAV/MP3) → Telegram / Email / Web-форма │ +└────────────────────────┬────────────────────────────────────┘ + │ + ▼ +┌─────────────────────────────────────────────────────────────┐ +│ calls24_v1 (FastAPI) │ +│ │ +│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ +│ │ STT │ │ LLM │ │ Report │ │ +│ │ (STT) │ │ Анализ │ │ Генерация│ │ +│ └──────────┘ └──────────┘ └──────────┘ │ +│ │ +│ ┌──────────┐ ┌──────────┐ │ +│ │PostgreSQL│ │ Redis │ │ +│ │(звонки) │ │(кэш) │ │ +│ └──────────┘ └──────────┘ │ +└─────────────────────────────────────────────────────────────┘ +``` + +## Компоненты + +### voice-analyzer/ +- `main.py` — FastAPI эндпоинт: POST /upload, POST /analyze +- `stt.py` — Yandex SpeechKit / Whisper интеграция +- `analyzer.py` — LLM-анализ текста звонка + - Выявление скрипта продаж + - Тайминги и паттерны + - Возражения клиента и реакция оператора + - Оценка конверсии +- `report.py` — Генерация HTML-отчёта + - Что было хорошо / плохо + - Рекомендации по скрипту + - Сравнение операторов + +## Технологический стек + +| Компонент | Технология | +|-----------|------------| +| Фреймворк | FastAPI | +| БД | PostgreSQL (звонки, отчёты) | +| Кэш | Redis (очереди задач) | +| STT | Yandex SpeechKit / Whisper | +| LLM | YandexGPT / OpenAI-compatible | +| Доставка | Telegram-бот, Email | + +## Данные + +### Таблица звонков +- id, client_id, file_path, duration, created_at +- transcription (TEXT) +- analysis_result (JSON) + +### Таблица отчётов +- id, call_id, report_html, created_at +- score_overall (int) +- score_script (int) +- recommendations (JSON) \ No newline at end of file