IBM Watson Car_Demo サンプルをやってみるその1
■ はじめに
 IBMのWatsonサンプルの備忘録を投稿します。
 そもそもWatsonとは、IBMの初代社長だよね、IBMの社是が「Think」なのは、このWatsonさんが決めたんです。
 コナンドイルのシャーロックホームズシリーズのDr.Watsonではないです。
 IBMがAIの名前にWatsonにしたのは、必然のような気がします。
 ついに、コンピューターが人間と会話する時代が到来しようとしています。
 私もAmazonのAIスピーカーを利用しています。
「アレクサ、おはよう」
「おはようございます、今日は・・・・」的な会話を楽しめます。
 2001年宇宙の旅のHALが自在に会話をするのみて、こんな時代がくるのかなと思っていましたが、来ちゃいました。
 IBMが力を入れているWatson系のチュートリアルをちゃっかり利用するのが今回の趣旨。
 とにかく、習うより慣れるかな。チュートリアルで挫折しないための手引きです。
 まだ日本語版がないので...
■ 前提
 開発をやるためには、環境を整える必要があります。
 ちなみに、私のOS環境はWindows7/10環境です。
 ざっと以下をインストールしました。
 IBM Cloud ライトアカウントの作成
 IBM Cloud CLI cfコマンドをインストール
 エディター Visual Studio Code
 Node.js
 Car_Demo ソース
※1 Car_DemoのgithubにあるREADME.mdの英語版があるのでその手順でやればできます。
■ サンプルを試してみる
  Clone or downloadの緑ボタンを押下→Download ZIPを選択
  任意のディレクトリに配置→zipファイルを解凍
  ※2 私の場合、C:\Users\kousei00\basic\IBMSample\
 2. .dep.sampleファイルの名前変更
  ZIPを解凍後、training\.dep.sampleファイル名を.training\.depに変更します。

 3. IBM Cloudeにログイン
  VSCode(Visual Studio Code)のターミナルで、
  [ターミナル]cf login

 4. Watson Assistant Serviceのインスタンス作成
  VSCode(Visual Studio Code)のターミナルで、
  [ターミナル]cf create-service conversation free my-watson-assistant-service
   ※3 conversionは作成する会話サービスタイプ
     freeはIBM Cloudの料金プラン、もちろん無料はfree
     my-watson-assistant-serviceはインスタンス名、任意
 5. ワークスペースの作成
  IBM Cloudのコンソールにログインします。
  4.で作成したインスタンスが作成されています。
  赤枠のインスタンスをクリックします。
Watsonインスタンスの管理画面で緑のLaunch toolをクリックします。
 Watson Assistant Tool画面でWorkspacesタブを選択します。

 ↑矢印がImportボタンです。ローカルのCar_DemoをワークスペースにImportします。
 クリックすると、ファイル選択のダイアログボックスが表示されます。
 赤枠のChoose a Fileをクリックするとファイル選択のダイアログが表示されますので、Car_Demoサンプルの
 training/car_workspace.jsonファイルを選択します。
 ファイル名を入力すると、Importボタンが活性化されるので、クリックします。
 これでワークスペースにCae_DemoのすべてがImportされます。
 6. ワークスペースのサービスキー作成とワークスペースID取得
 ワークスペースのサービスキーを作成します。
 [ターミナル]cf create-service-key my-watson-assistant-service myKey
 ※4 cf create-service-key ワークスペース サービスキー(任意)
ワークスペースへアクセスするためのユーザとパスワードを作成します。
 作成したサービスキーのユーザとパスワードを確認します。
 [ターミナル]cf service-key my-watson-assistant-service myKey
 取得した,usernameとpasswordをtraining/.depファイルに設定します。

ASSISTANT_USERNAME=上記のusernameを設定
ASSISTANT_PASSWORD=上記のpasswordを設定
 ※5 .devのデフォルトは<>の間に値が入力されています、=<>の<>を取ってユーザとパスワードを直接設定します。
 例
 ASSISTANT_USERNAME=ca2905e6-7b5d-4408-9192-e4d54d83e604
 ASSISTANT_PASSWORD=87iT7aqpvU7l
次に.depのWORKSPACE_IDを取得します。
 IBM Watson Assistant toolのWorkspaces画面よりCar_Demoの・・・(縦)ボタンをクリックすると表示されるドロップリストよりView Detailsを選択します。

View Details画面のWorkspace ID;の下にあるIDコピーボタンをクリックして、Workspace IDをクリップボードにコピーします。

 .depのWORKSPACE_ID=の右辺にカーソルを合わせ、Ctrl+vでコピーしたWorkspace IDを貼り付けます。
 ※6 <>を削除します。
 例
 WORKSPACE_ID=57cb2d27-xxx-xxx-xxxx-xxxx9cc336a1
これで、.depが完成したので、Ctrl+sで保存します。
 7. Nodeのモジュールをディレクトリにインストール
  VSCode(Visual Studio Code)のターミナルで、
  [ターミナル]npm install
インストールでnode_modulesのディレクトリにnode.jsを動かす環境がインストールされます。
 8. サービスの開始
 VSCode(Visual Studio Code)のターミナルで、
 [ターミナル]npm start
 ブラウザーでURLhttp://localhost:3000/を指定します。
 アプリが動けばOKです。
 下部のType somthingに車に関する操作を英語で指示します。
 例:turn on light (ライトを点けて)
 Watsonは「I'll turn on the lights for you」と返してきます。(感動!)
 とりあえず仕組みは別途検討しましょう。
 car_workspace.jsonにヒントがありあそうです。
■ まとめ
 Watson使うためには、ワークスペースを作成する必要がある。
 ワークスペースにアクセスするためには、.devファイルに設定が必要。
 時間があるときに、もう少し内容を深堀しましょう。
 最初、cf pushがうまくいかななかったです。
 なんとかできましたので次回はそれについて説明します。
以上、おそまつ










