Что такое пакетное транскрибирование?

Используйте пакетное транскрибирование для обработки большого объема аудиоданных, хранящихся в хранилищах. И REST API службы "Речь в текст", и интерфейс командной строки Speech CLI поддерживают пакетную транскрипцию.

Необходимо предоставить несколько файлов для каждого запроса или указать контейнер Хранилища BLOB-объектов Azure с аудиофайлами для транскрибирования. Служба пакетного транскрибирования поддерживает обработку большого количества отправленных расшифровок. Служба транскрибирует файлы одновременно, что позволяет уменьшить общее время обработки.

Как это работает?

При пакетном транскрибировании вы отправляете звуковые данные, а затем извлекаете результаты транскрибирования асинхронно. Служба транскрибирует звуковые данные и сохраняет результаты в контейнере хранилища. Затем можно получить результаты из контейнера для хранения.

Совет

Для программных решений на основе низкого кода или без кодирования используйте Соединитель пакетного преобразования речи в текст в приложениях Power Platform, таких как Power Automate, Power Apps и Logic Apps. Ознакомьтесь с руководством по пакетной транскрипции в Power Automate, чтобы начать работу.

Чтобы использовать REST API пакетной транскрибирования, выполните следующие действия.

  1. Найдите аудиофайлы для пакетной транскрипции — вы можете загрузить собственные данные или использовать существующие аудиофайлы по общедоступному URI или URI с подписью общего доступа (SAS).
  2. Создайте пакетное транскрибирование . Отправьте задание транскрибирования с такими параметрами, как аудиофайлы, язык транскрибирования и модель транскрибирования.
  3. Получение результатов пакетного транскрибирования. Проверьте состояние транскрибирования и асинхронно извлеките результаты транскрибирования.

Внимание

Служба планирует задания пакетной транскрипции на максимально возможной основе. В пиковые часы выполнение задания транскрибирования может занять до 30 минут, чтобы начать обработку и до 24 часов. Узнайте, как проверить текущее состояние задания пакетной транскрипции в этом разделе.

Рекомендации по повышению производительности

Размер запроса: пакетное транскрибирование является асинхронным, и каждый регион обрабатывает один запрос за раз. Отправка заданий с более высокой скоростью не ускоряет обработку. Например, отправка 600 или 6000 запросов в минуту не влияет на пропускную способность. Отправьте около 1000 файлов в одном Transcription_Create запросе, чтобы отправить меньше запросов в целом.

Распределение времени: распределение запросов с течением времени. Отправьте их через несколько часов, а не отправляйте их в течение нескольких минут. Серверная обработка поддерживает стабильный уровень производительности из-за фиксированной пропускной способности, поэтому отправка запросов слишком быстро не повышает производительность.

Мониторинг заданий: при мониторинге состояния задания опрос каждые несколько секунд не требуется. При отправке нескольких заданий служба обрабатывает только первое задание; последующие задания ожидают завершения первого задания. Опрос всех заданий регулярно увеличивает нагрузку системы без какой-либо пользы. Проверка состояния каждые 10 минут достаточно, и опросы чаще одного раза в минуту не рекомендуется.

  • Из-за последовательной обработки можно получить состояние задания, проверив только подмножество файлов: проверьте первые 100 файлов, и если они не завершены, последующие пакеты, скорее всего, не завершены. Подождите по крайней мере одну минуту (в идеале пять минут), прежде чем снова проверить.

Избегайте пикового трафика для вызовов API: минимизируйте ListFiles, Update и Get вызовы API во время пикового трафика. Эти вызовы ведут себя аналогично вызову Create .

Балансировка нагрузки. Чтобы оптимизировать пропускную способность для крупномасштабного пакетного транскрибирования, рассмотрите возможность распределения заданий в нескольких поддерживаемых регионах Azure. Этот подход может помочь сбалансировать нагрузку и сократить общее время обработки, если ваши данные и требования соответствия позволяют использовать многорегионирование. Проверьте доступность региона и убедитесь, что хранилище и ресурсы доступны из каждого региона, который вы планируете использовать.

Приблизительно оценить задержку

Задержка — это сквозное время, необходимое для транскрибирования пакета звуковых данных. Трудно оценить, так как он определяется несколькими факторами:

  • Общая длина звука, включенная в запрос.
  • Требуются ли дополнительные функции, такие как диаризация и идентификация языка.
  • Длина очереди заданий в системе в тот момент.
  • Конфигурация аппаратных ресурсов системы.

Но мы уверены, что задержка на уровне 90-го процентиля составляет менее 6 часов. Мы определяем нормализованный метод вычисления задержки следующим образом:

Нормализованная задержка = ProcessDuration — AudioLength/5

Например, если AudioLength составляет 120 минут, а сквозное ProcessDuration составляет 30 минут: 30 – 120/5 = 6, где коэффициент 5 означает, что система обрабатывает звук примерно в 5x скорости реального времени. 6 минут представляет время ожидания очереди в обычных обстоятельствах, которое не превышает шесть часов. В исключительных случаях общее время может достигать 24 часов и более, поскольку очередь ожидающих задач может быть очень длинной, что увеличивает общее значение ProcessDuration.