Оценка звонков Как устроена оценка звонков Для разработчиков. Состояние на 24.09.2026. Подробности — в README репозиториев Buharestskie/amocrm_transcribe_service и Buharestskie/yandex_transcribe_service. Коротко Все дашборды — МПП2, МОС и МПП1 — расшифровывают и оценивают звонки через один сервис: amocrm_transcribe_service (в конфигах дашбордов он называется «S2T apiscrm»). Он отдаёт запись в распознавание речи A5X, раскладывает реплики на менеджера и клиента и оценивает разговор языковой моделью A5X по промпту, который прислал дашборд. Критерии оценки живут не в сервисе, а в «Настройках» каждого дашборда. Путь звонка Звонок попадает в дашборд из телефонии — Sipuni, МегаФон или своя PBX: вебхуком или синхронизацией истории. Дашборд решает, что оценивать, по своим правилам: МПП2 — серия звонков после входа сделки в «Принимают решение», МОС — звонки по касаниям, рискам и рекомендациям, МПП1 — звонки охотников. Звонки одного клиента за день склеиваются в серию. Запрос в сервис — POST /internal/transcribe-analyze на внутренний порт сервиса на global (адрес — в README): ссылки на записи, тип телефонии у каждой, промпт и адрес для ответа. Сервис сразу отвечает 202. Распознавание — запись целиком уходит в s2t.a5x.pro. Левый канал становится SPEAKER_00, правый — SPEAKER_01. Роли — кто из них менеджер, сервис решает по типу телефонии, не по тексту (таблица ниже). Оценка — сегменты уходят в llm.a5x.pro (модель qwen36-35b-a3b): промпт дашборда — системным сообщением, разговор — в виде [секунда роль] текст. Ответ — сервис присылает дашборду обратный вызов: расшифровку, ответ модели (сырой и разобранный JSON) и расход — секунды аудио и токены. Дашборд сохраняет разбор и показывает его: МПП2 — на вкладке «Качество» и в виджете «Оценка разговоров» в карточке сделки, МОС — в касаниях, рисках и рекомендациях, МПП1 — в карточке звонка. Дашборд Куда приходит ответ Где промпты МПП2 /api/transcriptions/callback Настройки: две консультации, касания, тёплый пул МОС /api/telephony/webhooks/transcribe Настройки: касания, риски, рекомендации МПП1 /api/v1/internal/transcribe/callback Настройки: гейт и QA-аудитор Каналы по телефониям Телефония Менеджер Клиент Sipuni правый канал левый МегаФон левый правый Своя PBX правый левый Запись должна быть стерео: моно-запись получает ошибку, роли не угадываются. Подключаете новую телефонию — сначала строка в этой таблице ( src/speaker_mapping.py), иначе менеджер и клиент перепутаются во всех разборах. Резерв: Yandex yandex_transcribe_service (тоже на global) — распознавание SpeechKit и оценка YandexGPT в два этапа (гейт, затем полный разбор). Раньше был основным, с 17.09.2026 рабочих запросов нет: остался кнопкой ручной перерасшифровки «через Yandex» в МПП2 и МПП1. Каталог Yandex Cloud при этом живой и платный. Ещё два репозитория — assembly_transcribation (AssemblyAI) и gemini_service (Gemini) — нигде не развёрнуты. Если оценки не приходят Жив ли сервис: с global — curl -s localhost:8083/health. Доходят ли запросы: docker logs --since 1h amocrm_transcribe_service-apiscrm-transcribe-1 | grep transcribe-analyze. Ошибки — в GlitchTip, проект сервиса, и в обратных вызовах с полем ошибки: их дашборд показывает у звонка. Сервис перезапускали? Задачи в работе живут в памяти и при перезапуске теряются. МОС повторяет звонок без ответа через час (потом через 30 минут и 2 часа, всего четыре попытки), МПП1 — задачей раз в 20 минут. Ответ пришёл, а разбора нет — модель ответила не JSON: смотреть сырой analysis_text в данных звонка и промпт в «Настройках». Что стоит денег Каждый разбор — минуты распознавания A5X и токены модели. Ключ у распознавания и модели сейчас один: отзовут — встанут оба этапа. Правка промпта в «Настройках» действует только на новые звонки; старые заново не оцениваются.