Я пытаюсь использовать поле setUseEnhanced
в Speech API и получаю такую ошибку:
java.util.concurrent.ExecutionException: com.google.api.gax.rpc.InvalidArgumentException: io.grpc.StatusRuntimeException: INVALID_ARGUMENT: недопустимое распознавание "config": не соответствует требованиям для запроса расширенной модели. Требуется согласие на вход.
Это код
// Instantiates a SpeechClient
speech = SpeechClient.create(speechSettings);
GoogleDataCollectionConfig googleDataCollectionConfig = GoogleDataCollectionConfig.newBuilder()
.setLoggingConsentState(LoggingConsentState.ENABLED).build();
RecognitionMetadata recognitionMetadata = RecognitionMetadata.newBuilder()
.setRecordingDeviceType(RecordingDeviceType.SMARTPHONE)
.setInteractionType(InteractionType.PHONE_CALL)
.build();
// Builds the sync recognize request
final RecognitionConfig config = RecognitionConfig.newBuilder()
.setEncoding(AudioEncoding.FLAC)
.setLanguageCode(audioLanguageCode)
.setMaxAlternatives(1)
.setModel("phone_call")
.setGoogleDataCollectionOptIn(googleDataCollectionConfig)
.setUseEnhanced(true)
.setMetadata(recognitionMetadata)
.build();
Согласно документам Google:
Вы должны включить запись звука, следуя инструкциям в документации по регистрации данных. Если вы установите для useEnhanced значение true и не включили запись звука, вы получите сообщение об ошибке.
Ссылка для https://cloud.google.com/speech/data-sharing похоже, тоже сломан.