Добавлен полный пайплайн выгрузки записей разговоров из IMAP-почты Yandex, транскрипции через faster-whisper (turbo, CUDA) и сохранения в Directus. Новые файлы: - imap/email_fetcher.py — подключение к IMAP (imap.yandex.ru:993), пагинация по UID (200/страница), автоматическое переподключение при IMAP4.abort (3 retry) - imap/config.py — конфигурация из .env - imap/ingestor.py — основной цикл: чтение письма, парсинг метаданных, сохранение вложения, конвертация в WAV, разделение стереоканалов, транскрипция, запись в Directus; поддержка --limit - imap/parsers/base.py — абстрактный парсер писем - imap/parsers/novofon.py — парсер писем Novofon/Zadarma: темы [АТС Zadarma] и Novofon, тело письма (JSON+HTML), имя файла вложения как fallback; маппинг внутренних номеров 102/201 на виртуальные; _clean_number без + - imap/preprocessor.py — конвертация в WAV (ffmpeg), разделение стереоканалов (левый=callee, правый=caller), get_audio_duration() через ffprobe - imap/stt.py — транскрипция через faster-whisper (turbo, CUDA) - imap/aligner.py — alignment результатов STT - imap/directus.py — клиент Directus: check_call (дедуп), save_call в calls/calls_74951284933, find_contact - match_contacts.py — сопоставление всех звонков с контактами по номеру телефона, заполнение caller_name/callee_name - count_remaining.py — утилита подсчёта оставшихся писем в IMAP Изменения: - .env.example: добавлена секция IMAP (сервер, логин, пароль, папка) - requirements.txt: добавлен imap-tools (IMAP-клиент) Обработано ~3900 звонков из IMAP (3670 в calls + 687 в calls_74951284933). Все записи с длительностью аудио из файла (ffprobe). Все звонки без + в номерах телефонов.
33 lines
842 B
Text
33 lines
842 B
Text
# --- Novofon DATA API ---
|
|
NOVOFON_API_BASE_URL=https://dataapi-jsonrpc.novofon.ru/2.0
|
|
NOVOFON_ACCESS_TOKEN=
|
|
NOVOFON_DATE_FROM=2024-01-01
|
|
|
|
# --- Directus ---
|
|
DIRECTUS_URL=http://localhost:8055
|
|
DIRECTUS_TOKEN=call-to-text-admin-token
|
|
|
|
# --- HuggingFace (для pyannote-audio) ---
|
|
HF_TOKEN=
|
|
|
|
# --- Whisper ---
|
|
# Model sizes: tiny, base, small, medium, large-v3 (лучшее качество), turbo (качество large-v3, в 5x быстрее)
|
|
WHISPER_MODEL_SIZE=turbo
|
|
WHISPER_DEVICE=cuda
|
|
WHISPER_COMPUTE_TYPE=float16
|
|
|
|
# --- Parallel processing ---
|
|
MAX_WORKERS=3
|
|
MAX_PER_CYCLE=10
|
|
|
|
# --- IMAP (для обработки старых звонков из почты) ---
|
|
IMAP_SERVER=imap.yandex.ru
|
|
IMAP_PORT=993
|
|
IMAP_USER=
|
|
IMAP_PASSWORD=
|
|
IMAP_FOLDER=запись разговоров
|
|
|
|
# --- XMPP Bot ---
|
|
XMPP_JID=
|
|
XMPP_PASSWORD=
|
|
XMPP_ROOM=
|