Я пытаюсь реализовать Speech-to-Text API в этом уроке с использованием облачных функций (python)
Долгосрочный перевод текста в текст
Реализованная здесь асинхронная длительная функция. Моя цель состоит в том, чтобы облачная функция загружала аудио с сайта, записывала его на S3, а затем вызывала клиентскую функцию API Speech-to-Text в этом местоположении S3 аудио, чтобы вернуть транскибированный текст. Вот сокращенный код из учебника:
from google.cloud import speech_v1 as speech
client = speech.SpeechClient()
# storage_uri = 'gs://cloud-samples-data/speech/brooklyn_bridge.raw'
# some configuration
audio = {"uri": storage_uri}
operation = client.long_running_recognize(config, audio)
Однако в тех случаях, когда звук слишком длинный, он не будет соответствовать даже максимальному времени ожидания в облачной функции, и я получаю время ожидания в журналах. client.long_running_recognize
, вероятно, был завершен API для преобразования речи в текст, но облачная функция не может его дождаться. Что мне делать в этом случае? Является ли использование библиотеки asyncio
в Python хорошим решением?