モバイル・アプリ向けのチャットボットを作成する

概要

このコード・パターンでは、Watson Assistant と Elasticsearch を利用する Node.js チャットボット・アプリケーションを作成する方法を説明します。ユーザーがモバイル・アプリから操作できるこのチャットボット・アプリケーションは、Kubernetes 上でも Cloud Foundry 上でも実行できます。

説明

このコード・パターンがベースとしている、IBM Developer モバイル・アプリケーションで使用されているチャットボットは、モバイル・アプリ・ストアから入手できます。

Google Play からアプリを入手する Apple からアプリを入手する

このコード・パターンに従って作成するチャットボットは、TV Maze からテレビ番組のデータを取得し、ユーザーにお勧めのテレビ番組を提示して番組情報を提供します。

このコード・パターンを完了すると、以下の方法がわかるようになります。

  • ゼロからチャットボットを作成して完成させる
  • Node.js アプリケーションを Kubernetes または Cloud Foundry にデプロイして実行する

フロー

Cloud Foundry にデプロイする場合のフロー

Cloud Foundry 内で実行するチャットボットを作成する場合のアーキテクチャーを示す図

  1. ユーザーがモバイル・アプリケーションの React UI を使用して質問をテキストで入力することによって、チャットボットと対話します。
  2. React UI がユーザーのメッセージを Cloud Foundry 上の Node.js バックエンドに送信します。
  3. Node.js バックエンドは受け取ったメッセージを Watson Assistant に送信し、Watson Assistant がユーザーのメッセージからそのインテントとエンティティーを判断します。
  4. Node.js バックエンドが Watson Assistant によって判断されたインテントとエンティティーに基づいて、Elasticsearch データベースに対してクエリーを実行します。
  5. クエリーに対する応答と結果が React UI に送信されます。

Kubernetes にデプロイする場合のフロー

Kubernetes 内で実行するチャットボットを作成する場合のアーキテクチャーを示す図

  1. ユーザーがモバイル・アプリケーションの React UI を使用して質問をテキストで入力することによって、チャットボットと対話します。
  2. React UI がユーザーのメッセージを Kubernetes 上の Node.js バックエンドに送信します。
  3. Node.js バックエンドは受け取ったメッセージを Watson Assistant に送信し、Watson Assistant がユーザーのメッセージからそのインテントとエンティティーを判断します。
  4. Node.js バックエンドが Watson Assistant によって判断されたインテントとエンティティーに基づいて、Elasticsearch データベースに対してクエリーを実行します。
  5. クエリーに対する応答と結果が React UI に送信されます。

手順

このパターンの詳細な手順については、readme ファイルを参照してください。