Код, который у вас есть, выглядит корректно для более старых версий 4.x модуля npm ibm-watson. Код, который показывает @Andrei, частично верен для версий 5.x. Я предполагаю, что вы клонировали репо с пакетом. json зависимость для версии 4.x.
В этом случае вам необходимо изменить зависимость в package.json
. Текущая версия - 5.3.1
. Затем запустите npm install
, чтобы получить обновленную версию пакета ibm-watson
.
Ваша аутентификация должна основываться на документах API - https://cloud.ibm.com/apidocs/assistant/assistant-v2?code=node
const AssistantV2 = require('ibm-watson/assistant/v2');
const { IamAuthenticator } = require('ibm-watson/auth');
const assistant = new AssistantV2({
version: '{version}',
authenticator: new IamAuthenticator({
apikey: '{apikey}',
}),
url: 'https://api.jp-tok.assistant.watson.cloud.ibm.com',
});
, но затем вам нужно создать сеанс.
let sessionID = null;
assistant.createSession({
assistantId: '{assistant_id}'
})
.then(res => {
if (res && res.session_id) {
sessionID = res.session_id;
}}
})
.catch(err => {
console.log(err);
});
Затем вы можете отправлять сообщения в службу Assistant.
Кстати, поскольку в своем ответе вы указали свой APIKey, URL-адрес конечной точки и идентификатор помощника, его легко использовать всем. Вам нужно будет отозвать свой ключ и создать новый, потому что ваш существующий теперь взломан.