Где найти сохраненные результаты вызова API Cloud Speech-to-Text? - PullRequest
0 голосов
/ 17 февраля 2020

Я выполняю серию асинхронных транскрипций long_running_recognize с использованием облачного речевого преобразования текста в Google, и кажется, что некоторые из моих запросов имеют тайм-аут и / или ничего не возвращают. Как я могу получить доступ к сохраненным результатам моих вызовов API? Я использую Python 3.7.

Я понимаю, что вызов API возвращает результаты функции, которая сделала вызов. Я спрашиваю, хранит ли Google результаты моих вызовов API где-нибудь? И как мне получить к ним доступ?

1 Ответ

0 голосов
/ 17 февраля 2020

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

{
  "name": "operation_name",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.speech.v1.LongRunningRecognizeMetadata"
    "progressPercent": 34,
    "startTime": "2016-08-30T23:26:29.579144Z",
    "lastUpdateTime": "2016-08-30T23:26:29.826903Z"
  }
}

С помощью этого ответа вы можете запросить результат, получив имя_операции :

curl -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
     -H "Content-Type: application/json; charset=utf-8" \
     "https://speech.googleapis.com/v1/operations/your-operation-name"

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

long_running_recognize(retry=10, timeout=300)

Источник

...