Разблокируйте AI-помощника для реального времени для вашего телефона
Разблокируйте реальный AI-помощник для ваших телефонных разговоров. Создайте мощный инструмент, который в режиме реального времени расшифровывает и анализирует разговоры, предоставляя мгновенные предложения и отзывы для улучшения коммуникации. Улучшите ваши интервью, встречи и социальные взаимодействия с помощью этого AI-помощника.
14 февраля 2025 г.

Эта статья в блоге исследует потенциал реального времени AI-собеседника, который может помочь с задачами, такими как собеседования при приеме на работу и пользовательские исследования. Автор демонстрирует разработку веб- и мобильного приложения, которое использует передовые модели преобразования речи в текст и языковые модели, чтобы обеспечить мгновенные возможности транскрипции и предложения, подчеркивая преимущества такого инструмента в повышении эффективности общения и производительности.
Введение в сопровождение в режиме реального времени с помощью ИИ
Проблемы при создании расшифровки в режиме реального времени и быстрого вывода
Создание демо-версии веб-сопровождения разговора
Использование Whisper Kit для мобильного сопровождения разговора
Заключение
Введение в сопровождение в режиме реального времени с помощью ИИ
Введение в сопровождение в режиме реального времени с помощью ИИ
Почти год назад, примерно в марте 2023 года, когда ChatGPT только появился и стал самой горячей темой в мире, я отчетливо помню, как видел демо от Арони, где он построил "Interview Breaker" - инструмент ChatGPT, который помогает пройти собеседования на работу. На этой неделе я построил что-то под названием "Interview Breaker" - прототип, созданный с помощью ChatGPT для прохождения собеседований на работу. Он использует ваш предыдущий опыт, прослушивает ваш разговор с интервьюером и говорит вам, что сказать, восполняя пробелы в ваших знаниях.
Как старший архитектор, при определении приоритетов для бэкенд-сервиса я отдаю приоритет масштабируемости. Такой инструмент нанесет серьезный ущерб процессу собеседования на работу. Обычно, когда появляются такие большие технологии, как компьютеры или Интернет, они меняют все процессы, которые возникли до них. Это означает, что некоторые из этих вопросов могут больше не иметь смысла, если мы будем смотреть далеко в будущее.
Я подумал, что это фантастическая идея, потому что тогда я как раз проходил некоторые процессы собеседования на работу, поэтому мне бы очень хотелось иметь инструмент в режиме реального времени, который может мне в этом помочь. Я действительно пытался построить этот прототип, где он использовал модель преобразования речи в текст для генерации расшифровки и также использовал большую языковую модель для генерации ответов, но этот прототип никогда не работал хорошо в реальной жизни. Одно из жестких требований для таких реальных интервью или собеседований с помощниками - это низкая задержка и работа в режиме реального времени. Если бы на генерацию результатов уходило 30-40 секунд, это бы не работало. К сожалению, именно так было в прошлом году в марте, поскольку и модель преобразования речи в текст, и большая языковая модель занимали довольно много времени на вывод. Это был простой проект в теории, но очень сложно построить работающий продукт на практике.
Однако через пару месяцев я увидел другой продукт, демонстрирующий похожий сценарий, но с почти реальным временем отклика. В аэрокосмической инженерии, например, в реактивных двигателях или при возвращении космических аппаратов, как вы подходите к таким задачам?
Проблемы при создании расшифровки в режиме реального времени и быстрого вывода
Проблемы при создании расшифровки в режиме реального времени и быстрого вывода
Есть два ключевых компонента для построения собеседования в режиме реального времени: расшифровка в реальном времени и быстрый вывод.
Расшифровка в реальном времени
Достижение расшифровки в реальном времени - одна из самых больших проблем. Типичные модели преобразования речи в текст, такие как Whisper, не предназначены для потоковых сценариев, где аудио обрабатывается небольшими фрагментами, а не всей записью.
Чтобы преодолеть это, распространенным решением является создание повторяющегося цикла, который непрерывно захватывает небольшие аудиофрагменты (например, каждые 2-5 секунд), отправляет их в модель преобразования речи в текст и сшивает небольшие расшифровки вместе. Этот подход требует оптимизации для обеспечения точности, такой как сравнение меток времени соединяющих слов для улучшения финальной расшифровки.
К счастью, технология преобразования речи в текст быстро развивается, и теперь есть решения, которые позволяют выполнять расшифровку в реальном времени, например, используя невероятно быстрые модели, размещенные на платформах, таких как Replicate, или развертывая легковесные модели, такие как Whisper Kit, непосредственно на мобильных устройствах.
Быстрый вывод
Вторая проблема - достижение очень быстрого вывода с помощью большой языковой модели для генерации предложений в режиме реального времени. Чтобы решить это:
-
Выберите быструю и небольшую языковую модель: Модели, такие как Meteo 7B, намного меньше и быстрее, чем GPT-4, что позволяет быстрее генерировать ответы с меньшими вычислительными ресурсами.
-
Уменьшите размер входных данных: По мере того, как разговор становится длиннее, входные данные для языковой модели могут стать слишком большими. Техники, такие как суммаризация языковой модели, могут использоваться для извлечения только релевантной информации и уменьшения размера входных данных.
-
Оптимизируйте генерацию вывода: Дополнительные оптимизации могут быть выполнены для уменьшения количества выходных токенов, например, с помощью методов инженерии подсказок.
Сочетая эти техники для расшифровки в реальном времени и быстрого вывода, можно построить высокоотзывчивого собеседника в режиме реального времени, который может предоставлять ценные предложения и поддержку во время разговоров.
Создание демо-версии веб-сопровождения разговора
Создание демо-версии веб-сопровождения разговора
Чтобы построить веб-демонстрацию собеседования в режиме реального времени, мы будем использовать комбинацию Flask (веб-фреймворк на Python) и Replicate (платформа для запуска моделей с открытым исходным кодом).
Основные компоненты:
-
Расшифровка в реальном времени: Мы будем использовать быструю модель преобразования речи в текст из Replicate для генерации расшифровки разговора в режиме реального времени. Это включает в себя непрерывный захват небольших аудиофрагментов, отправку их в модель преобразования речи в текст и сшивание результатов.
-
Быстрый вывод: Мы будем использовать небольшую, быструю языковую модель из Replicate (например, Minitram) для генерации предложений и ответов на основе расшифровки в режиме реального времени. Мы также исследуем техники, такие как уменьшение размера входных данных и суммаризация разговора, чтобы повысить скорость.
Веб-приложение будет иметь следующие функции:
- Текстовый ввод для пользователя, чтобы предоставить контекст о разговоре.
- Кнопка "Запись" для запуска и остановки аудиозаписи.
- Кнопка "Получить предложение" для запуска языковой модели и получения предложений.
- Отображение расшифровки в режиме реального времени.
- Отображение сгенерированных предложений.
Вот пошаговый процесс:
-
Настройка Flask-приложения:
- Создайте файл
app.py
и импортируйте необходимые библиотеки, включая SDK Python для Replicate. - Определите маршруты Flask для главной страницы и конечной точки обработки аудио.
- Настройте ведро AWS S3 и учетные данные для временного хранения аудиозаписей.
- Создайте файл
-
Реализация функциональности расшифровки в реальном времени:
- Используйте модель Replicate Whisper для непрерывного захвата и расшифровки аудиофрагментов.
- Оптимизируйте расшифровку, обрабатывая границы слов и поддерживая контекст между фрагментами.
-
Реализация функциональности быстрого вывода:
- Используйте модель Replicate Minitram (или аналогичную небольшую, быструю языковую модель) для генерации предложений на основе полной расшифровки.
- Исследуйте техники, такие как уменьшение размера входных данных и суммаризация разговора, чтобы повысить скорость вывода.
-
Построение фронтенда с помощью HTML и JavaScript:
- Создайте файл
index.html
в папкеtemplates
. - Определите структуру HTML с текстовым вводом, кнопкой записи и отображением предложений.
- Реализуйте логику JavaScript для обработки записи, загрузки аудио и вызовов API к серверу Flask.
- Создайте файл
-
Тестирование и развертывание веб-приложения:
- Запустите Flask-приложение локально и протестируйте функциональность.
- Разверните приложение на платформе для хостинга (например, Heroku, AWS или ваш собственный сервер).
Использование Whisper Kit для мобильного сопровождения разговора
Использование Whisper Kit для мобильного сопровождения разговора
После просмотра впечатляющей демонстрации веб-приложения для собеседования в режиме реального времени я решил исследовать возможность построения мобильной версии с использованием открытого фреймворка Whisper Kit. Whisper Kit предоставляет пакет Swift, который позволяет развертывать модель Whisper для преобразования речи в текст непосредственно на устройствах iOS, обеспечивая расшифровку в реальном времени с минимальной задержкой.
Чтобы начать, я клонировал репозиторий Whisper Kit GitHub и открыл пример проекта в Xcode. Проект включает папку whisper-ax
, которая содержит исходный код для примера iOS-приложения, демонстрирующего использование Whisper Kit.
В файле ContentView.swift
я сначала определил несколько дополнительных переменных состояния для обработки ввода подсказки и резюме ответа от большой языковой модели. Затем я добавил поле ввода для пользователя, чтобы настроить подсказку, которая будет использоваться для предоставления контекста большой языковой модели.
Затем я реализовал функцию getSuggestion()
, которая отвечает за отправку расшифровки и подсказки в API Replicate для генерации ответа от модели Mistral. Эта функция обрабатывает потоковую природу API Replicate, постоянно проверяя состояние, пока ответ не будет завершен, и затем обновляет переменную состояния API_response_summary
сгенерированным предложением.
Наконец, я добавил кнопку "Получить предложение", которая запускает функцию getSuggestion()
, и отобразил резюме ответа API ниже расшифровки в реальном времени.
Получившееся iOS-приложение позволяет пользователям начать разговор, видеть расшифровку в реальном времени и получать мгновенные предложения от большой языковой модели, чтобы помочь направить разговор. Использование Whisper Kit для функциональности преобразования речи в текст в сочетании с интеграцией API Replicate обеспечивает плавный и отзывчивый опыт собеседования в режиме реального времени непосредственно на мобильном устройстве пользователя.
Такой подход открывает новые возможности для контекстно-зависимой помощи в режиме реального времени, расширяя возможности пользователей с помощью интеллектуальной поддержки во время важных обсуждений, собеседований и социальных взаимодействий. Используя последние достижения в области распознавания речи и больших языковых моделей, мобильный помощник для собеседований может стать ценным инструментом для улучшения коммуникации и производительности.
Я с нетерпением жду дальнейшего совершенствования и доработки этого мобильного приложения-помощника для собеседований, и я с нетерпением жду возможности поделиться им с сообществом, как только оно будет готово к выпуску. Пожалуйста, дайте мне знать, если вы заинтересованы в том, чтобы попробовать это приложение или предоставить отзывы о его разработке.
Заключение
Заключение
В заключение, разработка собеседования в режиме реального времени - это сложная задача, которая требует решения нескольких ключевых проблем. Основные проблемы включают:
-
Генерация расшифровки в реальном времени: Достижение низкой задержки и точной расшифровки речи в текст имеет решающее значение для предоставления обратной связи в режиме реального времени. Техники, такие как использование модели распознавания речи в потоковом режиме и оптимизация связи между аудиофрагментами и расшифрованным текстом, имеют решающее значение.
-
Быстрый вывод большой языковой модели: Генерация релевантных предложений и ответов быстро требует использования более мелких, специализированных языковых моделей, которые могут обеспечивать быстрое время вывода. Техники, такие как уменьшение размера входных токенов и суммаризация истории разговора, могут помочь улучшить производительность.
-
Плавная интеграция: Сочетание ген
Часто задаваемые вопросы
Часто задаваемые вопросы

