秋のIBM Dojo #6 AI(Watson API) + App on OpenShift / Autumn Dojo 2019 #6 AI

秋のIBM Dojo #6 AI(Watson API) + App on OpenShift / Autumn Dojo 2019 #6 AI

2019/11/20に開催の「秋のIBM Dojo #6 AI(Watson API) + App on OpenShift 」の資料です。

Ca7e4f1680e175e6462a039923e71fc5?s=128

Kyoko Nishito

November 20, 2019
Tweet

Transcript

  1. 秋のIBM Dojo #6 AI(Watson API) + App on OpenShift Kyoko

    Nishito Developer Advocate Tokyo City Team
  2. Kyoko Nishito IBM Developer Advocate 2 KyokoNishito

  3. 本⽇のタイムテーブル 14:00-14:05 (5min) オープニング 資料ダウンロード,出席登録など 14:05-15:00 (55min) AI (Watson API)

    <座学+DEMO> 15:00-16:30 (90min) AI (Watson API) + App on Minishift コードチャレンジ <ワークショップ> 16:30-17:00 (30min) クローズ
  4. 本⽇の資料 本⽇の資料はこちらからPCにダウンロードお願いし ます。URLをクリックしたり、コマンドをコピペしたりでき ますので、サイトでみるのではなく、ダウンロードをお勧めし ます。(connpassの資料にもリンクあり) http://ibm.biz/dojo20191120doc

  5. 出席登録 こちらのURLにアクセスして、IBM Cloudにログイン お願いします。 アカウント未登録の⽅もこちらから登録お願いします。 https://ibm.biz/BdzuAW

  6. ハンズオン事前準備 https://ibm.box.com/v/20191120DojoPrep 1. IBM Cloudアカウントの取得 2. IBM Cloud CLIのインストール 3.

    Node.jsのインストール 4. Gitのインストール 5. VS Codeなどコードエディタ 6. Minishift (オプション) 詳細は
  7. 学習の⽬的とゴール ⽬的 WatsonとWatson APIの概要について理解する ゴール Watson APIを利⽤したアプリケーションを作成できる このコースを学ぶ⽅の想定スキル 何かしらのプログラミング経験があり、Watson APIを初めて

    利⽤する⽅
  8. 本⽇の説明内容 1. AI & IBM Watson 2. Watson API 3.

    Watson APIの使い⽅ (DEMO) 4. まとめ 5. コードチャレンジ
  9. 1. AI & IBM Watson

  10. ⼈⼯知能(AI)は ⼈間の知能のはたらきを模倣し, 機械(技術)で実現した能⼒です。 10

  11. ⼈間の知能の例 Human Intelligence 11 計画 学習 創造性 問題解決 推論 知覚

    操作
  12. None
  13. Watson APIサービス⼀覧 2019年3⽉現在 Watson Assistant アプリケーションに⾃然⾔語インターフェースを追加して エンドユーザとのやり取りを⾃動化 Text to Speech

    テキスト⽂章を⾳声に変換する Speech to Text ⾳声をテキスト⽂章に変換する Visual Recognition 画像コンテンツに含まれる意味を検出する Discovery 先進的な洞察エンジンを利⽤して、デー タの隠れた価値を解明し、回答やトレン ドを発⾒する Discovery News Discovery上に実装され、エンリッチ情報 も付加されたニュースに関する公開デー タセット Personality Insights テキストから筆者の性格を推定する Language Translator テキストを他⾔語へ翻訳を⾏う Natural Language Understanding ⾃然⾔語処理を通じてキーワード抽出、エン ティティー抽出、概念タグ付け、関係抽出な どを⾏う Natural Language Classifier テキスト⽂章の分類を⾏う(質問の意図推定など) Tone Analyzer(⽇本語未対応) テキストから筆者の感情、社交性、⽂体を解析 Knowledge Studio コーディングなしに、業務知識から⽣成した 機械学習モデルで、⾮構造テキストデータか ら洞察を取得(学習⽀援ツール) ⼼理系 ⾔語系 照会応答系 知識探索系 ⾳声系 画像系 https://www.ibm.com/watson/jp-ja/developercloud/services-catalog.html
  14. • データにラベルをつけたりDeep Learningのモデルを⼤量データで学習させるのは ⾮常に労⼒がかかります。企業は⼤量のデータを持つがラベル付けされているデー タは多くはなく、また学習のための仕組みを持っていません。 • すでに多くの企業がWatsonを業務に活⽤しており、顧客体験の向上や専⾨家の ワークの効率化や新しいビジネスモデルや戦略の開発を実現しています。 • 社内の様々なシステムと連携しフルトランザクションに対応

    • 顧客が選べるよう複数チャネルを展開 • 双⽅向のデジタルコミュニケーション • 少ないデータでも効率的に学習できるというWatsonのアドバンテージ • ①ラベルのないデータからの学習 • ②コンセプトからの学習 • ③誤りからの学習 • ④学習の仕⽅についての学習 • Watsonはテクノロジーをシンプルなものとして企業にお届けし、AIを企業全体に スケールして活⽤することを⽀援します Trends & Directions: Put AI to Work @think2019
  15. Cloud上で使えるAIサービス ・・・ Internet PC Azure AWS GCP IBM Cloud Smart

    Phone Server 各社クラウド Direct Link
  16. 16 Watson APIの特徴 • ネットワーク経由でアクセス • REST形式のインターフェイス • Java, Python,

    Node.jsなどに対応した APIライブラリ(SDK) • https://github.com/watson-developer-cloud
  17. 17 Watson APIの特徴 • ネットワーク経由でアクセス • REST形式のインターフェイス • Java, Python,

    Node.jsなどに対応した APIライブラリ(SDK) • https://github.com/watson-developer-cloud
  18. 18 Watson API REST形式のインターフェース ・・・ HTTP Request GET POST PC

    HTTP Response JSON JSON Azure AWS GCP IBM Cloud Smart Phone Server 各社クラウド
  19. RESTインターフェースの例 19 クライアント https://gateway.watsonplatform.net /language- translator/api/v3/translate URL: https://gateway.watsonplatform.net/ language-translator/api/v3/translate メソッド:

    POST {"text":["Hello"], "model_id":"en-ja"} {"text":["Hello"], "model_id":"en-ja"} JSON ②対応する 処理 APIサービス {"text":["Hello"], "model_id":"en-ja"} JSON { "translations" : [ { "translation" : "ハロー" } ], "word_count" : 1, "character_count" : 5 } ①リクエスト 送信 ③レスポンス 送信
  20. 20 Watson APIの特徴 • ネットワーク経由でアクセス • REST形式のインターフェイス • Java, Python,

    Node.jsなどに対応した APIライブラリ(SDK) • https://github.com/watson-developer-cloud
  21. IBM の データ & AI プラットフォーム インフラ ストラクチャー インダストリー プラット

    フォーム Security Services Any SaaS Insurance Industrial Public & Comms Any AI Watson OpenScale Block- chain IoT Watson Studio Watson Machine Learning Watson Knowledge Catalog Watson API RedHat OpenShift Any Cloud AWS, Azure… Cloud Integration SW(Cloud Pak) Banking & Financial Markets Any Hardware IBM Systems Z, P IBM Cloud VMware SAP Cloud Native Distribution Cloud Pak for Data Any Tool ハイブリッド、マルチクラウドに対応し、オープンなAI活⽤を実現
  22. 2. Watson API

  23. Watson APIサービス一覧 2019年3⽉現在 Watson Assistant アプリケーションに⾃然⾔語インターフェースを追加して エンドユーザとのやり取りを⾃動化 Text to Speech

    テキスト⽂章を⾳声に変換する Speech to Text ⾳声をテキスト⽂章に変換する Visual Recognition 画像コンテンツに含まれる意味を検出する Discovery 先進的な洞察エンジンを利⽤して、デー タの隠れた価値を解明し、回答やトレン ドを発⾒する Discovery News Discovery上に実装され、エンリッチ情報 も付加されたニュースに関する公開デー タセット Personality Insights テキストから筆者の性格を推定する Language Translator テキストを他⾔語へ翻訳を⾏う Natural Language Understanding ⾃然⾔語処理を通じてキーワード抽出、エン ティティー抽出、概念タグ付け、関係抽出な どを⾏う Natural Language Classifier テキスト⽂章の分類を⾏う(質問の意図推定など) Tone Analyzer(⽇本語未対応) テキストから筆者の感情、社交性、⽂体を解析 Knowledge Studio コーディングなしに、業務知識から⽣成した 機械学習モデルで、⾮構造テキストデータか ら洞察を取得(学習⽀援ツール) ⼼理系 ⾔語系 照会応答系 知識探索系 ⾳声系 画像系 https://www.ibm.com/watson/jp-ja/developercloud/services-catalog.html
  24. Watson APIサービス一覧 2019年3⽉現在 Watson Assistant アプリケーションに⾃然⾔語インターフェースを追加して エンドユーザとのやり取りを⾃動化 Text to Speech

    テキスト⽂章を⾳声に変換する Speech to Text ⾳声をテキスト⽂章に変換する Visual Recognition 画像コンテンツに含まれる意味を検出する Discovery 先進的な洞察エンジンを利⽤して、デー タの隠れた価値を解明し、回答やトレン ドを発⾒する Discovery News Discovery上に実装され、エンリッチ情報 も付加されたニュースに関する公開デー タセット Personality Insights テキストから筆者の性格を推定する Language Translator テキストを他⾔語へ翻訳を⾏う Natural Language Understanding ⾃然⾔語処理を通じてキーワード抽出、エン ティティー抽出、概念タグ付け、関係抽出な どを⾏う Natural Language Classifier テキスト⽂章の分類を⾏う(質問の意図推定など) Tone Analyzer(⽇本語未対応) テキストから筆者の感情、社交性、⽂体を解析 Knowledge Studio コーディングなしに、業務知識から⽣成した 機械学習モデルで、⾮構造テキストデータか ら洞察を取得(学習⽀援ツール) ⼼理系 ⾔語系 照会応答系 知識探索系 ⾳声系 画像系 https://www.ibm.com/watson/jp-ja/developercloud/services-catalog.html
  25. Watson Assistant 25 ü チャットボットのような対 話アプリケーションの開発 に最適 ü 会話フローをグラフィカル に開発できるツールを提供

    ü 作成した会話フローをAPIで 呼び出し Watson: こんにち はシステムサポー トです。何かお困 りですか︖ User: 交通費精算シ ステムだよ。 エンティティー: システム Value: 交通費精算システム Watson: 何のシス テムにログインで きないのですか︖ User: ログインでき ないよ 意図: ログイン不可 Watson:交通費精 算システムにログ インできない場合 のチェック項⽬の URLを送ります http://xxx 交通費精算システムのログイ ン不可にに関する情報を検索 色々な言い回し “ログインエラーになる” “ログインが失敗するけど” 色々な言い回し “交通費のやつ” “精算システム” Webツールで インテント、 エンティ ティー、 会話フロー を作成可能 https://www.ibm.com/watson/jp- ja/developercloud/conversation.html
  26. DEMO 26 DOC ID / Month XX, 2018 / ©

    2018 IBM Corporation Watsonを使⽤したLINE chat bot
  27. 参考情報 27 LINEチャットボットとWatsonを連携する https://medium.com/@taiponrock/line%E3%83 %81%E3%83%A3%E3%83%83%E3%83%88% E3%83%9C%E3%83%83%E3%83%88%E3%81 %A8watson%E3%82%92%E9%80%A3%E6%90 %BA%E3%81%99%E3%82%8B-8a7d89a49e57 10分で解説︕ Watson

    Assistantでチャットボットを開発する https://www.youtube.com/watch?v=ZRwsu4OXLeE
  28. Natural Language Understanding (NLU) üテキストを分析し、概念、エンティ ティー、キーワード、カテゴリー、 感情、関係、意味役割などのメタ データを抽出※ ü事前学習済みであり、学習なしで解 析結果を取得

    抽出できるもの • エンティティ(Entities) • 関係(Relations) • 概念(Concepts) • キーワード(Keywords) • 評判 (Sentiment) • 感情 (Emotion) ※ • カテゴリー(Categories) • 構⽂解析(Semantic Roles) ※ 感情分析(Emotion)は⽇本語には対応していません https://www.ibm.com/watson/services/natural-language- understanding/
  29. DEMO 29 https://natural-language-understanding-demo.ng.bluemix.net/ 今⽇のニュースからメタデータを抽出してみます

  30. üWatsonを利⽤した⽂書検索 エンジン ü膨⼤なテキストデータを取 り込み、NLUで解析、検索に 利⽤ ü⾃然⾔語でも検索できる (またはDiscovery Query Language(DQL)) Discovery

    https://www.ibm.com/watson/jp-ja/developercloud/discovery.html
  31. Discovery News üDiscoveryのインスタンスを作成すると、世界各地のニュー ス記事を保持している、事前作成済み読み取り専⽤コレク ション Discovery News がすぐに使える状態になります。 ・データ登録の必要なしにすぐに使える ・IBM選定の10万のニュースソース

    ・1⽇当たり30万件以上の記事(⽇本語記事は1⽇あたり17,000件)
  32. DEMO 32 気になるニュースを検索してみましょう︕ https://discovery-news-demo.ng.bluemix.net/

  33. 33 Visual Recognition • 画像認識「⼀般種別」(General Tagging): • 事前学習済みの分類器の出⼒を返します • 画像認識「カスタム」:

    • 識別を⾏いたいクラスのイメージを事前学習させ、その 分類器の出⼒を返します。 事前学習 不要 事前学習 必要 https://www.ibm.com/watson/jp-ja/developercloud/visual-recognition.html
  34. DEMO 34 後ほどの「コードチャレンジ」で実際に作成できます

  35. DOC ID / Month XX, 2018 / © 2018 IBM

    Corporation Text to Speech テキスト⽂章を⾳声に変換する https://text-to-speech-demo.ng.bluemix.net DEMO
  36. DOC ID / Month XX, 2018 / © 2018 IBM

    Corporation Speech to Text ⾳声をテキスト⽂章に変換する https://www.ibm.com/watson/jp-ja/developercloud/speech-to-text.html Language Translator ⾃然⾔語テキストについて他⾔語へ翻訳を⾏う Natural Language Classifier テキスト⽂章の分類を⾏う(質問の意図推定など) https://www.ibm.com/watson/jp-ja/developercloud/language-translator.html https://www.ibm.com/watson/jp-ja/developercloud/nl-classifier.html
  37. 37 © 2018 IBM Corporation Personality Insights テキストから筆者の性格を推定する https://www.ibm.com/watson/jp-ja/developercloud/personality-insights.html DEMO

    https://personality-insights-demo.ng.bluemix.net/
  38. 38 © 2018 IBM Corporation Tone Analyzer(⽇本語未対応) テキストから筆者の感情、社交性、⽂体を 解析する https://tone-analyzer-demo.ng.bluemix.net/

  39. 3. Watson APIの使い⽅ (DEMO) ここからDEMOになります。 事前準備がお済みの⽅は⼀緒にやってみましょう︕

  40. Watson APIの使い⽅の基本 40 1. IBM Cloudにログインして必要なサービスを作成 今回はLanguage Translator を使います。 2.

    作成したサービスの資格情報である API KEY(API鍵)、URLを取得 3. 取得したAPI KEY、URLを指定してAPIを呼び出す APIの詳細はこちらから確認 https://cloud.ibm.com/apidocs
  41. Watson APIの使い⽅の基本 41 1. IBM Cloudにログインして必要なサービスを作成 今回はLanguage Translator を使います。 2.

    作成したサービスの資格情報である API KEY(API鍵)、URLを取得 3. 取得したAPI KEY、URLを指定してAPIを呼び出す APIの詳細はこちらから確認 https://cloud.ibm.com/apidocs
  42. 本イベントでは、 IBM Cloud へのアクセスは上記URLから行ってください • IBM Cloud ログイン アカウントをすでにお持ちの方は、 こちらからログインしてください

    • IBM Cloud ライトアカウント作成 アカウントをお持ちでない方は、 ご登録をお願いします 【本⽇のお願い】 1. IBM Cloudにログイン︕ DEMO 本イベント以外では https://cloud.ibm.com/login からログイン可能です https://ibm.biz/BdzuAW
  43. 2. 「カタログ」をクリック 43 DEMO

  44. 44 3. 左側のメニューから 「AI」をクリック DEMO

  45. 45 3. スクロールして使いたいWatsonサービスを クリック 今回は Language Translator をクリックしてください。 DEMO

  46. 46 4. 地域とプランを選んだら「作成」をクリック DEMO

  47. 47 5. 下記のような画⾯に変わったら作成完了! DEMO

  48. Watson APIの使い⽅の基本 48 1. IBM Cloudにログインして必要なサービスを作成 今回はLanguage Translator を使います。 2.

    作成したサービスの資格情報である API KEY(API鍵)、URLを取得 3. 取得したAPI KEY、URLを指定してAPIを呼び出す APIの詳細はこちらから確認 https://cloud.ibm.com/apidocs
  49. 49 1. 左側のメニューから「管理」をクリック DEMO

  50. 50 資格情報にあるAPI KEYとURLをテキストファイルなどにコピーします。 このアイコンで コピーできます 2. API鍵(=API KEY), URLをコピー DEMO

  51. 51 1 HINT: よくわからない画⾯になった場合 IBM Cloud→リソースの表⽰→サービス→表⽰させたいサービス名 2 3 4

  52. Watson APIの使い⽅の基本 52 1. IBM Cloudにログインして必要なサービスを作成 今回はLanguage Translator を使います。 2.

    作成したサービスの資格情報である API KEY(API鍵)、URLを取得 3. 取得したAPI KEY、URLを指定してAPIを呼び出す APIの詳細はこちらから確認 https://cloud.ibm.com/apidocs
  53. 53 APIの詳細はこちらから確認 https://cloud.ibm.com/apidocs 1. まずはAPIの使い⽅を確認 クリック DEMO

  54. 54 2. 今回はNodeを使うのでNodeのタブを確認 他の⾔語の SDKから使 う場合は対 応する⾔語 をクリック します DEMO

  55. 55 3. Translateの使い⽅を確認 DEMO

  56. 56 4-1: ターミナル または コマンドウィンドウを開きます。 4-2: 以下のコマンドでディレクトリを作成し、作成したディ レクトリに移動します。($は⼊⼒しないでください) 4. サンプルコード実⾏

    DEMO $ mkdir translate $ cd translate 4-3:ターミナル または コマンドウィンドウはそのままにして、 エディター(VSCode, メモ帳(windows), vi(Mac)など)を開き ます。
  57. 57 4-4: APIドキュメントにあるExample requestのコードをコ ピーします。 url: https://cloud.ibm.com/apidocs/language-translator?code=node#translate 4. サンプルコード実⾏ DEMO

  58. 58 4-5: コピーしたコードを開いているエディターにペーストし ます。 4. サンプルコードの実⾏ DEMO

  59. 59 4-6: 7⾏⽬: {apikey}を2でコピーしたAPI鍵で置き換えます。 4. サンプルコードの実⾏ DEMO 4-7: 9⾏⽬: {url}を2でコピーしたURLで置き換えます。

  60. 60 4-8: 4-2で作成したディレクトリに translate.js という名前で保存します。 4. サンプルコードの実⾏ DEMO

  61. 61 4-9: APIドキュメントにあるInstallationのコードをコピーしま す。 url: https://cloud.ibm.com/apidocs/language-translator?code=node#introduction 4. サンプルコードの実⾏ DEMO

  62. 62 4-10: 先ほど開いたターミナル または コマンドウィンドウに 戻り、コピーしたコマンドをペーストし実⾏します。 4. サンプルコードの実⾏ DEMO $

    npm install ibm-watson@^5.1.0 4-11: 以下のコマンドでtranslate.jsを 実⾏します。 $ node translate.js Macで権限エラーが発⽣する場合は、先頭に sudo をつけて実⾏してください。 sudo npm install ibm-watson@^5.1.0
  63. 63 4-12: 実⾏結果は確認できましたか︖ 英語のHelloがスペイン語のHolaに変換されています。 4. サンプルコードの実⾏ DEMO サンプルコード 結果

  64. 64 translate.jsを修正し、13⾏⽬のtextを適当な⽇本語の⽂章に、 model_idを'ja-en'にして保存し、実⾏してみましょう。 4. [オプション]サンプルコードの実⾏ A. 翻訳⾔語の変更 DEMO サンプルコード 結果

    https://cloud.ibm.com/docs/services/language-translator?topic=language-translator-translation-models 使⽤可能なmodel_idはこちら: $ node translate.js 以下をのコマンドを実⾏
  65. 65 サービスのAPI KEY, URLが取得できる管理画⾯から ibm-credentials.env というAPI KEYとURLが⼊っているファ イルがダウンロードできます。 これを以下のいずれかに置くと、コード内でAPI KEYとURLの

    記述が不要です。 • 環境変数IBM_CREDENTIALS_FILEで指定したPATH • システムのhome directory • プログラムの実⾏directory(working directory) 4. [オプション]サンプルコードの実⾏ B. Credentials fileの使⽤ DEMO
  66. 66 4B-1: この資料の46ページ、 44­15ページを参照して、 Language Translationサービス の管理画⾯を表⽰します。 資格情報の「ダウンロード」をク リックし、4-2で作成したディレ クトリにibm-credentials.env

    と いうファイルを保存します。 4. [オプション]サンプルコードの実⾏ B. Credentials fileの使⽤ DEMO
  67. 67 4B-2: translate.jsを修正し、 IamAuthenticatorの定義をしている2⾏⽬と、APIKEYとURL を指定している6⾏⽬から9⾏⽬部分を//でコメントアウトし、保存します。 4. [オプション]サンプルコードの実⾏ B. Credentials fileの使⽤

    DEMO 修正前: 修正後:
  68. 68 実⾏します。 4. [オプション]サンプルコードの実⾏ B. Credentials fileの使⽤ DEMO 4B-3: 以下のコマンドでtranslation.jsを

    実⾏します。 $ node translation.js ソースでAPIKEY、URLしてしなくとも、 ibm-credentials.env から読み込まれ正しく実⾏できることを確認します。
  69. まとめ Watsonはビジネスで使いやすいAIサービス いろいろなサービスがAPIで呼び出せる SDKで簡単に実装可能

  70. おすすめ情報 今すぐ使えるWatson API/サービス⼀覧 https://www.ibm.com/watson/jp-ja/developercloud/services-catalog.html チュートリアル Watson APIを使うための前準備: サービスの作成と資格情報の取得 https://qiita.com/nishikyon/items/9b8f697db7ad0a693839 Watson

    Visual Recognition カスタムクラスを作ろう! https://qiita.com/nishikyon/items/7d1c07e2f50c1002e815 IBM Code Patterns - アプリ開発パターン集 http://ibm.biz/ibmcodejp
  71. コードチャレンジ: AI (Watson API+Minishift)

  72. ベーシックチャレンジ 1. 事前準備を完了しましょう 本⽇実施する⽅は6(オプション)は時間がかかりますのでメインチャレンジ 後に時間があれば実施ください。 http://ibm.biz/dojo20191120doc この資料: https://ibm.box.com/v/20191120DojoPrep 2. 先ほど実施の「

    3. Watson APIの使い⽅ 」を完了しましょう
  73. IBM Watson Visual Recognitionを使った node.jsの画像認識Webアプリの作成 https://github.com/kyokonishito/watson-vr-node オプションチャレンジ: CodePatterns 株式情報、株価、センチメントを取得するアプリを作成する https://developer.ibm.com/jp/patterns/create-a-web-app-to-

    get-stock-information-prices-and-sentiment/ メインチャレンジ
  74. IBM CloudのCloud Foundry アプリケーションはクレジットカードを登録したPAYGアカウントの場合、動かし たまま1ヶ⽉経過すると課⾦対象になります。またライトアカウントの場合は最⼤256Mまでしかメモリが使⽤ できませんので、新しいアプリケーションを動かしたい場合は、使っていないアプリケーションを停⽌しないと 動かない場合があります。 必要に応じてアプリケーションを停⽌お願いします。 停⽌の⽅法はこちら: IBM

    Cloud: Cloud Foundry アプリケーションの停⽌・開始 https://qiita.com/nishikyon/items/3356db8bb4c1524517be メインチャレンジ:補⾜
  75. メインチャレンジ IBM Watson Visual Recognitionを使った node.jsの画像認識Webアプリ https://github.com/kyokonishito/watson-vr-node をMinishiftで動かしてみよう! 前提: •

    事前準備6の完了 minishift start済み, startしてない⽅はstart後開始してください • できればメインチャレンジを完了しているとよい(オプションチャレンジは不要) Minishift チャレンジ
  76. 76 0. メインチャレンジ未完了の⽅のみ︓ Visual Recognitionサービスの作成 以下を参考に、 Visual Recognitionサービスを作成してください。 https://github.com/kyokonishito/watson-vr-node#2-visual-recognition- %E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%AE%E4%BD%9C%E6%88%90

  77. 77 1. Visual Recognitionサービス ibm-credentials.env のダウンロード 1.1: IBM Cloudにログインし、 Visual

    Recognitionサービスの管理画⾯を表⽰します。 ⼿順が不明の⽅は、下記を参照してください: https://qiita.com/nishikyon/items/9b8f697db7ad0a693839#2- %E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%AE%E8%B3%87%E6%A0%BC% E6%83%85%E5%A0%B1%E5%8F%96%E5%BE%97
  78. 78 1.2: ibm-credentials.env のダウンロード 資格情報の「ダウンロード」を クリックし、⾃分のPCに ibm-credentials.env という ファイルを保存します。 あとでコマンドラインからこの

    ファイルを指定しますので、 ocコマンドを実⾏する予定の フォルダー(home directoryや minishift startしたdirectoryな ど) に保存します。
  79. 79 1.2: ibm-credentials.env の編集 ①ibm-credentials.envをエディターで開きます。 4⾏分全てコピーして、5⾏⽬以降に貼り付けます。 編集前 編集後

  80. 80 1.2: ibm-credentials.env の編集 ②コピーした5⾏⽬以降の VISUAL_RECOGNITION を WATSON_VISION_COMBINED に置き換えます (v5

    SDKのバグ(?)対応なので将来的にVISUAL_RECOGNITIONの⽅が有効になるかもしれないため、ガイド的には VISUAL_RECOGNITIONも残しておきます。) 編集後 置き換え後保存してエディタを閉じてください。 どこに保存したのかPATHがわかるようにしてください。
  81. 81 このあとは、ほぼほぼコマンド操作です︕ ターミナル(Mac) または コマンドウィンドウ(Win)を 開きます。

  82. 2. Minishift アプリ作成 82 2.1. クラスターにログインします $ oc login -u

    system:admin minishift startを実⾏した後、下記のコマンドでクラスターにログインし ます。 2.2. プロジェクトを作成する $ oc new-project watson-vr --display-name="watson-vr" -- description="Sample Watson Visual Recognition Node.js app" 下記コマンドで、新しいアプリケーション⽤に新しいプロジェクトを作成 します。 (コマンドは1⾏です)
  83. 83 2.3. アプリケーションの作成 $ oc new-app https://github.com/kyokonishito/watson-vr-node.git -- build-env-file=<ibm-credentials.env> --build-env

    CLASSIFIER_ID= <classification_id> githubのソースコードから、下記のコマンドでアプリケーションを作成し ます。 • 1.2でダウンロードしたibm-credentials.envをPATHも含めて、下記<ibm- credentials.env>に指定します。 • カスタムクラスを作成した場合は、 <classification_id>に⾃分のカスタムクラ スのclassification_idを指定します。作成していない場合は<classification_id> にfoodを指定します (コマンドは1⾏です) $ oc new-app https://github.com/kyokonishito/watson-vr-node.git -- build-env-file=./ibm-credentials.env --build-env CLASSIFIER_ID=food 例
  84. 84 2.4. ビルドログを表⽰します $ oc logs -f bc/watson-vr-node 下記のコマンドでビルドログを表⽰し、「 Push

    successful 」で終わるま で待ちます。 2.5. ポートを公開します $ oc expose dc watson-vr-node --port=3000 --type=LoadBalancer -- name=watson-vr-node-ingress 下記コマンドを実⾏します。(コマンドは1⾏です)
  85. 85 2.6. 作成されたNodePortを確認します $ oc get --export svc watson-vr-node-ingress 2.7.

    アクセス可能なクラスターIPアドレスを確認します NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE watson-vr-node-ingress LoadBalancer <none> 172.29.77.196 3000:31202/TCP <unknown> 下記コマンドを実⾏します。(コマンドは1⾏です) 下記コマンドを実⾏します。(コマンドは1⾏です) $ oc get node -o wide 出⼒: 下記の場合、マッピングされた外部ポートは31202 NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME localhost Ready <none> 26m v1.11.0+d4cacc0 192.168.64.19 <none> CentOS Linux 7 (Core) 3.10.0-957.5.1.el7.x86_64 docker://1.13.1 出⼒: 下記の場合、アクセス可能なクラスターIPアドレスは192.168.64.19
  86. 86 2.8. ブラウザーでアプリケーションにアクセスします 2.6で確認したポート: 31202 2.7で確認したIPアドレス: 192.168.64.19 の 場合は http://192.168.64.19:31202/

    にアクセスします。 (ご⾃分の値をお使いください) アプリケーションは表⽰できましたか? ボタンを押して動作確認してみましょう!
  87. Minishift補⾜ • Minishiftの停⽌コマンド $ minishift stop • Minishiftの起動、初期メモリ・ディスクの制限 $ minishift

    start --memory 2G --disk-size 10G --vm-driver <drivername> • Minishift VM削除(VM再作成したい場合などに、、、) $ minishift delete • Minishift101 コマンドラインで作成したProjectをWebコン ソールで表⽰(developerでログイン) $ oc policy add-role-to-user admin developer
  88. IBM Code Patterns https://ibm.biz/ibmcodejp 解説 + デモ動画 + ソースコードが揃ったアプリ開発パターン集

  89. 開発者向けサイト IBM Developer ibm.biz/IBMDevJP 最新情報やスキルアップに役⽴つ6,000を超える技術記事を提供

  90. None