Что мы на нём делаем

Whisper превращает поле формы в то, с чем можно говорить, а не только печатать. Мы подключаем его двумя разными способами — в зависимости от того, где живёт поле ввода.

За веб-фронтендом аудио записывается в браузере, отправляется на эндпоинт транскрипции на существующем бэкенде, и текст возвращается в то же поле, для которого его записали. Внутри Flutter-приложения мы встраиваем Whisper прямо в бинарник — сборку на GGML, работающую через FFI, — так что транскрипция происходит на устройстве: без загрузки, без round trip, и это продолжает работать вообще без связи.

Где мы его применили

Formtastic — первый проект, где это появилось. Его веб-приложение обращается к новому эндпоинту транскрипции на существующем бэкенде Django, а не к отдельному сервису, — Django и так уже владеет аутентификацией и хранением запроса. Его приложения на Flutter несут модель при себе, так что заполнение формы на объекте без сигнала работает точно так же, как и на вайфае.

Когда мы его рекомендуем

Whisper стоит применять там, где в форме есть длинные текстовые поля — заметки, отчёты, открытые ответы, — которые медленно печатать на телефоне и естественно продиктовать.

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

Аудио записывается там же, где пользователь печатает, распознаётся через Whisper, и полученный текст подставляется обратно в это поле. Где это происходит — на бэкенд-эндпоинте или на устройстве в приложении — зависит от клиента.
Транскрипция на устройстве продолжает работать без связи и никогда не отправляет аудио с телефона. Мы используем её во Flutter-приложениях через сборку на GGML, работающую через FFI, — ценой большего размера приложения и вычислений на самом устройстве.
Веб-приложение Formtastic транскрибирует через эндпоинт на существующем бэкенде Django; его Flutter-приложения несут Whisper на устройстве, так что формы можно заполнять голосом даже без сигнала.