Я хочу иметь возможность запускать несколько одновременных длинных заданий распознавания, поэтому я написал следующий код Python.
client = speech.SpeechClient()
config = types.RecognitionConfig(
encoding=enums.RecognitionConfig.AudioEncoding.FLAC,
language_code='en-US')
audio = {"Brooklyn": types.RecognitionAudio(uri='gs://cloud-samples-tests/speech/brooklyn.flac')}
jobs = {}
output = {}
for name, job in audio.items():
jobs[name] = client.long_running_recognize(config, job)
while len(jobs) > 0:
time.sleep(5)
for name, job in jobs.items():
if job.done() == False:
print(name + ' progress: ' + str(job.metadata.progress_percent))
else:
print(name + ' is done!')
output[name] = job
jobs.pop(name)
for name, result in output.items():
print(u'Transcript: {}'.format(result.alternatives[0].transcript))
print('Confidence: {}'.format(result.alternatives[0].confidence))
Он работает нормально, но при попытке распечатать результат стенограммы на второмдо последней строки я получаю ошибку AttributeError: 'Operation' object has no attribute 'alternatives'
.Я думаю, что упускаю что-то довольно очевидное в том, как атрибуты вложены в объект клиента, но я просто не могу понять это.