Skip to content
Neuronavt
Go back

Браузерный тренажёр интервью на Gemma

Кейс8/10

Коротко

Автор создал для подруги голосовой тренажёр собеседований, который целиком работает в браузере и не отправляет ответы на сервер. Ключевая идея — оставить небольшой модели только формулировку уточняющих вопросов, а выбор темы и проверку ответа поручить правилам и самому пользователю.

Контекст

Автор — разработчик Interview Room и сопровождаемого им npm-пакета react-ai-voice-avatar. Он начал проект для подруги, инженера-программиста, которой было трудно тренироваться отвечать вслух перед собеседованием; одиночная подготовка не воспроизводила диалог и уточняющие вопросы.

Главное

Как сделано

Пользователь выбирает направление (Frontend, Backend или Machine learning), тип раунда (behavioral, technical, HR либо полный цикл из пяти вопросов), уровень, желаемую длину ответа и стиль интервьюера Ananya или Aarav. Можно пройти видеоинтервью с 3D-аватаром или телефонный формат; камера пользователя включается отдельно и остаётся локальной.

Silero VAD (1,8 МБ) определяет речь и паузы, Whisper base (295 МБ) переводит её в текст, Gemma 3 1B в квантизации q4 (880 МБ) формулирует уточнение, а Kokoro 82M (326 МБ) озвучивает его. ONNX Runtime Web (67 МБ) исполняет модели через WebGPU, а интеграция построена на transformers.js. Кодовые правила выбирают угол уточнения — например, личный вклад вместо расплывчатого «мы» или неуказанный результат. Защитная проверка удаляет похвалу, цитаты и лишний текст, оставляя один вопрос; если результат непригоден или генерация длится более 6 секунд, звучит заранее подготовленная реплика.

После интервью пользователь сам отмечает, насколько ответ удался, и проверяет 3–5 критериев из банка в 206 пунктов. Отчёт также вычисляет темп, длительность ответа, паузы, время до первого слова, некоторые слова-паразиты, соотношение «я» и «мы», а также числа. Модели кешируются в Origin Private File System: это обходит ограничение Chrome Cache API на файлы от 256 МБ. Сайт размещён как статическая страница на Render; для ONNX Runtime заданы заголовки cross-origin isolation в render.yaml.

Результаты

В тесте уточняющих вопросов Gemma 3 1B дала пригодный ответ по нужной теме в 8 случаях из 12; в остальных случаях корректно сработал запасной шаблон. Формулировка обычно занимала около 1–1,5 секунды. На MacBook M4 Gemma 4 E2B показала 12 из 12 по нужному углу и лучше справилась с двумя тестами ревью кода, но автор не включил её в приложение из-за требований к памяти и недостатка тестирования. Для Gemma 3 загрузка при первом посещении составляет около 1,6 ГБ суммарно и занимает 4–8 минут на соединении автора; повторный запуск готов примерно за 2–3 секунды. Подруга прошла интервью от начала до конца на своём ноутбуке и положительно оценила практику и разбор ответов. Проект бесплатен для пользователя, без аккаунта и серверной обработки речи.

Ограничения

Это практический проект и небольшая внутренняя оценка, а не широкое исследование: для основных сравнений использованы 12 уточнений и по два примера проверки кода и STAR-ответов. Gemma 3 1B ненадёжно оценивала STAR-ответы и в ранних тестах допускала неподходящие реплики, поэтому приложение не выставляет баллы и не поручает модели оценивание. Whisper обычно опускает «um» и «uh», поэтому отчёт не считает эти заполнители; некоторые слова и числа также могут классифицироваться ошибочно. Системный дизайн пока не реализован, режим Gemma 4 E2B обозначен как будущий, а для первого запуска нужны современный Chrome или Edge с WebGPU, настольный компьютер и загрузка около 1,6 ГБ. Автор не приводит формальной оценки точности распознавания, долгосрочного эффекта на подготовку или производительности на широком наборе устройств.

Что взять себе

Читать оригинал, если…

Откройте исходник, если нужны репозиторий и демо, подробности реализации, результаты отдельных тестов моделей или планы развития проекта.