1

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 応答でコンテキストを取得していません

4

2 に答える 2