NLU には IBM watson アシスタントを使用し、API 呼び出しには Nodejs を使用するバックエンドを使用しています。ワトソンアシスタントから接続して JSON 応答を取得できます。そのために、次のパッケージ「watson-developer-cloud/assistant/v2」を使用しました。
私はワトソン内でコンテキスト/スロットを処理しているので、JSON 応答でこれらのコンテキスト変数/スロットの値を取得したいだけです。
watson からのテキスト応答 (JSON ファイル) でコンテキスト変数を送信しようとしました。
また、ワトソン アシスタント V1 でコンテキストを取得しようとしましたが、セッション処理に問題があるため、ワトソン アシスタント V2 を使用することを好みました。
const AssistantV2 = require('watson-developer-cloud/assistant/v2');
const assistant = new AssistantV2({
version: 'XXXX-XX-XX',
iam_apikey: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
url: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
});
var sess_id;
assistant.createSession({
assistant_id: 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'
})
.then(res => {
sess_id=res.session_id;
})
.catch(err => {
console.log(err);
});
assistant.message({
assistant_id: 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX',
session_id: sess_id,
input: {
'message_type': 'text',
'text': 'Message'},
})
.then(res => {
console.log(JSON.stringify(res, null, 2))
console.log(res)})
想定: watson Json 応答でコンテキストを取得する必要があります
実際: watson Json 応答でコンテキストを取得していません