Первоначальная версия VidConf
This commit is contained in:
22
workers/summarizer/eval/corpus/01-short-standup.txt
Normal file
22
workers/summarizer/eval/corpus/01-short-standup.txt
Normal file
@@ -0,0 +1,22 @@
|
||||
[Ирина 00:00] Доброе утро всем, начинаем дейлик. Павел, давай с тебя.
|
||||
[Павел 00:30] Привет. Вчера доделал миграцию таблицы conference_sessions, добавил индекс по pipeline_status.
|
||||
[Павел 01:10] Сегодня беру задачу по ретраям в notify_session, там сейчас нет circuit breaker на отправку писем.
|
||||
[Павел 01:35] Блокеров нет.
|
||||
[Ирина 01:55] Хорошо. Сергей?
|
||||
[Сергей 02:20] Вчера чинил баг с перекрытием фраз в реконструкции — при двух треках подряд теряло короткую реплику.
|
||||
[Сергей 03:10] Написал тест на синтетическом таймлайне, всё зелёное, сегодня отправлю на ревью.
|
||||
[Сергей 03:45] Дальше планирую взять чанкинг транскрипта, там нужно проверить границу в 20 минут.
|
||||
[Ирина 04:10] Отлично. У меня блокер — админка для настроек уровня AI ждёт ревью от Павла, можешь глянуть сегодня после обеда?
|
||||
[Павел 04:30] Да, посмотрю часа в три.
|
||||
[Ирина 05:00] Договорились. Ещё по поводу вчерашнего инцидента: транскрибация зависла на одном сеансе, worker-transcriber упал по памяти.
|
||||
[Сергей 05:40] Я видел лог, там сегмент на 45 минут без разбивки по VAD, из-за этого весь батч в память ушёл.
|
||||
[Сергей 06:10] Предлагаю добавить лимит на длину сегмента и алерт в Grafana, если превышен.
|
||||
[Ирина 06:35] Согласна, заведи задачу и возьми в спринт.
|
||||
[Сергей 06:50] Сделаю сегодня.
|
||||
[Ирина 07:25] Ещё вопрос: кто-нибудь смотрел баг репорт про дубли уведомлений при повторной постановке summarize_session?
|
||||
[Павел 07:55] Я смотрел, там идемпотентность сломана из-за отсутствия проверки summary_data перед повторной отправкой письма.
|
||||
[Павел 08:20] Поправлю в рамках задачи по ретраям, это связанные вещи.
|
||||
[Ирина 08:40] Супер, тогда одна задача на двоих.
|
||||
[Ирина 09:20] На сегодня всё, если ничего не добавите — на этом закончим. Хорошего дня!
|
||||
[Павел 09:35] Всем пока.
|
||||
[Сергей 09:45] До связи.
|
||||
60
workers/summarizer/eval/corpus/02-long-multitopic.txt
Normal file
60
workers/summarizer/eval/corpus/02-long-multitopic.txt
Normal file
@@ -0,0 +1,60 @@
|
||||
[Марина 00:00] Начинаем. Сегодня три темы: план релиза 0.1.0, бюджет на GPU-сервер и найм. Начнём с релиза.
|
||||
[Марина 00:49] Олег, расскажи по записи конференций, это же основная фича 0.1.0.
|
||||
[Олег 01:50] Да, room composite egress через LiveKit уже собирает mp4 в volume recordings, осталось прокинуть фича-тоггл в админку.
|
||||
[Олег 03:28] Compose-профиль recording готов, но нужно ещё протестировать ротацию файлов, если конференция идёт больше двух часов.
|
||||
[Марина 04:17] Какой риск по срокам?
|
||||
[Олег 05:31] Думаю, неделя на доводку и тесты, релиз можем таргетить на конец месяца.
|
||||
[Дарья 06:57] У меня вопрос по хранению — сколько места закладываем под записи на дефолтном пресете 5?
|
||||
[Олег 07:58] В ADR прикинули примерно 1 ГБ на час видео при среднем битрейте, значит для 250 ГБ диска это примерно 200 часов записей.
|
||||
[Дарья 09:12] Нужно ещё добавить автоочистку старых записей, иначе диск переполнится через пару месяцев активного использования.
|
||||
[Марина 10:01] Согласна, заведи задачу в бэклог фазы 7b, не блокирующая для релиза.
|
||||
[Дарья 10:38] Хорошо, заведу.
|
||||
[Марина 11:52] Что по фронту, чекбокс-анонс записи в базовом релизе готов?
|
||||
[Игорь 12:53] Да, неактивный чекбокс с подписью «функция появится в ближайших версиях» уже в макете и в коде, ревью прошло вчера.
|
||||
[Марина 13:42] Отлично. Тогда по релизу 0.0.1 у нас остаётся install.sh с пятью пресетами, верно?
|
||||
[Олег 15:08] Да, все пять пресетов идемпотентны, прогнали по три раза каждый: чистая установка, повторный запуск, смена пресета.
|
||||
[Олег 16:22] Единственное — на пресете 5 install.sh иногда не находит nvidia-smi в PATH, если Docker поставлен без перезахода в сессию, добавлю проверку и подсказку.
|
||||
[Марина 17:11] Заведи баг, приоритет высокий, это блокер для GPU-хостов.
|
||||
[Олег 17:35] Уже завёл.
|
||||
[Марина 18:36] Хорошо, по релизу закрываем тему, переходим к бюджету.
|
||||
[Марина 20:14] По бюджету: нам нужен тестовый GPU-хост для уровня max, минимум 24 ГБ VRAM под Qwen3.5-35B-A3B.
|
||||
[Дарья 21:40] Смотрела варианты, аренда карты уровня RTX 4090 или A5000 обойдётся примерно в 25-30 тысяч рублей в месяц.
|
||||
[Дарья 22:54] Есть вариант купить б/у сервер с 3090 за разовые 180 тысяч, окупится за полгода аренды.
|
||||
[Марина 23:55] А по электричеству и размещению есть цифры?
|
||||
[Дарья 25:33] Если ставим в наш серверный шкаф — это плюс примерно 3 тысячи в месяц на электричество, размещение уже оплачено.
|
||||
[Игорь 26:47] Я бы предложил сначала арендовать на два месяца, прогнать нагрузочные тесты и оценку качества уровня max, а потом уже покупать.
|
||||
[Марина 27:36] Логично, так и снизим риск ошибки в выборе конфигурации.
|
||||
[Дарья 29:02] Тогда я оформлю аренду на два месяца, бюджет примерно 60 тысяч, отправлю на согласование сегодня.
|
||||
[Марина 30:03] Хорошо, согласую с финансами до пятницы.
|
||||
[Марина 31:17] Ещё момент — нам нужен бюджет на домен и SSL сертификат для демо-стенда, это отдельная строка?
|
||||
[Игорь 32:06] Домен уже есть, сертификат берём через Let's Encrypt бесплатно, доп бюджета не нужно.
|
||||
[Марина 32:43] Отлично, тогда бюджет по этой теме закрыт.
|
||||
[Дарья 33:44] Ещё добавлю в заявку резервный SSD на 1 ТБ для бэкапов базы, у нас сейчас бэкапы льются на тот же диск, что и продакшен.
|
||||
[Марина 34:33] Согласна, это важно, добавляй.
|
||||
[Игорь 35:47] Кстати, по бэкапам — я настроил pg_dump по крону раз в сутки, но ещё нет проверки, что бэкап реально восстанавливается.
|
||||
[Марина 36:48] Заведи задачу на тестовое восстановление, хотя бы раз в месяц по расписанию.
|
||||
[Игорь 37:12] Сделаю.
|
||||
[Марина 38:01] Переходим к найму.
|
||||
[Марина 39:27] По найму — нам нужен ещё один бэкенд-разработчик на пайплайн AI, текущая нагрузка на Сергея и Павла большая.
|
||||
[Дарья 40:41] Я разместила вакансию на трёх площадках, за неделю пришло 12 откликов, из них 4 подходят по требованиям.
|
||||
[Дарья 42:19] Собеседования назначены на следующую неделю, во вторник и четверг.
|
||||
[Марина 43:20] Кто будет проводить техническое интервью?
|
||||
[Игорь 44:09] Я готов взять техническую часть, у меня есть опыт с FastAPI и Celery.
|
||||
[Марина 44:46] Отлично, назначаю тебя.
|
||||
[Марина 46:00] Ещё вопрос — рассматриваем ли удалённых кандидатов из других часовых поясов?
|
||||
[Дарья 47:01] Да, но с ограничением плюс-минус 3 часа от нашего, иначе синки будут неудобные.
|
||||
[Марина 47:50] Согласна с ограничением.
|
||||
[Игорь 49:04] У меня есть знакомый мидл-разработчик, ищет проект, могу порекомендовать вне общего потока откликов.
|
||||
[Марина 49:53] Пришли резюме Дарье, включим в воронку на общих основаниях.
|
||||
[Игорь 50:17] Хорошо, отправлю сегодня.
|
||||
[Дарья 51:18] Также хочу поднять зарплатную вилку для сеньора, рынок за последние полгода вырос примерно на 15 процентов.
|
||||
[Марина 52:32] Подготовь сравнение с рынком, обсудим отдельно с финансовым директором.
|
||||
[Дарья 53:09] Сделаю к пятнице.
|
||||
[Марина 54:47] Последний пункт — на следующей неделе демо для потенциального клиента, нужен стабильный стенд с уровнем AI medium.
|
||||
[Олег 56:01] Стенд подниму заранее, во вторник, чтобы успеть прогнать смоук-тесты.
|
||||
[Марина 56:50] Хорошо. Игорь, подготовишь сценарий демо?
|
||||
[Игорь 57:51] Да, подготовлю к понедельнику, покажу транскрибацию, саммари и рассылку по итогам встречи.
|
||||
[Марина 58:40] Отлично, тогда на этом всё, спасибо всем, хорошей недели.
|
||||
[Дарья 59:04] До свидания.
|
||||
[Олег 59:24] Всем пока.
|
||||
[Игорь 59:41] Пока-пока.
|
||||
28
workers/summarizer/eval/corpus/03-dialogue-1on1.txt
Normal file
28
workers/summarizer/eval/corpus/03-dialogue-1on1.txt
Normal file
@@ -0,0 +1,28 @@
|
||||
[Анна 00:00] Дмитрий, привет, спасибо что нашёл время. Это наша ежеквартальная встреча один на один, хочу обсудить итоги и планы.
|
||||
[Дмитрий 00:20] Привет, да, готов.
|
||||
[Анна 00:50] Начнём с того, что получилось хорошо. Ты закрыл фичу реконструкции фраз раньше срока и с хорошим покрытием тестами.
|
||||
[Дмитрий 01:15] Спасибо, было интересно разобраться с перекрытиями сегментов, там оказалось больше edge-кейсов, чем я думал сначала.
|
||||
[Анна 01:50] Да, я видела ревью, ты хорошо покрыл случай с короткими вставками вроде «угу» и тишиной. Это ценно для качества саммари.
|
||||
[Дмитрий 02:10] Спасибо.
|
||||
[Анна 02:50] Теперь то, над чем стоит поработать. Иногда оценки по срокам занижены, и потом задача уходит в переработку — например, чанкинг транскрипта занял в полтора раза больше времени, чем закладывали.
|
||||
[Дмитрий 03:25] Согласен, я недооценил сложность аварийного деления монолога по предложениям, не заложил время на этот кейс сразу.
|
||||
[Анна 03:55] Предлагаю на будущее закладывать буфер процентов 20-30 на задачи с чистой логикой и TDD, там обычно всплывают неочевидные кейсы.
|
||||
[Дмитрий 04:15] Хорошая идея, буду закладывать.
|
||||
[Анна 04:50] Второй момент — коммуникация в блокерах. В прошлом месяце ты два дня ждал ответа по API llama.cpp, прежде чем написать в общий чат.
|
||||
[Дмитрий 05:20] Да, думал разберусь сам через find-docs, но документация по потоковому режиму оказалась запутанной.
|
||||
[Анна 05:45] В следующий раз пиши раньше, максимум через полдня блока — так мы сможем быстрее подключить кого-то на помощь.
|
||||
[Дмитрий 06:00] Понял, буду писать быстрее.
|
||||
[Анна 06:40] По планам на следующий квартал — хочу предложить тебе взять техническое лидерство по блоку AI-пайплайна, ты уже глубоко в теме.
|
||||
[Дмитрий 07:10] Звучит здорово, готов попробовать. Что конкретно входит в лидерство?
|
||||
[Анна 07:45] Ревью архитектурных решений по плагинам, координация с devops по GPU-хостам, и менторство для нового разработчика, которого сейчас нанимаем.
|
||||
[Дмитрий 08:10] Менторство раньше не делал, но интересно попробовать.
|
||||
[Анна 08:30] Отлично, я подключу тебя к онбордингу, как только выйдет новый человек.
|
||||
[Анна 09:00] По зарплате — с учётом расширения зоны ответственности подготовлю предложение о пересмотре, обсудим на следующей встрече с деталями.
|
||||
[Дмитрий 09:20] Спасибо, буду ждать.
|
||||
[Анна 09:45] Есть что добавить с твоей стороны? Может, что-то мешает работать эффективнее?
|
||||
[Дмитрий 10:20] Да, есть просьба — обновить рабочую станцию, текущая не тянет одновременный прогон backend-тестов и локального llama.cpp сервера.
|
||||
[Анна 10:40] Хорошо, оформлю заявку на апгрейд памяти до конца недели.
|
||||
[Дмитрий 10:55] Отлично, спасибо.
|
||||
[Анна 11:20] Тогда на этом закончим. Итог: ты берёшь техлидерство по AI-блоку, я готовлю предложение по зарплате и заявку на апгрейд станции.
|
||||
[Дмитрий 11:35] Договорились, спасибо за встречу.
|
||||
[Анна 11:45] И тебе, хорошего дня.
|
||||
34
workers/summarizer/eval/corpus/04-multispeaker-guest.txt
Normal file
34
workers/summarizer/eval/corpus/04-multispeaker-guest.txt
Normal file
@@ -0,0 +1,34 @@
|
||||
[Марина 00:00] Виктор, добрый день, спасибо что присоединились. У нас сегодня демо VidConf для команды «Стройтех».
|
||||
[Виктор Соколов 00:15] Добрый день, спасибо за приглашение, нам интересно посмотреть на замену текущему сервису видеозвонков.
|
||||
[Марина 00:40] Отлично. Со стороны нашей команды сегодня Игорь — он покажет техническую часть, и Дарья — расскажет про варианты поставки.
|
||||
[Игорь 01:00] Добрый день, Виктор, начнём с самого созвона, дальше перейдём к AI-транскрибации.
|
||||
[Виктор Соколов 01:30] Хорошо, у нас основной вопрос — можно ли развернуть всё на своих серверах, без внешних облаков, у нас требования по безопасности данных.
|
||||
[Игорь 02:05] Да, это ключевая особенность VidConf — весь стек self-hosted, включая распознавание речи и суммаризацию, никаких обязательных внешних API.
|
||||
[Виктор Соколов 02:30] Это важно, у нас были случаи, когда подрядчики использовали облачные сервисы транскрибации без согласования.
|
||||
[Марина 02:50] Понимаем, поэтому инвариант приватности данных зафиксирован в архитектуре с самого начала проекта.
|
||||
[Игорь 03:20] Показываю интерфейс: вот лобби, создание мгновенной конференции занимает пару секунд, ссылку можно сразу отправить участникам.
|
||||
[Виктор Соколов 03:40] А гостям обязательно регистрироваться?
|
||||
[Игорь 04:05] Нет, гость представляется именем при входе, email указывать не обязательно, но если укажет — попадёт в рассылку саммари.
|
||||
[Виктор Соколов 04:35] У нас часто на встречи заходят подрядчики без корпоративной почты, это удобно.
|
||||
[Марина 04:55] Именно для таких случаев мы это и делали.
|
||||
[Игорь 05:25] Теперь про закреплённые конференции — можно настроить повторение по дням недели, раз в две недели, раз в месяц или каждые N дней.
|
||||
[Виктор Соколов 05:50] У нас еженедельные планёрки по объектам, это подойдёт.
|
||||
[Игорь 06:20] Да, и такая конференция остаётся видна в разделе «Мои конференции», можно закрыть паролем, если нужно ограничить доступ.
|
||||
[Виктор Соколов 06:40] А что с записью встреч, это критично для нас — потом пересматриваем спорные моменты по срокам.
|
||||
[Дарья 07:05] Запись — в базовом релизе только анонс, полноценная функция выйдет отдельным релизом 0.1.0 в течение следующего месяца-двух.
|
||||
[Виктор Соколов 07:35] Это некритично, можем подождать, главное чтобы транскрибация и саммари работали сразу.
|
||||
[Игорь 08:10] Работают, покажу на примере: вот итоговое письмо после тестовой конференции — ключевые тезисы, принятые решения с ответственными и сроками, открытые вопросы и цифры.
|
||||
[Виктор Соколов 08:40] Выглядит полезно. А насколько точная транскрибация на специфичной терминологии, у нас много строительных терминов?
|
||||
[Игорь 09:10] Зависит от уровня AI — на минимальном уровне модель поменьше, на среднем и максимальном качество выше, но специфичные термины иногда требуют ручной правки.
|
||||
[Дарья 09:45] Тут как раз переходим к вариантам поставки — у нас пять пресетов инсталлятора, от базового ядра без AI до максимального уровня с GPU.
|
||||
[Виктор Соколов 10:10] Какое железо нужно для среднего уровня, у нас сервер без видеокарты?
|
||||
[Дарья 10:40] Для среднего уровня GPU опционален, работает и на CPU, но рекомендуем 12-16 ядер и 32 ГБ памяти для комфортной скорости.
|
||||
[Виктор Соколов 11:05] Такой сервер у нас есть, можно попробовать на минимальном или среднем уровне для начала.
|
||||
[Марина 11:25] Отлично, предлагаем пилот на 2-3 недели с минимальным уровнем AI, дальше решите, нужен ли апгрейд.
|
||||
[Виктор Соколов 11:55] Устраивает. Что нужно от нас для старта пилота?
|
||||
[Дарья 12:20] Доступ к серверу для установки, и список сотрудников для аккаунтов, дальше поможем с install.sh и настройкой.
|
||||
[Виктор Соколов 12:40] Подготовим список к среде, отправим на почту.
|
||||
[Марина 13:05] Хорошо, тогда фиксируем: пилот стартует на следующей неделе, встречаемся через две недели для промежуточного отзыва.
|
||||
[Виктор Соколов 13:25] Договорились, спасибо за демо, было полезно.
|
||||
[Игорь 13:35] Спасибо, до связи.
|
||||
[Дарья 13:43] Всего доброго.
|
||||
31
workers/summarizer/eval/corpus/05-metrics-heavy.txt
Normal file
31
workers/summarizer/eval/corpus/05-metrics-heavy.txt
Normal file
@@ -0,0 +1,31 @@
|
||||
[Артём 00:00] Начинаем обзор метрик за третий квартал. Выручка составила 14.2 миллиона рублей, план был 13.5, перевыполнение на 5.2 процента.
|
||||
[Артём 00:30] По продукту: активных инстансов VidConf на конец квартала — 47, из них 12 на уровне AI средний и 3 на максимальном.
|
||||
[Наталья 00:55] А сколько было в начале квартала для сравнения?
|
||||
[Артём 01:15] В начале квартала было 31 инстанс, рост 51.6 процента за квартал.
|
||||
[Наталья 01:45] Хороший темп. По churn есть цифры?
|
||||
[Артём 02:10] Отток 2 инстанса за квартал, это 4.3 процента, оба ушли из-за нехватки GPU-бюджета на своей стороне, не из-за качества продукта.
|
||||
[Роман 02:40] По затратам на инфраструктуру: суммарно потратили 890 тысяч рублей, из них 340 тысяч — аренда GPU-серверов для тестового стенда max-уровня.
|
||||
[Роман 03:05] Остальное — 320 тысяч на облачные бэкапы и мониторинг, 230 тысяч прочие расходы, включая домены и сертификаты.
|
||||
[Артём 03:25] Маржинальность по проектам поставки в среднем 62 процента, по подписке на поддержку — 78 процентов.
|
||||
[Наталья 04:00] По качеству транскрибации мы делали замеры — word error rate на минимальном уровне 14.3 процента, на среднем 9.1, на максимальном 5.8.
|
||||
[Роман 04:25] Это на каком корпусе замеряли?
|
||||
[Наталья 04:55] На 5 транскриптах из разных доменов, суммарно около 3 часов записи, с ручной разметкой эталона.
|
||||
[Артём 05:20] Хорошая база для следующих замеров, надо повторять раз в квартал при смене моделей.
|
||||
[Наталья 05:40] Согласна, занесу в регламент.
|
||||
[Роман 06:15] По нагрузочным тестам SFU: на 50 издателях видео и 200 подписчиках деградация начиналась на битрейте выше 2.5 Мбит/с на публикующего участника.
|
||||
[Роман 06:45] При дефолтном симулкасте с тремя слоями укладывались стабильно до 80 одновременных издателей на одном сервере.
|
||||
[Артём 07:10] Это совпадает с нашими рекомендациями по битрейту в docs/deploy/capacity.md?
|
||||
[Роман 07:30] Да, обновил документ вчера с этими цифрами.
|
||||
[Наталья 08:00] По количеству тикетов поддержки: за квартал закрыли 96 обращений, средний SLA ответа 3.4 часа при целевом 4.
|
||||
[Наталья 08:25] Основная категория обращений — 41 процент про установку и конфигурацию, 27 процентов про качество AI, 32 процента прочее.
|
||||
[Артём 08:55] По AI-обращениям — какие конкретно жалобы чаще всего?
|
||||
[Наталья 09:30] Чаще всего — неверные имена в саммари при похожих именах спикеров, и превышение лимита токенов на очень длинных встречах до правки лимитов reduce.
|
||||
[Роман 09:50] Это уже поправили per-tier лимитами в ADR-004?
|
||||
[Артём 10:05] Да, начиная с прошлой недели лимит reduce минимум 1536 токенов.
|
||||
[Наталья 10:35] Будем отслеживать, снизится ли число жалоб этой категории в следующем квартале.
|
||||
[Артём 11:15] Прогноз на следующий квартал: план по выручке 17 миллионов, рост 19.7 процента к текущему кварталу, за счёт релиза записи конференций и трёх новых пилотов.
|
||||
[Роман 11:40] Бюджет на инфраструктуру планируем на уровне 1.1 миллиона, с учётом покупки собственного GPU-сервера вместо аренды.
|
||||
[Наталья 12:00] По команде поддержки закладываем ещё одного специалиста при росте инстансов выше 60.
|
||||
[Артём 12:25] Хорошо, фиксируем цели, следующий обзор через квартал. Спасибо всем.
|
||||
[Роман 12:35] Спасибо.
|
||||
[Наталья 12:43] До встречи.
|
||||
Reference in New Issue
Block a user