Bot Framework SDK を使ってみる

完了

Microsoft Azure でのボット ソリューションは、次のテクノロジによってサポートされています。

  • Azure AI Bot Service。 1 つまたは複数のチャンネルによるボットの配信と、他のサービスとの統合を可能にするクラウド サービス。
  • Bot Framework Service。 ボットのアクティビティを処理するための REST API を提供する Azure AI Bot Service のコンポーネント。
  • Bot Framework SDK。 REST インターフェイスを抽象化し、さまざまなプログラミング言語でのボット開発を可能にする、エンドツーエンドのボット開発用のツールとライブラリのセット。

Azure AI Bot Service, Bot Framework, and Bot SDK

Bot Framework SDK でのボットの開発

Bot Framework SDK によって提供される広範なツールとライブラリを使用して、ソフトウェア エンジニアはボットを開発できます。 SDK は、Microsoft C# (.NET Core)、Python、JavaScript (Node.js) などの複数のプログラミング言語で使用できます。

ボット テンプレート

Bot Framework SDK を使い始める最も簡単な方法は、それに用意されているいずれかのテンプレートを基にして、新しいボットを作成することです。

  • 空のボット - 基本的なボット スケルトン。
  • エコー ボット - ボットがメッセージ テキストをユーザーにエコーバックすることによってメッセージに応答する単純な "hello world" サンプル。
  • コア ボット - Language Understanding サービスとの統合などの一般的なボット機能を含む、より包括的なボット。

ボット アプリケーションのクラスとロジック

テンプレート ボットは、Bot Framework SDK で定義されている Bot クラスに基づいています。これは、ユーザー入力を受け取って解釈し、適切に応答するロジックを、ボットに実装するために使用されます。 さらに、ユーザーのチャンネルとの通信を処理する Adapter クラスが、ボットによって使用されます。

ボットでの会話は、"アクティビティ" で構成されます。これは、会話へのユーザーの参加や、メッセージの受信などのイベントを表します。 これらのアクティビティは、ユーザーとボットの間の双方向の交換である "ターン" のコンテキスト内で発生します。 チャンネルでアクティビティが発生すると、Bot Framework Service によりプロセス アクティビティ メソッドを呼び出すことによって、ボットのアダプターにそれが通知されます。次に、アダプターによって、そのターンのコンテキストが作成され、ボットのターン ハンドラー メソッドが呼び出されて、アクティビティの適切なロジックが開始されます。

Bot Framework Emulator でのテスト

Bot Framework SDK を使用して開発されたボットは、Azure でクラウド サービスとして実行するように設計されていますが、ボットの開発時には、運用環境にデプロイする前にテストする方法が必要です。

Bot Framework Emulator アプリケーションを使用すると、ボットをローカルまたはリモートの Web アプリケーションとして実行し、ボットのテストに使用できる対話型 Web チャット インターフェイスから、それに接続することができます。 アクティビティ イベントの詳細がキャプチャされてテスト インターフェイスに表示されるので、メッセージを送信して応答を確認しながら、ボットの動作を監視できます。