世界保健機関の推定によると、自然災害は世界中で毎年 9 万人の死者、1 億 6 千万人近くの被災者を出しています。特に、過去 10 年にわたって異常気象事象の頻度と激しさが増している中、科学者たちは気候変動がこれらの推定値の大きな要因となっていると考えています。
サード・パーティーのオープンソース・プロジェクトであるか IBM Cloud サービスであるかに関わらず、テクノロジーはこうした地球環境の課題に対処する上で役立ちます。
このチュートリアルでは、Disaster Resiliency Starter Kit を中心にスターター・アプリケーションを構築する手順を説明します。このスターター・アプリケーションはチャットボット、地図サービス、経路指定サービスが組み込まれたものです。チャットボットは IBM® Watson™ Assistant を利用して、洪水の緊急事態に関する質問に答えます。一方、地図サービスとロケーション・サービスは、HERE テクノロジーによって提供されます。
前提条件
このチュートリアルに従うには、あらかじめ以下の作業を行う必要があります。
- IBM Cloud アカウントを登録します。
- IBM Cloud CLI をインストールして構成します。
- HERE アカウントを登録します。
- React Native CLI の依存関係 (iOS 用) をインストールします。
- Solution-Starter-Kit-Disasters-2020 リポジトリーのクローンを作成します。
所要時間
このチュートリアルの所要時間は約 45 分です。
手順
Watson Assistant のインスタンスをセットアップする
IBM Cloud にログインし、Watson Assistant のインスタンスをプロビジョニングします。
IBM Cloud カタログに含まれている Watson Assistant のインスタンスをプロビジョニングします。
- プランを選択します (このチュートリアルに従うには「Lite (ライト)」プランで十分です)。
- 「Service name (サービス名)」に、新しいインスタンスの名前を入力します。
「Create (作成)」をクリックします。
Watson Assistant を起動します。
アシスタントを作成します。
- 「Assistant (アシスタント)」メニューをクリックします。
「Create assistant (アシスタントを作成)」をクリックします。
「Name (名前)」にアシスタントの名前を入力し、「Create assistant (アシスタントを作成)」をクリックします。
アシスタント にダイアログ・スキルを追加するために、Solution-Starter-Kit-Disasters-2020 リポジトリーのクローンに含まれている
starter-kit-flood-dialog-skill.json
ファイルをインポートします。「Add dialog skill (ダイアログ・スキルを追加)」をクリックします。
「Import skill (スキルをインポート)」タブを選択します。
- 「Choose JSON File (JSON ファイルを選択)」をクリックします。
starter-kit-flood-dialog-skill.json
ダイアログ・スキル・ファイルを参照して選択します。「Import (インポート)」をクリックします。
アシスタントのアクション・メニューをクリックし、「Settings (設定)」を選択します。
「API Details (API 詳細)」を選択し、表示された「Assistant ID (アシスタント ID)」と「Api Key (API 鍵)」の値をメモします。「Assistant URL (アシスタント URL)」については、ディレクトリー/パスは含めずに、ベース URL/ドメインをメモします (例:
https://api.us-south.assistant.watson.cloud.ibm.com
、https://api.eu-gb.assistant.watson.cloud.ibm.com
)。「Preview Link (リンクをプレビュー)」を表示し、ダイアログ・スキルをテストして検証する際のリンクを取得します。
「Try it out and share the link (これを試してリンクを共有する)」セクションに示されている URL をクリックします。
アシスタントに (洪水に関する) 質問をします。
HERE Developer ポータルで API 鍵を生成する
このアプリケーションは地図、検索、経路指定に対応するために、HERE Location Services を利用します。これらのサービスにアクセスするには、API 鍵が必要です。HERE Developer ポータルで説明されている手順に従って、JavaScript API 鍵を生成してください。
サーバーを実行する
以下の手順に従って、サーバー・アプリケーションをセットアップして起動します。
Solution-Starter-Kit-Disasters-2020 リポジトリーのクローンに含まれる
starter-kit/server-app
ディレクトリーにナビゲートします。starter-kit/server-app
ディレクトリー内にある.env.example
ファイルをコピーして、.env
という名前の新しいファイルを作成します。新しく作成した
.env
ファイルを編集し、ASSISTANT_ID
とASSISTANT_IAM_APIKEY
の値を、Watson Assistant のダイアログ・スキルの「API Detail (API 詳細)」ページからメモした値で更新します。manifest.yml
ファイル内の name の値を編集し、任意のアプリケーション名 (例: my-app-name) に変更します。ターミナルを使用して、以下の操作を行います。
Solution-Starter-Kit-Disasters-2020 リポジトリーのクローンに含まれる
starter-kit/server-app
ディレクトリーにナビゲートします。依存関係をインストールします。
npm install
サーバー・アプリケーションをローカルで起動するか、IBM Cloud にデプロイします。
ローカルで実行する場合:
アプリケーションを起動します。
npm start
サーバーには
http://localhost:3000
でアクセスできます。
IBM Cloud にデプロイする場合:
IBM Cloud CLI を使用して IBM Cloud アカウントにログインします。
ibmcloud login
ターゲットとする Cloud Foundry の組織とスペースを設定します。
ibmcloud target --cf
アプリを IBM Cloud にプッシュします。
ibmcloud app push
サーバーには、
manifest.yml
ファイル内で指定された name を使用した URL (例:https://my-app-name.bluemix.net
) でアクセスできます。
モバイル・アプリケーションを実行する
以下の手順に従って、モバイル・アプリケーションを (Xcode iOS シミュレーターを使用して) 実行します。
Solution-Starter-Kit-Disasters-2020 リポジトリーのクローンに含まれる
starter-kit/mobile-app
ディレクトリーにナビゲートします。starter-kit/mobile-app
ディレクトリー内にある.env.example
ファイルをコピーして、.env
という名前の新しいファイルを作成します。新しく作成した
.env
ファイルを編集します。STARTER_KIT_SERVER_URL
を、前のステップで起動したサーバー・アプリの URL で更新します。HERE_APIKEY
を、HERE Developer ポータル内で生成した API 鍵で更新します。
ターミナルを使用して、以下の操作を行います。
Solution-Starter-Kit-Disasters-2020 リポジトリーのクローンに含まれる
starter-kit/mobile-app
ディレクトリーにナビゲートします。依存関係をインストールします。
npm install
カレント・ディレクトリーを
ios
ディレクトリーに変更します。cd ios
依存関係をインストールします。
pod install
カレント・ディレクトリーを
mobile-app
ディレクトリーに戻します。cd .
シミュレーター内でアプリを起動します。
npm run ios
まとめ
このチュートリアルでは、IBM Data and AI オファリングと HERE テクノロジーのロケーション・サービスを結合してアプリケーションを構築しました。このスターター・アプリケーションを利用して開発プロセスを活性化し、独自のソリューションの構築を迅速に開始してください。