• 検索結果がありません。

リンクをクリックして、Node-REDにアクセスします。

これで

Node-RED

から

Watson

Q&A

サービスが利⽤できるようになります。

■Node-REDが起動します。

Sheet 1に先ほど作成したフローが残っている方は別シートを追加します。

上部の「+」(プラス)ボタンをクリックします。

新しいシートが開きますので、ここで処理フローを作成してみましょう。

■Watsonに質問を投げて、その回答を受け取るフローを作ってみましょう。

左側のパレットから、以下の4つのノードをキャンバスにドラッグ&ドロップして配置します。

inputカテゴリ

injectノード outputカテゴリ

debugノード

functionカテゴリ

templateノード IBM_Watsonカテゴリ

Q and Aノード

■injectノード をダブルクリックして設定画面を開き、Payloadで「blank」を選択します。

OKをクリックします

■functionノード にはWatsonに投げる質問⽂を⼊⼒します。

ここでは例として「Which is the best hotel to stay in Okayama?」とします。

OKをクリックします

■Q and Aノード ではWatsonのコーパスを指定します。

Corpusで「Travel」を選択します。

OKをクリックします

■debugノード は変更なしでOKです。

■4つのノードを下記のように線で繋ぎます。

■それでは実⾏してみましょう。

右上の「deploy」をクリックします。

■inject

templateノードに書かれた質問文がWatson Q&Aサービスに投げられ、その結果が 右端のdebug画面に表示されます。

ここをクリック

debugタブを選択

Watson

からの回答が表示されれば成功です!

Node-REDを使⽤すると、⼀⾏もコードを書かずにWatson Q&Aサービスを利⽤できます。

■次にWatsonからの回答をWebページに表示するようにフローを編集してみましょう。

■左側のパレットからfunctionノードをドラッグ&ドロップで追加します。

functionカテゴリ

functionノード

■設定画面を開き 1⾏目に「context.global.answer = msg.payload;」と追記します。

2⾏目は変更なしでOKです。

■追加したfunctionノードが、Q and Aノードとdebugノードの間に入るように線を繋ぎます。

これで

Watson

からの回答が

” context.global.answer”という変数に代入されました。

続いて、その回答を

Web

ページに表示するフローを作ってみましょう。

■Watsonからの回答をWebページに表示するフローを作ってみましょう。

左側のパレットから、以下の4つのノードをキャンバスにドラッグ&ドロップして配置します。

inputカテゴリ httpノード functionカテゴリ

functionノード

functionカテゴリ

templateノード outputカテゴリ

http responseノード

■httpノード をダブルクリックして設定画面を開き、URLに「/wat1」と⼊⼒します。

OKをクリックします

■functionノードをダブルクリックして設定画面を開き、

1⾏目に「msg.payload = context.global.answer;」と追記します。

2⾏目は変更なしでOKです。

OKをクリックします

■templateノードをダブルクリックして設定画面を開き、

1⾏目に「<h1>Watsonさんの回答</h1>{{payload}}」と⼊⼒します。

OKをクリックします

■http responseノード は変更なしでOKです。

■4つのノードを下記のように線で繋ぎます。

■それでは実⾏してみましょう。

右上の「deploy」をクリックします。

■先程と同様、injectノードの左端部分を クリックすると、処理が開始されます。

Watsonからの回答がdebug画面に 表示されていることを確認します。

■Webブラウザの新しいタブを開きます。

Node-REDフローエディタのURLの 末尾の「red/#」を削除し、代わりに

「wat1」と⼊⼒してWebページに アクセスします。

()

http://node-red.xxx/red/#の場合は、

http://node-red.xxx/wat1

を開きます。

Watson

からの回答が

Web

ブラウザに表示されました!

■Webこれまで作成したフローから、再利⽤できる部分をコピーして新しいフローを作成してみます。

■Shiftキーを押しながら先程作成した2つ目のフローをクリックします。

このフローのすべてのノードが選択されます。

■「Ctrl」キーと「C」キーを同時に押してコピーし、「Ctrl」キーと「V」キーでペーストします。

キャンバスの適当な場所をクリックすると、コピーしたフローが配置されます。

フローをコピーします

■左端のhttpノードをダブルクリックし、URLを「/wat2

■2番目のfunctionノードをクリックして選択し、「Delete」キーを押して削除します。

■3番目のtemplateノードは次ページを参照。

■4番目のhttp responseノードはそのままでOKです。

削除 次ページ 変更なし

■3番目のtemplateノードに、質問文を受け取るHTMLフォームを定義します。

ダブルクリックして以下の内容を⼊⼒してください。元の記載内容は削除します。

<form action=“/wat3” method=“post”>

<input type=“text” name=“question” value=“Which is the best hotel to stay in Okayama?”><br>

<button type=“submit”>質問する</button>

</form> 質問例⽂

■以下のように3つのノードを線で繋ぎます。

これでWebブラウザから質問⽂を⼊⼒するフローができました。

■Watsonに質問し、回答を表示するフローを作成しましょう。

これまで作成したフローから、再利⽤できる部分をコピーして新しいフローを作成してみます。

■Shiftキーを押しながら先程作成した2つ目のフローをクリックして選択します。

■「Ctrl」キーと「C」キーを同時に押してコピーし、「Ctrl」キーと「V」キーでペーストします。

キャンバスの適当な場所をクリックすると、コピーしたフローが配置されます。

もう⼀度フローをコピーします

■左端のhttpノードをダブルクリックし、Methodを「POST」、URLを「/wat3

■2番目のfunctionノードをダブルクリックし、「context.global.answer」の部分を

「msg.payload.question」と書き換えます。

■3番目のtemplateノードはそのままでOKです。

■4番目のhttp responseノードもそのままでOKです。

変更なし 変更なし

■Watson

最初に作成したフローから、Q and Aノードをコピーします。

Q and A

ノードをコピーします パレットから

Q and A

ノードを

追加しても

OK

です。

その場合は忘れず

Corpus

Travel」に変更してください

■ノードを下記のように線で繋ぎ直します。

これでWatsonに質問をして回答をWebブラウザに表示するフローが完成しました。

■それでは実⾏してみましょう。

右上の「deploy」をクリックします。

■Node-REDフローエディタのURLの 末尾の「red/#」を削除し、代わりに

「wat2」と⼊⼒してWebページに アクセスします。

(例)

http://node-red/red/#の場合は、

http://node-red/wat2

を開きます。

■質問⽂を⼊⼒して「質問する」をクリック すると回答画面に遷移します。

Watsonからの回答がWebブラウザに 表示されればOKです!

お疲れ様でした!

このように

Web

アプリケーションを作成する場合も

Node-REDは非常に便利です。

Node-REDでDBアクセス

1.⾦沢区が公開している AEDの設置場所のデータをWebから取得します。

Web ブラウザを起動し、「⾦沢区データポータル」にアクセスします。

https://ibm.biz/kanazawa

2.「AED設置場所」をクリックしてCSVファイルを保存します。

ファイル名はデフォルトの ”3-kz-somu.csv” のままで結構です。

3.ダッシュボードにて、最初のハンズオンで作成したSQL Databaseサービスをクリックします。

4. Launch をクリックしてSQL Database のコンソールを起動します。

5.Load Dataをクリックします。

6.”Brows files” をクリックし、ダウンロードした”3-kz-somu.csv” を指定します。

ダウンロードしたcsvファイルのコードページはShift_JISですので、Code pageを

”1208”から”943” に上書き変更します。

Does the file have columns that contain dates or times? を

“Yes”にし、右下の”Load File” をクリックします。

コードページを 1208→943

に変更

に変更Yes

ダウンロードした csvファイルを指定

7.サンプルデータのCSVファイルの内容が表示されていることを確認し、

”Next” をクリックします。

8.”Create a new table and load” にチェックを入れ、”Next” をクリックします。

9.”Table name” を 「 AEDKANAZAWA 」に変更します。

10.Column を以下のとおり変更し、 ”Finish” をクリックします。

名称 ⇒ NAME 住所 ⇒ ADDRESS

緯度 ⇒ LATITUDE 経度 ⇒ LONGITUDE

AEDの数 ⇒ AED 更新⽇ ⇒ UPDATE

11.ロードしたテーブルを確認します。左上の「Manage」から「Work with Table」を選択 します。

12.左側に表示されている「AEDKANAZAWA」をクリックすると、右側にテーブルの情 報 が

表示されます

1.上部メニューの”ダッシュボード”から、

先ほど作成したNode-REDのアプリ ケーションを選択します。

2.「サービスまたはAPIのバインド」を

クリックします。

関連したドキュメント