Учетные данные IBM Watson для преобразования речи в текст - PullRequest
0 голосов
/ 16 сентября 2018

Я пытаюсь запустить пример с речью в текст для моего TJBot.В примере файла config.js для аутентификации службы требуются имя пользователя и пароль от IBM.Однако IBM, похоже, мигрирует в систему аутентификации на основе ключей API и не предоставляет пар имя пользователя / пароль.Как я могу подключиться к услуге?

Ответы [ 3 ]

0 голосов
/ 18 сентября 2018

Рецепт STT теперь работает. Спасибо data_henrik за указание на необходимость редактирования config.js. Помимо редактирования файла конфигурации, я также отредактировал node_modules / tjbot / lib / tjbot.js в строке 381 и закомментировал следующий блок:

//assert(credentials.hasOwnProperty('username'), "credentials for the " + service + " service missing 'username'");
//assert(credentials.hasOwnProperty('password'), "credentials for the " + service + " service missing 'password'");
    //var SpeechToTextV1 = require('watson-developer-cloud/speech-to-text/v1');
         //this._stt = new SpeechToTextV1({
         //  username: credentials['username'],
         // password: credentials['password'
         // url: 'https://stream.watsonplatform.net/speech-to-text/api/',
         // version: 'v1'
         // });
         // break;`

и заменил его следующим:

var SpeechToTextV1 = require('watson-developer-cloud/speech-to-text/v1');
     this._stt = new SpeechToTextV1({
     iam_apikey: credentials['iam_apikey'],
     url: 'https://gateway-syd.watsonplatform.net/speech-to-text/api',
     version: 'v1'
});
break;`
0 голосов
/ 31 декабря 2018

@ data_henrik ваше решение может работать.Но лучшим решением является редактирование файла config.js напрямую следующим образом (обратите внимание, что клавиатура - это apikey, а не iam_apikey):

// Watson Speech to Text
// https://www.ibm.com/watson/services/speech-to-text/
exports.credentials.speech_to_text = {
    apikey: 'YOUR-API-KEY',
    url: 'URL-FOR-SERVICE'
};
0 голосов
/ 17 сентября 2018

Кажется, вы ссылаетесь на этот config.js как часть этого рецепта TJBot . Действительно, все облачные сервисы IBM, включая сервисы Watson, переходят на аутентификацию на основе IAM. Вот API-интерфейс Node.js для преобразования речи в текст при аутентификации , который предлагает этот способ аутентификации в дополнение к имени пользователя / паролю:

var speechToText = new SpeechToTextV1({
    iam_apikey: '{iam_api_key}',
    url: '{url}'
  });

Исходя из макета config.js и этого API, часть TTS в вашем config.js должна выглядеть следующим образом:

// Watson Speech to Text
// https://www.ibm.com/watson/services/speech-to-text/
exports.credentials.speech_to_text = {
    iam_apikey: 'YOUR-API-KEY',
    url: 'URL-FOR-SERVICE'
};
...