#BotFramework Composerを #Chromebook で実行する方法

Bot Framework Composer を Chromebook で動かしてみました。
他の OS とは違って公式な手順が公開されているわけではありません。「やってみました」という内容です。

普通に考えて Windows (Mac でも Linux でもいいけど) があれば Bot 開発には困らないし、Bot Framework Composer もそれらで動作します。あえて Composer を Chromebook で動かす必要はないと思います。
が、せっかく 開発機としても使える程度の Chromebook を持っていることだし、ちょっと試してみました。

続きを読む

#Chromebook に開発環境 (+ #VSCode ) を構築する手順

2021年末に突然思い立って Chromebook を買いました。HP Chromebook x360 14c です。
手元に届いたのは年を跨いだので、使い始めて1か月ちょっと経ちました。

せっかくのデバイスを単なるブラウジングとか動画再生用のマシンにするのはもったいないので、開発もできるスペックにしようと思い “Plus” のクラスのマシンを選択しました。

開発環境構築は難しくないはずなんですが、

  • Linux の有効化
  • 日本語関連パッケージのインストール
  • Visual Studio Code のインストール

が一箇所にまとまっている情報を見つけられらませんでした(探し方が悪いだけかもしれない)。
ということで備忘録代わりにここに書いておきます。
(よそのサイトを見ながらやっただけなのでオリジナリティーは無いです)

機種とかバージョンとかによっては違いはあるかもしれませんが、この記事の意味がなくなるような大きな違いはないと信じています。

続きを読む

「言語系サービスの統合ポータル Language Studio で Microsoft AI を再確認」セッションをMicrosoft Developer Night で担当しました (2022年2月3日開催) #MSDevNight

2022年2月3日に開催された Microsoft Developer Night (https://msdevjp.connpass.com/event/233822/) で、

言語系サービスの統合ポータル Language Studio で Microsoft AI を再確認

というタイトルでお話ししました。

内容は長いタイトル通り、そのままですが Language Studio についてです。そして Cognitive Service for Language の話です。

セッション動画は公開予定とのことです。公開までしばらくお待ちください。

続きを読む

PythonとAI入門の解説資料とハンズオン資料を公開しました ( #OCA オープンキャンパス体験授業)

2021年11月14日(日) に OCA 大阪デザイン&ITテクノロジー専門学校 のオープンキャンパスで「AIプログラム体験」という体験授業を担当しました。

同校の許可をいただき、当日の資料(説明資料、ハンズオン資料)を公開します。

ハンズオン資料

https://github.com/seosoft/PythonAITraining


説明資料


プログラミング未経験の高校生を対象として想定したいること、体験授業ということで短時間で実施するものです。
お持ちのスキルによっては簡単すぎる内容かもしれませんが、Python が初めて、Cognitive Services が初めてという方には役に立つ部分もあると思います。

ぜひ活用してください。

続きを読む

Azure 仮想マシンで Arduino 開発をする方法(実際にはAzureに限らず&Arduinoに限らず)

久しぶりに IoT っぽい話です。(正しくは今回はマイコンボードの開発環境の話で IoT 成分はゼロです)

Arduino を USB 接続したものとは別のマシンで開発をするための手順です。

マイコンボードの対象は Arduino とか ESP32 とかの PC に USB 接続して開発を行うものです。
開発時に USB 接続しなくていいものは今回の話には該当しません。
またマシンは仮想マシンでも物理マシンでも変わらないはずですが、以下の説明では “仮想マシン” と呼びます。

ポイントは

  • 接続元(手元の PC) のグループポリシーで [RemoveFX USB デバイスの~] を有効化
  • リモートデスクトップ接続の [ローカルリソースとデバイス] で Arduino の COM ポートを選択
  • 仮想マシンのグループポリシーで [COM ポートのリダイレクト を許可しない] を無効化、および [サポートされている プラグアンドプレイ デバイスのリダイレクト を許可しない] を無効化

です。

普通は手元の PC に接続して、そこで開発すると思うので常に必要な Tips というわけではありません。
こういうこともできるよという参考として。

続きを読む

#BotFramework #Composer の対話ログ分析用の #PowerBI テンプレートがありました

Bot Framework Composer の対話ログは この記事 の設定で非常に簡単に管理できます。
しかし、きちんと分析しようとするとなかなか面倒な感じがします。「一度作ればいいだけでしょ?」という意見はあると思いますが。

対話ログ分析用の Power BI テンプレートがありました。知りませんでした・・・。
テンプレの UI は英語ですが、必要に応じてキャプションを変更すればいいでしょう。

https://microsoft.github.io/botframework-solutions/solution-accelerators/tutorials/view-analytics/3-open-template/

ユニークユーザーを理解しているし、一連の対話で何往復したかも表示されます。
ユーザー入力に対するボットの応答を横に並べて表示してくれるので、やり取りも分かりやすい。

続きを読む

#BotFramework #Composer で “Send an HTTP request” で QnA Maker の応答をカスタマイズする手順

前の投稿 で書いたように、Bot Framework Composer では QnA Maker との連携方法が 3通りあります。

簡単なのが、

  • Knowledgebase 管理 + QnA Intent Recognizedトリガー
  • Connect to QnA Knowledgebase

の二つのやり方。

それらと比べると少しだけテクニックが必要なのが、”Send an HTTP request” アクションを使って QnA Maker からの応答を処理する方法です。
要は REST 呼び出しの応答を仕様にあわせてフォーマットしましょうというものです。

今回は、Send an HTTP request で QnA Maker から回答を受け取るための手順を紹介します。

続きを読む

#BotFramework #Composer で #QnAMaker 連携 3通りを整理

Bot Framework Composer を使うと Q&A Bot / FAQ Bot が簡単に作れます。多分ご存じの通り。

QnA Maker との連携方法は 3通りあって、それぞれ特徴があります。
今回は 3通りの連携方法の紹介とそれぞれのメリット・デメリットがあります。(ただし私見を含みます)

  • Knowledgebase 管理 + QnA Intent Recognizedトリガー
  • Connect to QnA Knowledgebase
  • Send an HTTP request (詳しくは 次回)

手順が一番簡単なのがトリガー、一番柔軟性があるのが Send http request です。
順番に見ていきます。

続きを読む

#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] を使います。

続きを読む