#BotFramework #Composer で永続化データを読み書きする

Bot でデータの永続化はよく必要になります。
今回は Bot Framework Composer で、永続化したデータを読み書きする方法です。

ストレージとしては Cosmos DB を使います。
Composer では Cosmos DB 用のパッケージ を利用すると簡単です。
読み書きそれぞれにアクションが用意されるのでプロパティを設定するだけです。

コストを考えると Table ストレージを使いたくなることも多いと思います。
本稿を書いている時点では Azure Storage 用のパッケージ不具合 がある(?)らしく条件によっては読み込みに失敗するので、今回は Cosmos DB を利用します。
続きを読む
広告

#BotFramework #Composer で任意のメッセージを Application Insights に出力

Bot Framework Composer で任意のメッセージ (Telemetry) を Application Insights に出力する方法についてです。
Composer 標準のアクションを使うだけなので Tips と呼べるレベルです。

Bot Framework Composer のアクションは特に追加のコードやアクションなしでも Application Insights に出力 されます。(ただし設定ファイルの内容によります)
デバッグ用のテキスト もやはり Application Insights に出力できます。

それらに加えて、任意のメッセージも自由に Application Insights に出力できます。
例えば、対話のステートとか変数の設定内容などの対話やユーザーに紐づいた内容が考えられます。アクションの分岐が複雑な場合には条件式に含まれる変数を出力するのもありです。

[Debugging options] – [Emit a telemetry track event] を使います。

続きを読む

#BotFramework #Composer で Application Insights でログ管理

今回は Bot Framework Composer のログを Application Insights で管理しましょうという話です。

Composer はよく出来ていて、詳細なログを Application Insights に出力します。(Composer の設定によります。後述)

設定を確認すれば、開発者が特にがんばらなくても詳細なログを残せます。素敵!

続きを読む

#BotFramework #Composer でデバッグ用のテキストをコンソール出力する

Bot Framework Composer を使って開発する時の Tips を一つ。デバッグ用のメッセージをコンソールに出力する方法です。

とても当たり前でとても簡単な内容ですが、任意のテキストをコンソールにログ出力できることをそもそも知らなかったというケースを目にしたので、Composer の操作の基本として紹介します。

Composer には “Log to console” アクションが用意されているのでこれを使います。

続きを読む

#BotFramework #Composer でキャンセル機能を実装 第3回 ~HelpAndCancel パッケージを日本語ボットで利用する ~

Bot Framework Composer でキャンセル機能を実装する方法についてのシリーズの最終回 3回目。
今回は HelpAndCancel パッケージを日本語ボットで利用 する方法を紹介します。

  1. まずはキャンセル実装前の Bot を用意する
  2. キャンセル機能の実装
  3. HelpAndCancel パッケージを日本語ボットで利用する (今回)

Composer でキャンセル機能を実装するのは難しくありません。シリーズの 前回の投稿 の通り。
なので前回の投稿で「キャンセル機能はこうやって実装するんだよ、終わり!」としてしまってもいいと思います。

が、Composer を眺めていると “HelpAndCancel” パッケージが提供されているのが目に留まります。

「これはいい!」とインストールすると、日本語ボットではビルドエラーが発生します。ロケールに起因するようです。

今回はエラーを避けつつ、このパッケージを利用してキャンセル機能を実装する手順です。
ただし 前回のように自前で実装 することで全く問題なくキャンセル機能を実現できるので、今回の投稿は余談・雑談のレベルかもしれません。
そこを理解した上でお付き合いください。

また Composer を本気で使いだすと結局コードを編集したくなる (lg ファイルを直接触りたくなる) ことが出てきます。本稿はその時の練習にもなると思います。

続きを読む

#BotFramework #Composer でキャンセル機能を実装 第2回 ~キャンセル機能の実装~

Bot Framework Composer でキャンセル機能を実装する方法についてのシリーズ 2回目。
今回は 自前でキャンセル機能を実装 する方法を紹介します。

  1. まずはキャンセル実装前の Bot を用意する
  2. キャンセル機能の実装 (今回)
  3. HelpAndCancel パッケージを日本語ボットで利用する

Composer でキャンセルを実装するのはとても簡単です。やり方(設定の仕方とアクションの配置)が分かれば難しいところはありません。

今回は シリーズの1回目で作ったボット にキャンセル機能を追加していきます。

続きを読む

#BotFramework #Composer でキャンセル機能を実装 第1回 ~まずはキャンセル実装前の Bot を用意する~

Bot Framework Composer でダイアログの一連のフローを 途中でキャンセル させる機能の実装方法を紹介します。
一度やってみれば難しい話ではないんですが「意外と知らないかも?」なので。

長くなるので 3回に分けて紹介します。

  1. まずはキャンセル実装前の Bot を用意する (今回)
  2. キャンセル機能の実装
  3. HelpAndCancel パッケージを日本語ボットで利用する

FAQ Bot のような 1ターンで完結するようなボットは別にして、一般にはユーザーと何回かやり取りして対話が完結することはよくあります。
お馴染みの例としては会議室予約ボット。

ユーザー:「会議室を予約したい」
ボット:「希望の日時を入力してください」
ユーザー:「明日の15時から」
・・・(略)・・・
ボット:「〇月〇日 15時から60分間、人数は 3人ですね。よろしいですか?」
ユーザー:「はい」
ボット:「予約が完了しました」

このやり取りの途中で「やっぱり止めたい」と思うことはよくあります。
これを Composer ではどうやって実装するのかを見ていきます。

続きを読む

「Azure IoT Edge + Custom Vision でエッジデバイスで画像分類」ハンズオンを改訂しました #IoTEdge #CustomVision

Azure IoT Edge + Custom Visionでエッジデバイスで画像分類 するソリューション作成のハンズオン資料を大改訂しました。

https://github.com/seosoft/IoTCvCatsDogs

Custom Vision で作成した画像分類器を IoT Edge デバイス上で動作させる手順を紹介するものです。

  • IoT Edge デバイスとして Azure 上の仮想マシンとカメラシミュレーターを使用するので、ラズパイなどのデバイスが不要
  • Custom Vision の操作から IoT Hub、IoT Edge デバイスの操作を含めて一連の操作を網羅
  • Visual Studio Code を利用して IoT Edge 開発環境の作り方、IoT Hub 拡張機能や IoT Edge エミュレーターの使い方を紹介
続きを読む

#Lobe の学習済みモデルを Web サービスとして発行する手順を動画で紹介

Lobe (https://www.lobe.ai/) を使うと画像分類器を非常に簡単に作ることができます。
AI や深層学習の知識は必要ありません。

今回は、Lobe の学習済みモデルを Web サービスとして発行する手順を紹介します。
動画にまとめました。

続きを読む

Text Analytics の Summarize text の呼び出し方 (REST API)

Cognitive Services の新機能、Summarize text 機能がプレビュー公開されました。
文章を要約 する機能です。
日本語が対象に含まれているのがうれしいところ。

特徴的なのは、この機能は 非同期 API で実装されていること。Text Analytics の他の機能とは違います。
そこで Postman を使って、実際にどのように呼び出すのかを見てみます。

なお マイクロソフトの大森さんがすでにサンプルを公開 されているので、動きについてはまずそれを参照するのがいいと思います。(さすがのスピード感!)

続きを読む