Watson AssistantとWatson DiscoveryをNode-RED上でつなげよう
Watson AssistantとWatson Discoveryをつなげた記事があまりないので。
Watson Assistantから出てくるメッセージについて
Watson Assistantから出てくるmsg.payloadの中には、以下の項目が含まれています。
大きくは、
msg.payload.output
とmsg.payload.context
に分かれます。
Watson Assistantからのメッセージ本文は、
msg.payload.output.generic[i].text
に入っています。
ここでは、i=0
からmsg.payload.output.generic.length-1
です。
写真では、
msg.payload.output.generic[0].text
にWatson Assistantからのメッセージ本文が入っています。
msg.payload.output.generic[1].text
Watson Assistantから出てくるメッセージを修正する
メッセージを修正するfunctionノードを作成します。
まず、msg.payload.output.generic[i].text
を
i=0
からmsg.payload.output.generic.length-1
まで結合させます。
var len=msg.payload.output.generic.length-1;
var i=o;
while(i<=len){
temp += msg.payload.output.generic[i].text
i=i+1;
}
そして、結合したメッセージ本文をmsg.payloadに代入するという形でmsg.payloadを修正します。
msg.payload=temp
Watson Discoveryにmsg.payloadの内容を渡す
msg.discoveryparams.query=msg.payload
という内容のfunctionノードを作成します。
参考文献
こちらの記事は会社でお世話になっている@shuari4さん
に教えていただいた内容になります。いつもありがとうございます。