66 lines
3.4 KiB
Markdown
66 lines
3.4 KiB
Markdown
# 🏗️ Архитектура 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) |