4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

AI FunctionをNode-REDから呼び出す

Last updated at Posted at 2018-12-28

はじめに

Watson Machine LearningのAI Function機能を使って、SPSS Modelerの機械学習モデルをFunction定義するの続編です。
上のリンクで作ったAI Functionのサービスを簡単に呼べる方法はないか、いろいろ考えてみて、
Node-REDからWatson Studioの機械学習モデルを呼び出すみたいに、Node-REDの部品になっていると一番作る側は楽かと思いました。
オリジナルの部品に比べると相当低機能ですが、実際にそういうノードを作って、npmに公開しておきましたので、ご紹介します。

Nodeの紹介

node-red-contrib-ai-functionが、そのサイトです。せっかく作ったので、Webページの画面も紹介しておきましょう。

スクリーンショット 2018-12-28 22.08.04.png

自分のNode-RED環境にこのノードを追加する場合はIBM CloudのNode-REDで追加ノードの導入手順の手順に従って下さい。

使い方

使い方はとても簡単です。ノードを編集画面に配置して、config nodeを設定する手順は
Node-REDからWatson Studioの機械学習モデルを呼び出すとまったく同じなので、そちらを参照して下さい。
後は、Watson Studioの管理画面から、AI FunctionのDeployment IDを取得して、下の画面のようにNodeの設定画面で設定します。ちなみに、「Mode」の項目は、前のNodeのときからそのまま残ってしまっていますが、今は「Run Function」しか選べないです。

スクリーンショット 2018-12-28 22.15.03.png

Deployment IDはWatson Machine LearningのDeplotment管理画面の以下の領域に表示されているものを利用します。

スクリーンショット 2018-12-29 12.13.08.png

あとは、下の図のように「inject」「function」「debug」の各ノードを編集エリアに配置し、一直線につなぎます。

スクリーンショット 2018-12-28 22.20.33.png

functionノードで入力用jsonを組み立てます。実装のサンプルは以下の通りです。「項目名」を意味するfieldsと「項目値」を意味するvaluesを設定します。valuesの方は配列を二重にする必要があるので注意して下さい。

msg.payload = {
    "fields": ["CLASS", "AGE", "BP", "AL", "SC", "POT", "PCV"],
    "values": [[null, 75, 70, 0, 0.8, 3.5, 46]]
}

injectボタンをクリックすると、下のような結果が返ってくるはずです。

スクリーンショット 2018-12-28 22.21.09.pngスクリーンショット 2018-12-28 22.21.17.png

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?