Watson Assistant にあらかじめ情報を渡す方法
環境
IBM Cloud 上の node-red で開発しています
Assistant を利用して LINE bot との会話を構成します
やりたいこと
Assistant で会話を始める前に Assistant に情報を渡したい
例えば今回は、LINE bot に画像を投稿して、Watson Visual Recognition で画像を認識させて、その結果を Assistant の会話で利用する必要がありました
方法
Assistant ノードの前に function ノードを追加して以下を記述します
//watson assistant の準備
msg.params = {};
msg.params.endpoint = "https://gateway.watsonplatform.net/assistant/api";
msg.params.username = "xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx"; //Assistant の資格情報
msg.params.password = "xxxxxxxxxxxx"; //Assistant の資格情報
msg.params.workspace_id = "xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx"; //Assistant で呼び出したい Workspace の Workspace-id
//渡したい情報を context にセットする
msg.params.context.color= "red";
msg.params.context.size= "big";
msg.payload = {};
msg.payload = "bot に投げるメッセージ";
return msg;
備忘
会話はこちらからのメッセージに対して、bot が一回返答する形になります
次のメッセージをこちらから投げる時には前の msg はクリアされていて、値を保持しておけません
Assistant は継続した会話として値を保持してくれているようですので、context に入れておけば持っておけます
その後は、会話を新たに始める際に context をクリアしています
Author And Source
この問題について(Watson Assistant にあらかじめ情報を渡す方法), 我々は、より多くの情報をここで見つけました https://qiita.com/yoyoyo-tamu/items/fbfda8ae3ea7e6bedbf4著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .